DISTRIBUCIÓN DE POISSON

Teoría de Probabilidades1

1 Universidad

Origen

Siméon Denis Poisson la presentó en 1837 como una aproximación de la binomial cuando hay muchos intentos y cada uno tiene una probabilidad muy pequeña (eventos raros).

En 1898, Ladislaus von Bortkiewicz la popularizó con la “ley de los pequeños números”: contó los soldados prusianos muertos por coces de caballo, año por año, y los datos se ajustaron perfectamente a Poisson.

Idea central: cuenta cuántas veces ocurre un evento en un intervalo (de tiempo, espacio, etc.).

Principales características

  • Variable: \(X\) = número de eventos en un intervalo; \(x = 0, 1, 2, \dots\)
  • Parámetro: \(\lambda > 0\), el promedio de eventos por intervalo.
  • Función de probabilidad: \[f(x) = \dfrac{e^{-\lambda}\lambda^{x}}{x!}\]
  • Función acumulada: \[F(x) = P(X \le x) = \sum_{k=0}^{x} \dfrac{e^{-\lambda}\lambda^{k}}{k!}\]
  • Esperanza: \(E(X) = \lambda\) | Varianza: \(V(X) = \lambda\) (desviación \(\sqrt{\lambda}\))
  • Supuestos: eventos independientes, \(\lambda\) constante, ocurren de uno en uno.
  • Propiedades: media \(=\) varianza; suma de Poisson independientes \(\sim \text{Poisson}(\lambda_1 + \lambda_2)\); \(\text{Bin}(n,p) \approx \text{Poisson}(np)\) cuando \(n\) grande y \(p\) pequeña.
  • Forma: asimétrica a la derecha; casi simétrica cuando \(\lambda\) crece.

Gráfico: \(f(x)\) según \(\lambda\)

df <- data.frame(
  x = rep(0:15, 3),
  lbl = factor(rep(c("λ = 1","λ = 3","λ = 8"),
    each = 16), levels = c("λ = 1","λ = 3","λ = 8"))
)
df$prob <- dpois(df$x, lambda = c(
  rep(1,16), rep(3,16), rep(8,16)))

ggplot(df, aes(x, prob, fill = lbl)) +
  geom_col(show.legend = FALSE, width = 0.7,
           color = "white", linewidth = 0.15) +
  facet_wrap(~lbl, ncol = 3) +
  scale_fill_manual(values = c(
    "#2980b9","#1a5276","#003366")) +
  labs(x = "x", y = "f(x)") +
  theme_minimal(base_size = 8) +
  theme(strip.background = element_rect(
    fill = "#eaf2f8", color = "#1a5276"),
    strip.text = element_text(
      face = "bold", color = "#003366", size = 8),
    panel.grid.minor = element_blank())

Aplicaciones

  • Seguros: reclamos o siniestros por día.
  • Banca: incumplimientos de crédito o fraudes por mes.
  • Servicio al cliente: llamadas por hora en un call center.
  • Salud: casos de una enfermedad por semana.
  • Tráfico/telecom: vehículos por minuto, mensajes por segundo.
  • Calidad: defectos por unidad producida.
  • Ciencias: desintegraciones radiactivas por segundo.

Ejemplo: reclamos diarios

Una aseguradora quiere saber cuántos reclamos llegan al día para planear su equipo de atención.

Modelo: \(X \sim \text{Poisson}(\lambda = 3)\). Supuestos: reclamos independientes a ritmo constante. (Datos ilustrativos).

Tres preguntas:

  1. \(P(X=0) = e^{-3} \approx 0.0498\) (~5% de los días).
  2. \(P(X \ge 6) = 1 - P(X \le 5) \approx 0.0839\) (~8.4%).
  3. Percentil 95: \(F(5) \approx 0.916\), \(F(6) \approx 0.967 \Rightarrow\) 6 reclamos.

Código R

lambda <- 3
# Esperanza y varianza
cat("E(X) =", lambda, "| V(X) =", lambda,
    "| σ =", round(sqrt(lambda), 3), "\n")
#> E(X) = 3 | V(X) = 3 | σ = 1.732
# Pregunta 1
cat("P(X=0):", round(dpois(0, lambda), 4), "\n")
#> P(X=0): 0.0498
# Pregunta 2
cat("P(X>=6):", round(1-ppois(5, lambda), 4), "\n")
#> P(X>=6): 0.0839
# Pregunta 3
cat("Percentil 95:", qpois(0.95, lambda), "\n")
#> Percentil 95: 6
# Probabilidad de 10 o más reclamos
cat("P(X>=10):", round(1-ppois(9, lambda), 5), "\n")
#> P(X>=10): 0.0011
# Gráfico con x>=6 resaltado
df2 <- data.frame(x = 0:12,
  prob = dpois(0:12, lambda))
df2$zona <- ifelse(df2$x >= 6,
  "x ≥ 6 (8.4%)", "x ≤ 5")

ggplot(df2, aes(factor(x), prob, fill = zona)) +
  geom_col(width = 0.7, color = "white",
           linewidth = 0.15) +
  scale_fill_manual(values = c(
    "x ≤ 5" = "#2980b9",
    "x ≥ 6 (8.4%)" = "#c0392b")) +
  labs(x = "Reclamos (x)", y = "P(X = x)",
       fill = NULL) +
  theme_minimal(base_size = 8) +
  theme(legend.position = "top",
    legend.text = element_text(size = 7))

Limitación

Con \(\lambda = 3\), un día con \(\ge 10\) reclamos tiene \(P \approx 0.0011\) (~1 día cada 900). Pero una tormenta de granizo puede generar ese número de golpe: los reclamos dejan de ser independientes y \(\lambda\) deja de ser constante.

Referencias

  • Poisson, S. D. (1837). Recherches sur la probabilité des jugements. Bachelier.
  • von Bortkiewicz, L. (1898). Das Gesetz der kleinen Zahlen. Teubner.
  • Walpole, R. et al. (2012). Probabilidad y estadística para ingeniería y ciencias (9.ª ed.). Pearson.
  • Klugman, S. A. et al. (2019). Loss Models: From Data to Decisions (5.ª ed.). Wiley.
  • Recurso 33 del curso: https://dgonxalex80.github.io/curso013/recurso33-discretas.html