# Colores
c31 <- "#2C7FB8" # color principal
c32 <- "#BDBDBD" # color secundario
# Gráfica de f(x) con el estilo del curso: puntos pch = 19, las = 1 y grid()
grafica_fx <- function(x, fx, titulo = "", xlab = "x", resaltar = x) {
col <- ifelse(x %in% resaltar, c31, c32)
plot(x, fx, type = "h", lwd = 2, col = col, las = 1,
xlab = xlab, ylab = "f(x)", main = titulo,
ylim = c(0, max(fx) * 1.1))
points(x, fx, pch = 19, col = col)
grid()
}
# Tabla de resultados
tabla <- function(nombres, valores) {
# valores muy pequeños se muestran en notación científica para que no queden en 0
valor <- ifelse(valores > 0 & valores < 1e-4,
format(valores, digits = 3, scientific = TRUE),
format(round(valores, 4), nsmall = 4))
knitr::kable(data.frame(Probabilidad = nombres, Valor = valor), align = c("l", "c"))
}\[X \sim \text{Binomial}(n = 10,\ p = 0.5)\] \[f(x) = \binom{n}{x} p^x (1-p)^{n-x}, \qquad x = 0, 1, \dots, 10\]
Función de distribución asociada a \(X\)
x <- 0:10
fx <- dbinom(x, size = 10, prob = 0.5)
Fx <- pbinom(x, size = 10, prob = 0.5)
knitr::kable(data.frame(x = x, fx = round(fx, 4), Fx = round(Fx, 4)), align = "c")| x | fx | Fx |
|---|---|---|
| 0 | 0.0010 | 0.0010 |
| 1 | 0.0098 | 0.0107 |
| 2 | 0.0439 | 0.0547 |
| 3 | 0.1172 | 0.1719 |
| 4 | 0.2051 | 0.3770 |
| 5 | 0.2461 | 0.6230 |
| 6 | 0.2051 | 0.8281 |
| 7 | 0.1172 | 0.9453 |
| 8 | 0.0439 | 0.9893 |
| 9 | 0.0098 | 0.9990 |
| 10 | 0.0010 | 1.0000 |
Probabilidades
p1a <- dbinom(5, size = 10, prob = 0.5) # P(X = 5)
p1b <- pbinom(2, size = 10, prob = 0.5) # P(X <= 2)
p1c <- pbinom(4, size = 10, prob = 0.5) - pbinom(2, size = 10, prob = 0.5) # P(3 <= X < 5)
p1d <- pbinom(7, size = 10, prob = 0.5, lower.tail = FALSE) # P(X >= 8)
tabla(c("P(X = 5)", "P(X <= 2)", "P(3 <= X < 5)", "P(X >= 8)"), c(p1a, p1b, p1c, p1d))| Probabilidad | Valor |
|---|---|
| P(X = 5) | 0.2461 |
| P(X <= 2) | 0.0547 |
| P(3 <= X < 5) | 0.3223 |
| P(X >= 8) | 0.0547 |
Gráfica de \(f_X(x)\)
\[X \sim \text{Geométrica}(p = 0.05)\] \[X = \text{fracasos antes del primer éxito}, \qquad x = 0, 1, 2, \dots\]
p2a <- dgeom(1, prob = 0.05) # P(X = 1)
p2b <- pgeom(2, prob = 0.05) # P(X <= 2)
p2c <- dgeom(8, prob = 0.05) # P(X = 8)
p2d <- pgeom(1, prob = 0.05, lower.tail = FALSE) # P(X >= 2)
tabla(c("P(X = 1)", "P(X <= 2)", "P(X = 8)", "P(X >= 2)"), c(p2a, p2b, p2c, p2d))| Probabilidad | Valor |
|---|---|
| P(X = 1) | 0.0475 |
| P(X <= 2) | 0.1426 |
| P(X = 8) | 0.0332 |
| P(X >= 2) | 0.9025 |
x <- 0:60
grafica_fx(x, dgeom(x, prob = 0.05), titulo = "Geométrica(p = 0.05)",
xlab = "Número de fracasos")\[X \sim \text{Hipergeométrica}(N = 100,\ n = 4,\ K = 20)\] \[m = K = 20, \qquad n = N - K = 80, \qquad k = 4\]
m <- 20; n <- 80; k <- 4
p3a <- dhyper(1, m = m, n = n, k = k) # P(X = 1)
p3b <- dhyper(6, m = m, n = n, k = k) # P(X = 6)
p3c <- phyper(0, m = m, n = n, k = k, lower.tail = FALSE) # P(X >= 1)
p3d <- dhyper(4, m = m, n = n, k = k) # P(X = 4)
tabla(c("P(X = 1)", "P(X = 6)", "P(X >= 1)", "P(X = 4)"), c(p3a, p3b, p3c, p3d))| Probabilidad | Valor |
|---|---|
| P(X = 1) | 0.4191 |
| P(X = 6) | 0.0000 |
| P(X >= 1) | 0.5967 |
| P(X = 4) | 0.0012 |
\(P(X = 6) = 0\) porque la muestra solo tiene 4 elementos, así que \(X\) no puede pasar de 4.
x <- max(0, k - n):min(k, m) # rango posible de X
grafica_fx(x, dhyper(x, m = m, n = n, k = k), titulo = "Hipergeométrica(N = 100, n = 4, K = 20)")\[X \sim \text{Poisson}(\lambda = 4)\] \[f(x) = \frac{e^{-\lambda}\lambda^x}{x!}, \qquad x = 0, 1, 2, \dots\]
p4a <- dpois(0, lambda = 4) # P(X = 0)
p4b <- dpois(4, lambda = 4) # P(X = 4)
p4c <- ppois(1, lambda = 4, lower.tail = FALSE) # P(X >= 2)
p4d <- ppois(2, lambda = 4) # P(X <= 2)
tabla(c("P(X = 0)", "P(X = 4)", "P(X >= 2)", "P(X <= 2)"), c(p4a, p4b, p4c, p4d))| Probabilidad | Valor |
|---|---|
| P(X = 0) | 0.0183 |
| P(X = 4) | 0.1954 |
| P(X >= 2) | 0.9084 |
| P(X <= 2) | 0.2381 |
\[X \sim \text{BN}(r = 5,\ p = K/N = 20/100 = 0.20)\] \[X = \text{fracasos antes del quinto éxito}, \qquad x = 0, 1, 2, \dots\]
r <- 5; p <- 20 / 100
p5a <- dnbinom(0, size = r, prob = p) # P(X = 0)
p5b <- dnbinom(6, size = r, prob = p) # P(X = 6)
p5c <- pnbinom(9, size = r, prob = p, lower.tail = FALSE) # P(X >= 10)
p5d <- pnbinom(12, size = r, prob = p) # P(X <= 12)
EX <- r * (1 - p) / p # E[X]
VX <- r * (1 - p) / p^2 # V[X]
tabla(c("P(X = 0)", "P(X = 6)", "P(X >= 10)", "P(X <= 12)", "E[X]", "V[X]"),
c(p5a, p5b, p5c, p5d, EX, VX))| Probabilidad | Valor |
|---|---|
| P(X = 0) | 0.0003 |
| P(X = 6) | 0.0176 |
| P(X >= 10) | 0.8702 |
| P(X <= 12) | 0.2418 |
| E[X] | 20.0000 |
| V[X] | 100.0000 |
x <- 0:60
grafica_fx(x, dnbinom(x, size = r, prob = p), titulo = "Binomial negativa(size = 5, p = 0.20)",
xlab = "Número de fracasos")\(X\): número de llantas con imperfecciones. \[X \sim \text{Binomial}(n = 4,\ p = 0.05)\]
p6a <- dbinom(0, size = 4, prob = 0.05) # P(X = 0)
p6b <- dbinom(1, size = 4, prob = 0.05) # P(X = 1)
p6c <- pbinom(0, size = 4, prob = 0.05, lower.tail = FALSE) # P(X >= 1)
tabla(c("Ninguna con imperfecciones: P(X = 0)", "Solo una: P(X = 1)", "Una o más: P(X >= 1)"),
c(p6a, p6b, p6c))| Probabilidad | Valor |
|---|---|
| Ninguna con imperfecciones: P(X = 0) | 0.8145 |
| Solo una: P(X = 1) | 0.1715 |
| Una o más: P(X >= 1) | 0.1855 |
\(X\): número de clientes que llegan en un intervalo. \[X \sim \text{Poisson}(\lambda = 8t), \qquad t \text{ en horas}\] \[\lambda_{1h} = 8, \qquad \lambda_{2h} = 16, \qquad \lambda_{2.5h} = 20\]
p7a <- dpois(5, lambda = 8) # 1 hora (8 AM - 9 AM): P(X = 5)
p7b <- ppois(3, lambda = 8) # 1 hora (2:30 - 3:30 PM): P(X <= 3)
p7c <- dpois(2, lambda = 16) # 2 horas: P(X = 2)
E7 <- 8 * 2.5 # 2.5 horas (2 PM - 4:30 PM): E[X] = λ
tabla(c("Exactamente 5 en 1 h (\u03bb = 8)", "No más de 3 en 1 h (\u03bb = 8)",
"Exactamente 2 en 2 h (\u03bb = 16)", "E[X] en 2.5 h (\u03bb = 20)"),
c(p7a, p7b, p7c, E7))| Probabilidad | Valor |
|---|---|
| Exactamente 5 en 1 h (λ = 8) | 0.0916 |
| No más de 3 en 1 h (λ = 8) | 0.0424 |
| Exactamente 2 en 2 h (λ = 16) | 1.44e-05 |
| E[X] en 2.5 h (λ = 20) | 20.0000 |
\(X\): número de semillas que germinan. \[X \sim \text{Binomial}(n = 20,\ p = 0.90)\]
E8 <- 20 * 0.90 # E[X] = np
p8 <- pbinom(15, size = 20, prob = 0.90) # P(X <= 15)
tabla(c("Semillas esperadas E[X]", "P(X <= 15)"), c(E8, p8))| Probabilidad | Valor |
|---|---|
| Semillas esperadas E[X] | 18.0000 |
| P(X <= 15) | 0.0432 |
x <- 0:20
grafica_fx(x, dbinom(x, size = 20, prob = 0.90), titulo = "Binomial(n = 20, p = 0.90) - en azul X <= 15",
resaltar = 0:15)Se espera que germinen 18 semillas. Si germinan 15 o menos, sí hay razón para sospechar de la cifra del 90 %: esa probabilidad es apenas 0.0432, un resultado muy poco común si el 90 % fuera cierto.
\(X\): respuestas correctas, \(Y\): errores antes del primer acierto, \(W\): errores antes de 5 aciertos. \[p = \frac{1}{4} = 0.25\] \[X \sim \text{Binomial}(n = 100,\ p = 0.25), \qquad Y \sim \text{Geométrica}(p = 0.25), \qquad W \sim \text{BN}(r = 5,\ p = 0.25)\]
p9a <- pbinom(59, size = 100, prob = 0.25, lower.tail = FALSE) # Binomial: P(X >= 60)
p9b <- dgeom(9, prob = 0.25) # Geométrica: 9 errores antes del primer acierto
E9 <- 5 * (1 - 0.25) / 0.25 # Binomial negativa: E[X] errores antes de 5 aciertos
tabla(c("Aprobar: P(X >= 60), X ~ Bin(100, 0.25)",
"Primer acierto en la pregunta 10: P(Y = 9), Y ~ Geom(0.25)",
"Errores esperados antes de 5 aciertos: E[W], W ~ BN(5, 0.25)"),
c(p9a, p9b, E9))| Probabilidad | Valor |
|---|---|
| Aprobar: P(X >= 60), X ~ Bin(100, 0.25) | 1.33e-13 |
| Primer acierto en la pregunta 10: P(Y = 9), Y ~ Geom(0.25) | 0.0188 |
| Errores esperados antes de 5 aciertos: E[W], W ~ BN(5, 0.25) | 15.0000 |
Respondiendo al azar, la probabilidad de aprobar es prácticamente cero. Se esperan 15 respuestas erróneas antes de completar 5 correctas.
\(X\): número de microorganismos por muestra. \[X \sim \text{Poisson}(\lambda = 15)\]
p10a <- ppois(16, lambda = 15, lower.tail = FALSE) # P(X >= 17)
p10b <- ppois(18, lambda = 15) # P(X <= 18)
p10c <- dpois(2, lambda = 15) # P(X = 2)
tabla(c("Al menos 17: P(X >= 17)", "18 o menos: P(X <= 18)", "Exactamente 2: P(X = 2)"),
c(p10a, p10b, p10c))| Probabilidad | Valor |
|---|---|
| Al menos 17: P(X >= 17) | 0.3359 |
| 18 o menos: P(X <= 18) | 0.8195 |
| Exactamente 2: P(X = 2) | 3.44e-05 |
\(X\): número de pasajeros que llegan al vuelo. \[X \sim \text{Binomial}(n = 105,\ p = 0.90)\] \[\text{Todos tienen asiento si } X \leq 100\]
| Probabilidad | Valor |
|---|---|
| P(X <= 100) | 0.9833 |
La probabilidad de que todos los pasajeros que llegan tengan asiento es 0.9833.
\(X\): número de grietas en el pavimento. \[X \sim \text{Poisson}(\lambda), \qquad \lambda_{100\,m} = 1, \qquad \lambda_{500\,m} = 5\]
p12a <- dpois(8, lambda = 5) # 500 m: P(X = 8)
p12b <- dpois(0, lambda = 1) # 100 m: P(X = 0)
p12c <- ppois(1, lambda = 5) # 500 m: P(X < 2) = P(X <= 1)
tabla(c("Exactamente 8 en 500 m (\u03bb = 5)", "Ninguna en 100 m (\u03bb = 1)", "Menos de 2 en 500 m (\u03bb = 5)"),
c(p12a, p12b, p12c))| Probabilidad | Valor |
|---|---|
| Exactamente 8 en 500 m (λ = 5) | 0.0653 |
| Ninguna en 100 m (λ = 1) | 0.3679 |
| Menos de 2 en 500 m (λ = 5) | 0.0404 |
\(X\): número de sensores que superan la prueba. \[X \sim \text{Binomial}(n = 12,\ p = 0.92)\]
d1 <- dbinom(12, size = 12, prob = 0.92) # P(X = 12)
d2 <- pbinom(10, size = 12, prob = 0.92, lower.tail = FALSE) # P(X >= 11)
d3 <- pbinom(10, size = 12, prob = 0.92) # 2 o más fallan: P(X <= 10)
d4 <- pbinom(9, size = 12, prob = 0.92) # P(X < 10) = P(X <= 9)
decisiones <- data.frame(
Directriz = c("Reducir frecuencia de inspección", "Proceso de alta confiabilidad",
"Revisión preventiva de equipos", "Señal de alerta si X < 10"),
Probabilidad = c("P(X = 12)", "P(X >= 11)", "P(X <= 10)", "P(X <= 9)"),
Valor = round(c(d1, d2, d3, d4), 4),
Criterio = c("> 0.35", "> 0.70", "> 0.20", "< 0.10"),
Cumple = c(d1 > 0.35, d2 > 0.70, d3 > 0.20, d4 < 0.10)
)
decisiones$Cumple <- ifelse(decisiones$Cumple, "Sí", "No")
knitr::kable(decisiones, align = c("l", "c", "c", "c", "c"))| Directriz | Probabilidad | Valor | Criterio | Cumple |
|---|---|---|---|---|
| Reducir frecuencia de inspección | P(X = 12) | 0.3677 | > 0.35 | Sí |
| Proceso de alta confiabilidad | P(X >= 11) | 0.7513 | > 0.70 | Sí |
| Revisión preventiva de equipos | P(X <= 10) | 0.2487 | > 0.20 | Sí |
| Señal de alerta si X < 10 | P(X <= 9) | 0.0652 | < 0.10 | Sí |
x <- 0:12
grafica_fx(x, dbinom(x, size = 12, prob = 0.92), titulo = "Binomial(n = 12, p = 0.92)",
resaltar = 11:12)Decisiones de la empresa:
Manuel Alejandro Vargas Imuez
Teoría de Probabilidades
Pontificia Universidad Javeriana Cali