La función de masa es
\[f_X(x) = \binom{10}{x}(0.5)^x(0.5)^{10-x}, \quad x = 0,1,\dots,10\]
y la función de distribución es la suma acumulada:
\[F_X(x) = P(X \le x) = \sum_{k=0}^{\lfloor x \rfloor}\binom{10}{k}(0.5)^{10}\]
x <- 0:10
tabla1 <- data.frame(x = x,
f_x = dbinom(x, size = 10, prob = 0.5),
F_x = pbinom(x, size = 10, prob = 0.5))
tabla1
## x f_x F_x
## 1 0 0.000976562 0.000976563
## 2 1 0.009765625 0.010742188
## 3 2 0.043945312 0.054687500
## 4 3 0.117187500 0.171875000
## 5 4 0.205078125 0.376953125
## 6 5 0.246093750 0.623046875
## 7 6 0.205078125 0.828125000
## 8 7 0.117187500 0.945312500
## 9 8 0.043945312 0.989257812
## 10 9 0.009765625 0.999023438
## 11 10 0.000976562 1.000000000
Es una probabilidad puntual, así que se usa dbinom.
dbinom(5, size = 10, prob = 0.5)
## [1] 0.246094
Es acumulada, así que se usa pbinom.
pbinom(2, size = 10, prob = 0.5)
## [1] 0.0546875
Como \(X\) es entera, \(3 \le X < 5\) equivale a \(X \in \{3, 4\}\), es decir \(P(X \le 4) - P(X \le 2)\).
pbinom(4, 10, 0.5) - pbinom(2, 10, 0.5)
## [1] 0.322266
# Verificación sumando puntuales:
sum(dbinom(3:4, 10, 0.5))
## [1] 0.322266
1 - pbinom(7, 10, 0.5)
## [1] 0.0546875
pbinom(7, 10, 0.5, lower.tail = FALSE) # misma cosa
## [1] 0.0546875
grafica_pmf(0:10, dbinom(0:10, 10, 0.5), "Binomial (n = 10, p = 0.5)")
Análisis: con \(p = 0.5\) la distribución es simétrica alrededor de \(E[X] = np = 5\).
p <- 0.05
# a) P(X = 1)
dgeom(1, prob = p)
## [1] 0.0475
# b) P(X <= 2)
pgeom(2, prob = p)
## [1] 0.142625
# c) P(X = 8)
dgeom(8, prob = p)
## [1] 0.033171
# d) P(X >= 2) = 1 - P(X <= 1)
1 - pgeom(1, prob = p)
## [1] 0.9025
Verificación manual de a): \(0.95 \times 0.05 = 0.0475\).
La geométrica tiene cola larga, así que se grafica un rango amplio.
x <- 0:60
grafica_pmf(x, dgeom(x, p), "Geométrica (p = 0.05)", "firebrick")
Análisis: la masa más alta está en \(x = 0\) y decrece geométricamente. Con \(p\) pequeño, esperar el primer éxito toma en promedio \(E[X] = (1-p)/p = 19\) fracasos.
\[f_X(x) = \frac{\binom{20}{x}\binom{80}{4-x}}{\binom{100}{4}}\]
m <- 20; n_fr <- 80; k <- 4
# a) P(X = 1)
dhyper(1, m, n_fr, k)
## [1] 0.419053
# b) P(X = 6): imposible, la muestra es de solo 4 elementos
dhyper(6, m, n_fr, k)
## [1] 0
# c) P(X >= 1) = 1 - P(X = 0)
1 - dhyper(0, m, n_fr, k)
## [1] 0.596662
# d) P(X = 4)
dhyper(4, m, n_fr, k)
## [1] 0.00123558
Análisis de b): \(P(X = 6) = 0\) porque con una muestra de 4 elementos el máximo valor de \(X\) es 4.
x <- 0:4
grafica_pmf(x, dhyper(x, m, n_fr, k), "Hipergeométrica (N=100, K=20, n=4)", "darkgreen")
lambda <- 4
# a) P(X = 0)
dpois(0, lambda)
## [1] 0.0183156
# b) P(X = 4)
dpois(4, lambda)
## [1] 0.195367
# c) P(X >= 2) = 1 - P(X <= 1)
1 - ppois(1, lambda)
## [1] 0.908422
# d) P(X <= 2)
ppois(2, lambda)
## [1] 0.238103
x <- 0:15
grafica_pmf(x, dpois(x, lambda), "Poisson (lambda = 4)", "purple")
Análisis: en la Poisson \(E[X] = V[X] = \lambda = 4\), y los valores 3 y 4 comparten la moda.
Interpretación de los parámetros: el enunciado da
\(N = 100,\ K = 20,\ n = 5\). Se toma
la probabilidad de éxito \(p = K/N =
0.2\) y el número de éxitos buscados size \(= n = 5\).
\[E[X] = \frac{r(1-p)}{p}, \qquad V[X] = \frac{r(1-p)}{p^2}\]
r <- 5; p <- 20/100
# a) P(X = 0)
dnbinom(0, size = r, prob = p)
## [1] 0.00032
# b) P(X = 6)
dnbinom(6, size = r, prob = p)
## [1] 0.0176161
# c) P(X >= 10) = 1 - P(X <= 9)
1 - pnbinom(9, size = r, prob = p)
## [1] 0.87016
# d) P(X <= 12)
pnbinom(12, size = r, prob = p)
## [1] 0.241777
# e) Esperanza y varianza
EX <- r * (1 - p) / p
VX <- r * (1 - p) / p^2
c(E = EX, V = VX)
## E V
## 20 100
Comprobación por simulación:
set.seed(1)
sim <- rnbinom(100000, size = r, prob = p)
c(media = mean(sim), varianza = var(sim))
## media varianza
## 20.0099 100.5243
x <- 0:60
grafica_pmf(x, dnbinom(x, size = r, prob = p), "Binomial negativa (r = 5, p = 0.2)", "darkorange")
# a) Ninguna con imperfecciones: P(X = 0)
dbinom(0, 4, 0.05)
## [1] 0.814506
# b) Solo una: P(X = 1)
dbinom(1, 4, 0.05)
## [1] 0.171475
# c) Una o más: P(X >= 1) = 1 - P(X = 0)
1 - dbinom(0, 4, 0.05)
## [1] 0.185494
Análisis: hay cerca de 81.5% de probabilidad de que las 4 llantas estén perfectas, y 18.5% de que al menos una falle. Se usa el complemento porque es más corto que sumar \(P(1)+P(2)+P(3)+P(4)\).
# a) Exactamente 5 clientes en 1 hora (lambda = 8)
dpois(5, lambda = 8)
## [1] 0.0916037
# b) No más de 3 clientes en 1 hora: P(X <= 3)
ppois(3, lambda = 8)
## [1] 0.0423801
# c) Exactamente 2 clientes en 2 horas (lambda = 16)
dpois(2, lambda = 16)
## [1] 1.44045e-05
# d) Valor esperado entre 2:00 PM y 4:30 PM (2.5 horas)
8 * 2.5
## [1] 20
Análisis de d): \(E[X] = 8 \times 2.5 = 20\) clientes. En c) la probabilidad es muy baja porque con \(\lambda = 16\) lo normal es ver alrededor de 16 clientes, no 2.
# Número esperado de semillas que germinan
20 * 0.9
## [1] 18
# P(X <= 15)
pbinom(15, size = 20, prob = 0.9)
## [1] 0.0431745
Análisis: se espera que germinen 18 semillas. Si la cifra del 90% fuera cierta, la probabilidad de observar 15 o menos es aproximadamente 0.043 (4.3%), menor que el 5%. Es un resultado poco probable bajo \(p = 0.9\), así que sí hay razón para sospechar de la cifra del 90%.
# a) Aprobar: P(X >= 60) con X ~ Bin(100, 0.25)
1 - pbinom(59, size = 100, prob = 0.25)
## [1] 1.32672e-13
pbinom(59, 100, 0.25, lower.tail = FALSE)
## [1] 1.32683e-13
# b) La primera correcta en la pregunta 10:
# 9 fracasos antes del primer éxito -> dgeom(9, 0.25)
dgeom(9, prob = 0.25)
## [1] 0.0187712
# c) Número esperado de respuestas erróneas hasta tener 5 correctas
# Binomial negativa: E = r(1-p)/p
5 * (1 - 0.25) / 0.25
## [1] 15
Análisis:
dgeom(9, ...).lambda <- 15
# a) Al menos 17: P(X >= 17) = 1 - P(X <= 16)
1 - ppois(16, lambda)
## [1] 0.335877
# b) 18 o menos: P(X <= 18)
ppois(18, lambda)
## [1] 0.819472
# c) Exactamente 2: P(X = 2)
dpois(2, lambda)
## [1] 3.4414e-05
Análisis: como el promedio es 15, observar solo 2 microorganismos es extremadamente improbable (del orden de \(3.4 \times 10^{-5}\)).
Se venden 105 tiquetes y cada persona llega con probabilidad 0.90. Sea \(X\) = personas que llegan, \(X \sim Bin(105,\ 0.9)\). Todos los que lleguen tienen asiento si \(X \le 100\).
pbinom(100, size = 105, prob = 0.9)
## [1] 0.983284
Análisis: la probabilidad es cercana a 98.3%, es decir, solo en ~1.7% de los vuelos habría personas sin silla. Aun así, el número esperado de llegadas es \(105 \times 0.9 = 94.5\).
Se escala \(\lambda\) según la longitud: \(\lambda = 1\) por 100 m, entonces \(\lambda = 5\) por 500 m.
# a) Exactamente 8 grietas en 500 m (lambda = 5)
dpois(8, lambda = 5)
## [1] 0.065278
# b) Ninguna grieta en 100 m (lambda = 1)
dpois(0, lambda = 1)
## [1] 0.367879
# c) Menos de 2 grietas en 500 m: P(X <= 1)
ppois(1, lambda = 5)
## [1] 0.0404277
Cada sensor es un ensayo independiente con dos resultados (aprueba / no aprueba), con probabilidad constante de éxito. Sea \(X\) = sensores que aprueban entre los 12 seleccionados:
\[X \sim Bin(n = 12,\ p = 0.92)\]
n <- 12; p <- 0.92
# Regla 1: P(X = 12) > 0.35 -> reducir frecuencia de inspecciones
r1 <- dbinom(12, n, p)
# Regla 2: P(X >= 11) > 0.70 -> proceso de alta confiabilidad
r2 <- 1 - pbinom(10, n, p)
# Regla 3: P(2 o más que NO superan) = P(X <= 10) > 0.20 -> revisión preventiva
r3 <- pbinom(10, n, p)
# Regla 4: P(X < 10) = P(X <= 9) < 0.10 -> resultado de alerta
r4 <- pbinom(9, n, p)
decisiones <- data.frame(
Regla = c("1. P(X = 12)", "2. P(X >= 11)", "3. P(X <= 10)", "4. P(X <= 9)"),
Probabilidad = round(c(r1, r2, r3, r4), 4),
Umbral = c("> 0.35", "> 0.70", "> 0.20", "< 0.10"),
Se_cumple = c(r1 > 0.35, r2 > 0.70, r3 > 0.20, r4 < 0.10),
Decision = c("Reducir frecuencia de inspecciones",
"Clasificar como alta confiabilidad",
"Revisión preventiva de equipos",
"Resultado = señal de alerta")
)
decisiones
## Regla Probabilidad Umbral Se_cumple
## 1 1. P(X = 12) 0.3677 > 0.35 TRUE
## 2 2. P(X >= 11) 0.7513 > 0.70 TRUE
## 3 3. P(X <= 10) 0.2487 > 0.20 TRUE
## 4 4. P(X <= 9) 0.0652 < 0.10 TRUE
## Decision
## 1 Reducir frecuencia de inspecciones
## 2 Clasificar como alta confiabilidad
## 3 Revisión preventiva de equipos
## 4 Resultado = señal de alerta
Análisis cualitativo: las reglas 1 y 3 parecen contradictorias, pero no lo son: las probabilidades 0.3677 y 0.2487 están cerca de sus umbrales, así que la decisión es sensible a pequeños cambios en \(p\). Conviene monitorear si \(p\) se mantiene en 0.92.
x <- 0:12
grafica_pmf(x, dbinom(x, n, p), "Binomial (n = 12, p = 0.92)", "steelblue")