La distribución de Poisson es una distribución de probabilidad discreta que expresa la probabilidad de ocurrencia de un determinado número de evento durante un cierto intervalo de tiempo o espacio, a partir de una frecuencia de ocurrencia media conocida.
Fuente: Wikipedia
La variable aleatoria x representa la cantidad de eventos observados en el intervalo y se cumple que 0 <= x <= \(\infty\).
Su función de probabilidad es:
\[\LARGE P(x) = \frac {e^{-\lambda} \cdot {\lambda^x}} {x!}\]
En relación a esta distribución, R tiene 4 funciones:
Se pueden generar números aleatorios que provengan de una distribución Poisson con parámetros específicos.
CASO A. Calculemos 3 lotes de 10 valores aleatorios a partir de una distribución Poisson con una tasa promedio lambda = 96.7 eventos por hora.
La cantidad mínima de eventos que se pueden obtener es 0 y la cantidad máxima es teóricamente infinita.
## [1] 122 96 100 105 91 99 104 87 90 105
## [1] 91 82 95 86 94 89 97 86 104 96
## [1] 108 98 96 116 88 92 93 95 101 80
CASO B. Calculemos 3 lotes de 10 valores aleatorios a partir de una distribución Poisson con una tasa promedio lambda = 7.9 eventos por hora.
La cantidad mínima de eventos que se pueden obtener es 0 y la cantidad máxima es teóricamente infinita.
## [1] 12 6 8 8 8 5 9 7 12 5
## [1] 5 5 7 2 9 12 7 6 8 13
## [1] 7 12 7 6 6 4 13 6 7 13
Observemos que en cada caso se obtienen diferentes rangos de valores porque aunque ambos casos son distribuciones Poisson, sus parámetros son diferentes.
En un fenómeno Poisson, nos interesa calcular la probabilidad de obtener un cierto número de eventos, representado por la variable aleatoria x.
Por ejemplo, si analizamos un fenómeno Poisson con una tasa promedio lambda de 15.2 eventos por día, los resultados posibles son 0, 1, 2, 3, 4, 5, … hasta el infinito.
La función dpois calcula la probabilidad puntual para cada resultado, es decir, P(X = x).
## [1] 2.504516e-07 3.806865e-06 2.893217e-05 1.465897e-04 5.570408e-04
## [6] 1.693404e-03 4.289957e-03 9.315334e-03 2.989187e-02 4.543565e-02
## [11] 6.278380e-02 7.952615e-02 9.298442e-02
## [1] 2.504516e-07
## [1] 3.806865e-06
## [1] 2.893217e-05
## [1] 0.009315334
## [1] 0.01769914
## [1] 0.02989187
## [1] 0.09298442
## [1] 0.1009545
## [1] 0.1023006
## [1] 0
## [1] 0
## [1] 0
IMPORTANTE: Los últimos 3 resultados dan cero, pero esto es debido a la capacidad de almacenamiento numérico de la computadora, el resultado real es un número demasiado pequeño, pero no es cero. Recuerde que probabilidad de 0 significa que JAMÁS OCURRE.
La función ppois calcula la probabilidad acumulada para cada resultado, es decir, P(X <= x).
## [1] 2.504516e-07 4.057317e-06 3.298949e-05 1.795792e-04 7.366199e-04
## [6] 2.430024e-03 6.719981e-03 1.603532e-02 6.362632e-02 1.090620e-01
## [11] 1.718458e-01 2.513719e-01 3.443564e-01
## [1] 2.504516e-07
## [1] 4.057317e-06
## [1] 3.298949e-05
## [1] 0.01603532
## [1] 0.03373445
## [1] 0.06362632
## [1] 0.3443564
## [1] 0.4453109
## [1] 0.5476114
## [1] 1
## [1] 1
## [1] 1
IMPORTANTE: Los últimos 3 resultados dan uno, pero esto es debido a la capacidad de almacenamiento numérico de la computadora, el resultado real es un número demasiado cercano a uno, por lo que al redondearse, se obtiene uno, pero no lo es. Recuerde que probabilidad de 1 significa que SIEMPRE OCURRE.
Podemos construir un data frame para una representación tabular de estos cálculos de probabilidad.
x <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
tabla.poisson <- data.frame(x,
dpois(x, lambda = 15.2),
ppois(x, lambda = 15.2))
names(tabla.poisson) <- c('x', 'P(X = x)', 'P(X <= x)')
tabla.poisson| x | P(X = x) | P(X <= x) |
|---|---|---|
| 0 | 0.0000003 | 0.0000003 |
| 1 | 0.0000038 | 0.0000041 |
| 2 | 0.0000289 | 0.0000330 |
| 3 | 0.0001466 | 0.0001796 |
| 4 | 0.0005570 | 0.0007366 |
| 5 | 0.0016934 | 0.0024300 |
| 6 | 0.0042900 | 0.0067200 |
| 7 | 0.0093153 | 0.0160353 |
| 8 | 0.0176991 | 0.0337345 |
| 9 | 0.0298919 | 0.0636263 |
| 10 | 0.0454356 | 0.1090620 |
| 11 | 0.0627838 | 0.1718458 |
| 12 | 0.0795262 | 0.2513719 |
| 13 | 0.0929844 | 0.3443564 |
| 14 | 0.1009545 | 0.4453109 |
| 15 | 0.1023006 | 0.5476114 |
| 16 | 0.0971855 | 0.6447970 |
| 17 | 0.0868953 | 0.7316923 |
| 18 | 0.0733783 | 0.8050706 |
| 19 | 0.0587026 | 0.8637732 |
| 20 | 0.0446140 | 0.9083872 |
| 21 | 0.0322920 | 0.9406792 |
| 22 | 0.0223109 | 0.9629900 |
| 23 | 0.0147446 | 0.9777346 |
| 24 | 0.0093382 | 0.9870728 |
| 25 | 0.0056776 | 0.9927505 |
| 26 | 0.0033192 | 0.9960697 |
| 27 | 0.0018686 | 0.9979383 |
Un cuantil asociado a una probabilidad p, se define como el valor más pequeño posible de la variable x que cumpla que F(x) >= p, donde F(x) es la función de probabilidad acumulada.
La función qpois calcula el cuantil a partir de una probabilidad acumulada. Esta función es inversa a ppois.
Por ejemplo, si tenemos un fenómeno Poisson con tasa promedio lambda de 55 eventos por minuto, podemos calcular los cuantiles que corresponden a las probabilidades 0.25, 0.50, 0.75 con la siguiente instrucción:
## [1] 50 55 60
En una farmacia, se sabe que llega en promedio 20 clientes por hora.
Asumiendo que el fenómeno es Poisson y que el intervalo de referencia es una hora, la cantidad de clientes por hora define la tasa promedio:
Para responder, hay que calcular la probabilidad de que x sea 12 con la función dpois.
P(X = 12)
## [1] 0.01762517
Para responder, hay que calcular la probabilidad de que x sea 0 clientes o 1 cliente o 2 clientes hasta 12 clientes, para esto se suman las probabilidades puntuales de cada caso con la función dpois o se calcula la probabilidad acumulada hasta 12 con la función ppois.
P(X <= 12)
# OPCIóN 1. Sumando las probabilidades individuales --> P(X = 0) + ... + P(X = 12)
dpois(0, lambda = 20) + dpois(1, lambda = 20) + dpois(2, lambda = 20) +
dpois(3, lambda = 20) + dpois(4, lambda = 20) + dpois(5, lambda = 20) +
dpois(6, lambda = 20) + dpois(7, lambda = 20) + dpois(8, lambda = 20) +
dpois(9, lambda = 20) + dpois(10, lambda = 20) + dpois(11, lambda = 20) +
dpois(12, lambda = 20)## [1] 0.03901199
## [1] 0.03901199
Para responder, hay que calcular la probabilidad de que x sea 0 clientes o 1 cliente o 2 clientes hasta 11 clientes, para esto se suman las probabilidades puntuales de cada caso con la función dpois o se calcula la probabilidad acumulada hasta 11 con la función ppois.
P(X < 12)
[ Equivalente a P(X <= 11) ]
# OPCIóN 1. Sumando las probabilidades individuales --> P(X = 0) + ... + P(X = 11)
dpois(0, lambda = 20) + dpois(1, lambda = 20) + dpois(2, lambda = 20) +
dpois(3, lambda = 20) + dpois(4, lambda = 20) + dpois(5, lambda = 20) +
dpois(6, lambda = 20) + dpois(7, lambda = 20) + dpois(8, lambda = 20) +
dpois(9, lambda = 20) + dpois(10, lambda = 20) + dpois(11, lambda = 20)## [1] 0.02138682
## [1] 0.02138682
Para responder, usamos las propiedades de un evento y su complemento, por lo tanto, hay que restarle a 1 la probabilidad del caso complementario que sería la llegada de menos de 12 clientes.
P(X >= 12)
[ Equivalente a 1 - P(X < 12) ]
## [1] 0.9786132
Para responder, usamos las propiedades de un evento y su complemento, por lo tanto, hay que restarle a 1 la probabilidad del caso complementario que sería la llegada de máximo 12 clientes.
P(X > 12)
[ Equivalente a 1 - P(X <= 12) ]
## [1] 0.960988
IMPORTANTE. El valor de lambda debe ser consistente con el intervalo analizado, es decir, en el ejemplo anterior, si la pregunta fuera:
Las siguientes son las funciones que es recomendable revisar la documentación para ir entendiendo que hace cada función y que opciones tiene.
rpoisdpoisppoisqpois
Dr. José Luis Barrera Canto
Profesor Investigador
División de Ingeniería y Ciencias Exactas
Universidad Anáhuac Mayab