Todas las respuestas usan funciones de R base (dbinom,
pbinom, dgeom, dhyper,
dpois, dnbinom, etc.).
\(X \sim \text{binom}(n = 10,\ p = 0.5)\)
n <- 10; p <- 0.5
# Función de distribución F(x) = P(X <= x)
x1 <- 0:10
tabla1 <- data.frame(x = x1,
f_x = round(dbinom(x1, n, p), 6),
F_x = round(pbinom(x1, n, p), 6))
knitr::kable(tabla1, caption = "Función de masa f(x) y función de distribución F(x)")
| x | f_x | F_x |
|---|---|---|
| 0 | 0.000977 | 0.000977 |
| 1 | 0.009766 | 0.010742 |
| 2 | 0.043945 | 0.054687 |
| 3 | 0.117188 | 0.171875 |
| 4 | 0.205078 | 0.376953 |
| 5 | 0.246094 | 0.623047 |
| 6 | 0.205078 | 0.828125 |
| 7 | 0.117188 | 0.945312 |
| 8 | 0.043945 | 0.989258 |
| 9 | 0.009766 | 0.999023 |
| 10 | 0.000977 | 1.000000 |
mostrar("P(X = 5)", dbinom(5, n, p))
## P(X = 5) 0.246094
mostrar("P(X <= 2)", pbinom(2, n, p))
## P(X <= 2) 0.054687
mostrar("P(3 <= X < 5) = P(3 <= X <= 4)", sum(dbinom(3:4, n, p)))
## P(3 <= X < 5) = P(3 <= X <= 4) 0.322266
mostrar("P(X >= 8)", 1 - pbinom(7, n, p))
## P(X >= 8) 0.054688
grafica_fmp(x1, dbinom(x1, n, p), "Problema 1: f(x) Binomial(n = 10, p = 0.5)")
plot(stepfun(x1[-1], pbinom(x1, n, p)),
main = "Problema 1: F(x) Binomial(n = 10, p = 0.5)",
xlab = "x", ylab = "F(x)", verticals = FALSE, pch = 16)
\(X \sim \text{geom}(p = 0.05)\). Se usa la convención de R: \(X\) es el número de fracasos antes del primer éxito (\(x = 0, 1, 2, \dots\)).
p <- 0.05
mostrar("P(X = 1)", dgeom(1, p))
## P(X = 1) 0.047500
mostrar("P(X <= 2)", pgeom(2, p))
## P(X <= 2) 0.142625
mostrar("P(X = 8)", dgeom(8, p))
## P(X = 8) 0.033171
mostrar("P(X >= 2)", 1 - pgeom(1, p))
## P(X >= 2) 0.902500
x2 <- 0:60
grafica_fmp(x2, dgeom(x2, p), "Problema 2: f(x) Geométrica(p = 0.05)")
\(X \sim \text{hyper}(N = 100,\ n = 4,\ K =
20)\). En R:
dhyper(x, m = K, n = N - K, k = tamaño de la muestra).
N <- 100; K <- 20; ntam <- 4
m <- K; nf <- N - K
mostrar("P(X = 1)", dhyper(1, m, nf, ntam))
## P(X = 1) 0.419053
mostrar("P(X = 6) (imposible: la muestra es de 4)", dhyper(6, m, nf, ntam))
## P(X = 6) (imposible: la muestra es de 4) 0.000000
mostrar("P(X >= 1)", 1 - phyper(0, m, nf, ntam))
## P(X >= 1) 0.596662
mostrar("P(X = 4)", dhyper(4, m, nf, ntam))
## P(X = 4) 0.001236
x3 <- 0:4
grafica_fmp(x3, dhyper(x3, m, nf, ntam),
"Problema 3: f(x) Hipergeométrica(N = 100, n = 4, K = 20)")
\(X \sim \text{pois}(\lambda = 4)\)
lambda <- 4
mostrar("P(X = 0)", dpois(0, lambda))
## P(X = 0) 0.018316
mostrar("P(X = 4)", dpois(4, lambda))
## P(X = 4) 0.195367
mostrar("P(X >= 2)", 1 - ppois(1, lambda))
## P(X >= 2) 0.908422
mostrar("P(X <= 2)", ppois(2, lambda))
## P(X <= 2) 0.238103
x4 <- 0:15
grafica_fmp(x4, dpois(x4, lambda), "Problema 4: f(x) Poisson(lambda = 4)")
Binomial negativa con \(N = 100\),
\(K = 20\), \(n = 5\). Se toma \(p = K/N = 0.2\) y size \(= 5\) éxitos. En R, \(X\) es el número de fracasos antes del
éxito número size:
\[E[X] = \frac{r(1-p)}{p}, \qquad V[X] = \frac{r(1-p)}{p^2}\]
N <- 100; K <- 20; r <- 5
p <- K / N
mu <- r * (1 - p) / p
mostrar("P(X = 0)", dnbinom(0, size = r, prob = p))
## P(X = 0) 0.000320
mostrar("P(X = 6)", dnbinom(6, size = r, prob = p))
## P(X = 6) 0.017616
mostrar("P(X >= 10)", 1 - pnbinom(9, size = r, prob = p))
## P(X >= 10) 0.870160
mostrar("P(X <= 12)", pnbinom(12, size = r, prob = p))
## P(X <= 12) 0.241777
EX <- r * (1 - p) / p
VX <- r * (1 - p) / p^2
cat(sprintf("E[X] = %.4f\nV[X] = %.4f\n", EX, VX))
## E[X] = 20.0000
## V[X] = 100.0000
# Verificación: la parametrización con mu da el mismo resultado
all.equal(dnbinom(6, size = r, mu = mu), dnbinom(6, size = r, prob = p))
## [1] TRUE
x5 <- 0:80
grafica_fmp(x5, dnbinom(x5, size = r, prob = p),
"Problema 5: f(x) Binomial negativa(size = 5, p = 0.2)")
\(X \sim \text{binom}(n = 4,\ p = 0.05)\)
n <- 4; p <- 0.05
mostrar("Ninguna con imperfecciones: P(X = 0)", dbinom(0, n, p))
## Ninguna con imperfecciones: P(X = 0) 0.814506
mostrar("Solo una con imperfecciones: P(X = 1)", dbinom(1, n, p))
## Solo una con imperfecciones: P(X = 1) 0.171475
mostrar("Una o más con imperfecciones: P(X >= 1)", 1 - pbinom(0, n, p))
## Una o más con imperfecciones: P(X >= 1) 0.185494
Llegadas de clientes: Poisson con 8 clientes por hora. Para un intervalo de \(t\) horas, \(\lambda = 8t\).
tasa <- 8
mostrar("a) P(X = 5) en 1 hora", dpois(5, tasa * 1))
## a) P(X = 5) en 1 hora 0.091604
mostrar("b) P(X <= 3) en 1 hora", ppois(3, tasa * 1))
## b) P(X <= 3) en 1 hora 0.042380
mostrar("c) P(X = 2) en 2 horas (lambda = 16)", dpois(2, tasa * 2))
## c) P(X = 2) en 2 horas (lambda = 16) 0.000014
cat(sprintf("%-58s %.4f\n", "d) E[X] de 2:00 PM a 4:30 PM (2.5 h)", tasa * 2.5))
## d) E[X] de 2:00 PM a 4:30 PM (2.5 h) 20.0000
\(X \sim \text{binom}(n = 20,\ p = 0.9)\)
n <- 20; p <- 0.9
cat(sprintf("%-58s %.4f\n", "Semillas esperadas que germinen: E[X] = n*p", n * p))
## Semillas esperadas que germinen: E[X] = n*p 18.0000
mostrar("P(X <= 15)", pbinom(15, n, p))
## P(X <= 15) 0.043174
Conclusión: si la tasa de germinación fuera realmente 90%, observar 15 o menos semillas germinadas tiene una probabilidad menor a 0.05. Por eso sí hay razón para sospechar de la cifra del 90%.
Cada pregunta se responde al azar con cuatro opciones, así que \(p = 0.25\).
p <- 0.25
mostrar("a) P(aprobar) = P(X >= 60), X ~ binom(100, 0.25)",
1 - pbinom(59, 100, p))
## a) P(aprobar) = P(X >= 60), X ~ binom(100, 0.25) 0.000000
# 10 preguntas hasta la primera correcta = 9 fracasos y luego un éxito
mostrar("b) P(10 preguntas hasta la primera correcta) = dgeom(9, p)",
dgeom(9, p))
## b) P(10 preguntas hasta la primera correcta) = dgeom(9, p) 0.018771
cat(sprintf("%-58s %.4f\n", "c) E[erróneas hasta 5 correctas] = 5(1-p)/p",
5 * (1 - p) / p))
## c) E[erróneas hasta 5 correctas] = 5(1-p)/p 15.0000
Nota: la primera viñeta del enunciado menciona a “Juan”, pero se interpreta como María.
Número de microorganismos: Poisson con \(\lambda = 15\).
lambda <- 15
mostrar("a) P(X >= 17)", 1 - ppois(16, lambda))
## a) P(X >= 17) 0.335877
mostrar("b) P(X <= 18)", ppois(18, lambda))
## b) P(X <= 18) 0.819472
mostrar("c) P(X = 2)", dpois(2, lambda))
## c) P(X = 2) 0.000034
Se venden 105 tiquetes y cada persona llega con probabilidad 0.90, así que \(X \sim \text{binom}(105,\ 0.90)\). Todos los que lleguen tienen asiento si \(X \le 100\).
mostrar("P(X <= 100)", pbinom(100, size = 105, prob = 0.90))
## P(X <= 100) 0.983284
Una grieta por cada 100 m en promedio, es decir, \(\lambda = 1\) por cada 100 m y \(\lambda = 5\) por cada 500 m.
mostrar("a) P(X = 8) en 500 m (lambda = 5)", dpois(8, 5))
## a) P(X = 8) en 500 m (lambda = 5) 0.065278
mostrar("b) P(X = 0) en 100 m (lambda = 1)", dpois(0, 1))
## b) P(X = 0) en 100 m (lambda = 1) 0.367879
mostrar("c) P(X < 2) = P(X <= 1) en 500 m (lambda = 5)", ppois(1, 5))
## c) P(X < 2) = P(X <= 1) en 500 m (lambda = 5) 0.040428
\(X\) = número de sensores que aprueban entre los 12 seleccionados. Con ensayos independientes y probabilidad constante de éxito, el modelo es \(X \sim \text{binom}(n = 12,\ p = 0.92)\).
n <- 12; p <- 0.92
p_todos <- dbinom(12, n, p) # P(X = 12)
p_al_menos11 <- 1 - pbinom(10, n, p) # P(X >= 11)
p_2_o_mas_fallan <- pbinom(10, n, p) # P(fallos >= 2) = P(X <= 10)
p_menos_de_10 <- pbinom(9, n, p) # P(X < 10) = P(X <= 9)
resumen <- data.frame(
Directriz = c("Los 12 aprueban: P(X = 12) > 0.35",
"Al menos 11 aprueban: P(X >= 11) > 0.70",
"2 o más no aprueban: P(X <= 10) > 0.20",
"Menos de 10 aprueban: P(X <= 9) < 0.10"),
Probabilidad = round(c(p_todos, p_al_menos11, p_2_o_mas_fallan, p_menos_de_10), 4),
Se_cumple = c(p_todos > 0.35, p_al_menos11 > 0.70,
p_2_o_mas_fallan > 0.20, p_menos_de_10 < 0.10),
Decision = c("Reducir la frecuencia de inspecciones",
"Clasificar el proceso como de alta confiabilidad",
"Realizar revisión preventiva de los equipos",
"Un resultado así sería señal de alerta: investigar el proceso")
)
knitr::kable(resumen, caption = "Evaluación de las directrices de la empresa")
| Directriz | Probabilidad | Se_cumple | Decision |
|---|---|---|---|
| Los 12 aprueban: P(X = 12) > 0.35 | 0.3677 | TRUE | Reducir la frecuencia de inspecciones |
| Al menos 11 aprueban: P(X >= 11) > 0.70 | 0.7513 | TRUE | Clasificar el proceso como de alta confiabilidad |
| 2 o más no aprueban: P(X <= 10) > 0.20 | 0.2487 | TRUE | Realizar revisión preventiva de los equipos |
| Menos de 10 aprueban: P(X <= 9) < 0.10 | 0.0652 | TRUE | Un resultado así sería señal de alerta: investigar el proceso |
Conclusión: las cuatro directrices se cumplen. La empresa debe reducir la frecuencia de inspecciones, clasificar el proceso como de alta confiabilidad y realizar la revisión preventiva de los equipos. Además, obtener menos de 10 sensores aprobados (probabilidad 0.0652) sería un evento raro que justificaría investigar las condiciones del proceso.