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 esta la función
source ("https://raw.githubusercontent.com/rpizarrog/Probabilidad-y-EstadIstica-VIRTUAL-DISTANCIA/main/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. [@lind2015].
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. [@lind2015].
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?
\(P(x > 5\))
a <- 0
b <- 15
altura <- 1 / (b -a)
altura
## [1] 0.06666667
base <- 10
area <- base * altura
area
## [1] 0.6666667
paste("La probabilida de esperar mas de 5 minutos es de ", round(area * 100, 2))
## [1] "La probabilida 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 probabilida de esperar mas de 5 minutos es de ", round(prob3 * 100, 2))
## [1] "La probabilida 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 probabilida de esperar mas de 5 minutos es de ", round(area * 100, 2))
## [1] "La probabilida de esperar mas de 5 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 probabilida de esperar mas de 5 minutos es de ", round(prob1 * 100, 2))
## [1] "La probabilida de esperar mas de 5 minutos es de 13.33"
COMBINACIONES DE DADOS
Se muestra mediante una tabla de distribución de resultados la probabilidad de las combinaciones de resultados de lanzar dos dados mediante permutación, la cual nos permite encontrar y ejemplificar los resultados, también se muestra la tabla con su respectiva grafica de cuál es el porciento de los pares que se pueden formar, el número más alto seria # 6 con 7 casos, con una probabilidad de 6 0.1667 y una frecuencia acumulada de 0.5834.
ENTREVISTA DE TRABAJO
También se muestra el resultado experimental de tres entrevistas de trabajo para tres estudiantes las cuales dan como resultado.
Para entender mejor el caso podemos decir que:
“Una variable aleatoria es discreta cuando su campo de variación (dominio de definición) está constituido por un conjunto finito o infinito numerable de valores posibles. Cada suceso de W se corresponde con un valor”.
“Se dice que una variable aleatoria X es continua si su conjunto de posibles valores es todo un intervalo (finito o infinito) de números reales”.
La probabilidad de que le ofrezcan trabajo a dos estudiantes es de 0.375 y de que le ofrezcan trabajo a dos o más es de 0.5.
ESPERA DE AUTOBUS
El ejercicio es de cuanto tiempo tiene que esperar una persona para tomar un autobús si este llega cada 15 minutos, mediante la función de round (área * 100, 2), se calculo y el resultado fue de 0.3333333.