Calcular probabilidades con variables aleatorias discretas y con variables aleatorias continuas con distribución uniforme
library(ggplot2)
library(dplyr)
library(gtools)
library(knitr)
library(cowplot) # Gráficas mismo renglones
options(scipen = 999) # Notación normal
dado <- c(1,2,3,4,5,6)
lanzar_dados <- data.frame(permutations(n=6, r = 2, v = dado, repeats.allowed = TRUE))
names(lanzar_dados) <- c("dado1", "dado2")
lanzar_dados <- cbind(lanzar_dados, suma = apply(X = lanzar_dados, MARGIN = 1, FUN = sum))
lanzar_dados
## dado1 dado2 suma
## 1 1 1 2
## 2 1 2 3
## 3 1 3 4
## 4 1 4 5
## 5 1 5 6
## 6 1 6 7
## 7 2 1 3
## 8 2 2 4
## 9 2 3 5
## 10 2 4 6
## 11 2 5 7
## 12 2 6 8
## 13 3 1 4
## 14 3 2 5
## 15 3 3 6
## 16 3 4 7
## 17 3 5 8
## 18 3 6 9
## 19 4 1 5
## 20 4 2 6
## 21 4 3 7
## 22 4 4 8
## 23 4 5 9
## 24 4 6 10
## 25 5 1 6
## 26 5 2 7
## 27 5 3 8
## 28 5 4 9
## 29 5 5 10
## 30 5 6 11
## 31 6 1 7
## 32 6 2 8
## 33 6 3 9
## 34 6 4 10
## 35 6 5 11
## 36 6 6 12
tabla <- lanzar_dados %>%
group_by(suma) %>%
summarise(frec = n())
tabla <- data.frame(tabla)
colnames(tabla) <- c('x', 'casos')
tabla
## x casos
## 1 2 1
## 2 3 2
## 3 4 3
## 4 5 4
## 5 6 5
## 6 7 6
## 7 8 5
## 8 9 4
## 9 10 3
## 10 11 2
## 11 12 1
n <- sum(tabla$casos)
tabla <- tabla %>%
mutate(f.prob = round(casos / n, 4))
tabla <- tabla %>%
mutate(f.acum = cumsum(f.prob))
tabla
## x casos f.prob f.acum
## 1 2 1 0.0278 0.0278
## 2 3 2 0.0556 0.0834
## 3 4 3 0.0833 0.1667
## 4 5 4 0.1111 0.2778
## 5 6 5 0.1389 0.4167
## 6 7 6 0.1667 0.5834
## 7 8 5 0.1389 0.7223
## 8 9 4 0.1111 0.8334
## 9 10 3 0.0833 0.9167
## 10 11 2 0.0556 0.9723
## 11 12 1 0.0278 1.0001
gfrecuencias <- ggplot(data = tabla) +
geom_col(aes(x = x, y = f.prob), fill= 'lightblue')
gfrecuencias
gacumulada <- ggplot(data = tabla) +
geom_line(aes(x = x, y = f.acum), col='blue') +
geom_point(aes(x = x, y = f.acum), col='red')
gacumulada
# Llamar la función o cargar el archivo en donde estpa la función
source ("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/Enero%20Junio%202022/funciones/funciones.para.distribuciones.r")
\(P(f(x=3))\)
La probabilidad cuando x sea igual a 3
f.prob.discr(datos = tabla, discreta = 3, tipo = 0)
## f.prob
## 1 0.0556
\(P(f(x=7))\)
La probabilidad cuando x sea igual a 7
f.prob.discr(datos = tabla, discreta = 7, tipo = 0)
## f.prob
## 1 0.1667
\(P(F(x \ge7))\)
La probabilidad cuando x sea mayor o igual a 7 \(1 - P(F(X=6)) = P(7) + P(8) + P(9) + P(10) + P(11) + P(12)\)
f.prob.discr(datos = tabla, discreta = 7, tipo = 4)
## f.acum
## 1 0.5833
\(P(F(x \le 5))\)
La probabilidad cuando x sea menor o igual a 5
\(P(F(X\le5)) = P(2) + P(3) + P(4) + P(5)\)
f.prob.discr(datos = tabla, discreta = 5, tipo = 3)
## f.acum
## 1 0.2778
\(P(F(x < 5))\)
La probabilidad cuando x sea menor a 5
\(P(F(X > 5)) = P(6) + P(7) + P(8) ... P(12)\)
f.prob.discr(datos = tabla, discreta = 5, tipo = 2)
## f.acum
## 1 0.7222
Tres estudiantes agendan entrevistas para un empleo de verano en el Brookwood Institute. En cada caso el resultado de la entrevista será una oferta de trabajo o ninguna oferta. Los resultados experimentales se definen en términos de los resultados de las tres entrevistas.
Enumere los resultados experimentales.
Defina una variable aleatoria que represente el número de ofertas de trabajo. ¿Es una variable aleatoria discreta o continua?
Dé el valor de la variable aleatoria que corresponde a cada uno de los resultados experimentales.
resultado <- c(1,0) # 1 Si le ofrecen, 0 No le ofrecen
S <- permutations(resultado, n = 2, r = 3, repeats.allowed = TRUE)
S <- data.frame(S)
colnames(S) <- c("of1", "of2", "of3")
S
## of1 of2 of3
## 1 0 0 0
## 2 0 0 1
## 3 0 1 0
## 4 0 1 1
## 5 1 0 0
## 6 1 0 1
## 7 1 1 0
## 8 1 1 1
Son ocho resultados experimentales que presenta el espacio muestral.
La variable aleatoria es \(x=0\) a ninguno se le ofrece empleo, \(x=1\) a uno de ellos se le ofrece empleo, \(x=2\) a dos de ellos se le ofrece empleo y \(x=3\) a los tres se les ofrece empleo.
Es una variable aleatoria discreta con valores en \(x\) de \(0\) a \(3\).
Sumando las ofertas
S <- S %>%
mutate(suma = of1 + of2 + of3)
S
## of1 of2 of3 suma
## 1 0 0 0 0
## 2 0 0 1 1
## 3 0 1 0 1
## 4 0 1 1 2
## 5 1 0 0 1
## 6 1 0 1 2
## 7 1 1 0 2
## 8 1 1 1 3
# El valor de n
n <- nrow(S)
Construir la tabla
tabla <- S %>%
group_by(suma) %>%
summarise(frec = n())
tabla <- data.frame(tabla)
colnames(tabla) <- c("x", "casos")
n <- sum(tabla$casos)
tabla <- tabla %>%
mutate(f.prob = round(casos / n, 4))
tabla <- tabla %>%
mutate(f.acum = cumsum(f.prob))
tabla
## x casos f.prob f.acum
## 1 0 1 0.125 0.125
## 2 1 3 0.375 0.500
## 3 2 3 0.375 0.875
## 4 3 1 0.125 1.000
gfrecuencias <- ggplot(data = tabla) +
geom_col(aes(x = x, y = f.prob), fill= 'lightblue')
gfrecuencias
gacumulada <- ggplot(data = tabla) +
geom_line(aes(x = x, y = f.acum), col='blue') +
geom_point(aes(x = x, y = f.acum), col='red')
gacumulada
¿Cuál es la probabilidad de que le ofrezcan trabajo a dos estudiantes? \(P(f(x = 2))\).
f.prob.discr(datos = tabla, discreta = 2, tipo = 0)
## f.prob
## 1 0.375
¿Cuál es la probabilidad de que le ofrezcan trabajo a dos o mas estudiantes? \[ P(x \ge 2) = P(2) + P(3) + P(4) \]
\[ P(x \ge 2) = 1 - F(x=1) \]
f.prob.discr(datos = tabla, discreta = 2, tipo = 4)
## f.acum
## 1 0.5
Un autobús para por cierta parada cada 15 minutos. ¿Cuál es la probabilidad de que una persona que llega en un momento dado tenga que esperar el autobús mas de cinco minutos?
Es la altura, es decir para cualquier valor desde 0 a 15 la densidad es la misma. \(0.0666 …\) ó \(\frac{1}{15}\) con estos valores mínimos y máximos de \(0, 15\) respectivamente.
Entonces la densidad para una distribución uniforme puede obtenerse mediante función dunif() o mediante la fórmula \(\frac{1}{b-a)}\) siempre y cuando se identifiquen y se tengan los valores del intervalo mínimo \(a\) y máximo \(b\).
dens <- dunif(x = 0:15, min = 0, max = 15)
dens
## [1] 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667
## [7] 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667
## [13] 0.06666667 0.06666667 0.06666667 0.06666667
\(P(x > 5\)
Para calcular la probabilidad puede hacerse calculando el área que representa el intervalo cuya base es desde 5 a 15 es decir, 10 y multiplicada por la altura o la densidad \(\frac{1}{15}\). O se puede encontrar mediante la función punif() de probabilidad de distribución uniforme.
a <- 0
b <- 15
altura <- 1 / (b -a)
altura
## [1] 0.06666667
base <- 10
area <- base * altura
area
## [1] 0.6666667
paste("La probabilidad de esperar mas de 5 minutos es de ", round(area * 100, 2), "%")
## [1] "La probabilidad de esperar mas de 5 minutos es de 66.67 %"
Calcular la probabilidad por medio de la función punif()
\[ P(x>5) \]
x = 5
prob1 <- punif(q = x, min = 0, max = 15)
prob1
## [1] 0.3333333
prob2 <- 1 - punif(q = x, min = 0, max = 15)
prob2
## [1] 0.6666667
prob3 <- punif(q = x, min = 0, max = 15, lower.tail = FALSE)
prob3
## [1] 0.6666667
paste("La probabilidad de esperar mas de 5 minutos es de ", round(prob3 * 100, 2), "%")
## [1] "La probabilidad de esperar mas de 5 minutos es de 66.67 %"
\(P(x < 2\))
¿Cuál es la probabilidad de que una persona espere un tiempo menor que 2 minutos?
a <- 0
b <- 15
altura <- 1 / (b -a)
altura
## [1] 0.06666667
base <- 2
area <- base * altura
area
## [1] 0.1333333
paste("La probabilidad de esperar menos de 2 minutos es de ", round(area * 100, 2), "%")
## [1] "La probabilidad de esperar menos de 2 minutos es de 13.33 %"
Calcular la probabilidad por medio de la función punif()
\[ P(x<=2) \]
x = 2
prob1 <- punif(q = x, min = 0, max = 15)
prob1
## [1] 0.1333333
prob2 <- 1 - punif(q = x, min = 0, max = 15)
prob2
## [1] 0.8666667
prob3 <- punif(q = x, min = 0, max = 15, lower.tail = FALSE)
prob3
## [1] 0.8666667
paste("La probabilidad de esperar menos de 2 minutosminutos es de ", round(prob1 * 100, 2), "%")
## [1] "La probabilidad de esperar menos de 2 minutosminutos es de 13.33 %"
En el primer ejercicio del caso, se desarrolla una tabla de distribución la cual nos arroja una variedad de datos que nos ayudaran más adelante, de igual manera se genera una tabla con las distintas probabilidades que se tienen, dichas probabilidades se muestran de una manera factible y comprensible. Nos muestran un par de elementos visuales, estos hacen que la información implementada en las tablas anteriores se visualice de una manera más completa y factible.
De igual forma, se implementan preguntas de probabilidad, las cuales nos dan una mejor vista de los distintos eventos que pueden ocurrir e inclusive de datos que llegan a ser difícil calcular.
En el segundo ejercicio, recurrimos a eventos que implementan un espacio muestral, de igual manera en este ejercicio se trabaja con resultados experimentales los cuales se enumeran y se crea con estos datos una tabla de probabilidad de los distintos casos.
En el ejercicio no solo se muestran estas tablas de probabilidad, sino que también nos muestra dos elementos visuales que nos ayudan a conocer y poder visualizar las frecuencias y el acumulado del ejercicio.
En el último ejercicio “Espera de autobús”, utilizamos las variables continuas y la distribución uniforme, ya que para calcular distintas probabilidades hacemos uso de estos valores y nos demuestran los eventos que se pueden realizar. Se implementan preguntas de descubrir valores como densidad y probabilidad, las cuales necesitamos de distintas funciones para poder resolver.
En dicho ejercicio, se emplean una variedad de funciones que nos ayudan de gran manera para poder resolver las distintas probabilidades que tenemos que contestar, de igual manera nos encontramos con fórmulas aplicables para la solución de eventos.