Distribución de Poisson

El objetivo es examinar las aplicaciones de la Distribución Poisson en casos simulados siguiendo los parámetros con los que el modelo teóricamente predice.

Introducción

La distribución Poisson expresa la probabilidad de ocurrencia de un determinado número de eventos discretos dentro de un intervalo fijo de tiempo; a partir de una frecuencia de ocurrencia media conocida.

Dentro de la estadística, tiene usos para la predicción de ocurrencia fenómenos naturales, en operaciones logísticas, empleando herramientas informáticas para la toma de decisiones, entre muchos otros.

La variable aleatoria \(X\) representa la cantidad de eventos observados y se cumple cuando \(0 <= X <= ∞\).

Probabilidad puntual

La función de masa de probabilidad \(f.m.p\) para una variable aleatoria \(X\sim Poisson(λ)\)

Donde:

\(X\) es una variable aleatoria discreta.

\(λ\) es la media o tasa esperada de ocurrencia de eventos en un intervalo fijo.

La función de probabilidad es: \[P(x) = \frac{e^{-\lambda} \cdot \lambda^x}{x!}\]

# dpois(k, lambda) = P[X = k]

Por ejemplo: Si \(X\sim P(2,15.2)\) se tiene \(P[X=2]\)

dpois(2, lambda = 15.2)
## [1] 2.893217e-05

Para \[P[X\leq x]\] Usamos la función ppois para probabilidad acumulada, o sumando las probabilidades puntuales. Por ejemplo \(P[X\leq 8]\)

ppois(8,lambda = 15.2)
## [1] 0.03373445
sum(dpois(0:8,lambda = 15.2))
## [1] 0.03373445

Se pueden obtener simultaneamente varias probabilidades. Por ejemplo \(P[X=3]\) y \(P[X=5]\).

x=c(3, 5)
dpois(x, lambda = 15.2)
## [1] 0.0001465897 0.0016934040

De forma similar se calculan los cuantiles con la función qpois y un lambda de 40 eventos por minuto

qpois(0.75, lambda= 40)
## [1] 44

Esto indica que \(P[Y \leq y]\approx 0.25, 0.50, 0.75\). También se pueden obtener varios \(\textit{cuantiles}\) como se indicó antes.

y=c(0.25, 0.50, 0.75)
qpois(y, lambda= 40)
## [1] 36 40 44

Para simular valores con la distribución y parámetros predeterminados se usa la función rpois. Por ejemplo, simulamos 20 y 1000 valores que siguen una distribución poisson con los parámetros predeterminados.

rpois(20, lambda=90.7)
##  [1] 111  84 103 101  96  95  99  93 102 101  93  86  87  81  91  81  88 100  93
## [20]  91
rpois(1000,lambda = 90.7)
##    [1]  95  92  87  95  92  93 102  89  85  92  83  85 106  91  97  83  77  96
##   [19]  94  81  76  95  81  98 107 106  85 100  88  93  92  97  97 109  98  72
##   [37]  83  86 100  80  82 100 112 105  88  83  91  91  77  81 104  94  94  96
##   [55]  70  88  89  84  94  87 105  81  99  77  94 110 103  87 104  87  86  90
##   [73]  98  93  94  90  92  82  93  91  81  88 100  90  95  87  92  81  86  89
##   [91]  85  92  77  91  81  91 106  97  95  98 104  97  88  95  94  89  96  92
##  [109]  86  95  91  87 101  96  69  92  89  90  72  83  86  91  97 102  77  96
##  [127]  93  94  86  84  87  95  87  80  93  90  82  85 107  94 109  94  86 100
##  [145]  93  89 109 116  94  84  87  79  97  88  71  83  78  82 107  89  91  87
##  [163]  78  91  84  87  81  79  90  83  92 101  98  88  87 106  81 106 103  96
##  [181]  97  91  84 103  91  88 106 108  94  92  96  76 102  92 102  94  93  71
##  [199]  83  93  84  81  98  98  86  83  95  77  85  81  98  96  88  93  83  94
##  [217]  90  91  96  96  97  98 114 105  95  81 101  92  94  87  95  89  78  87
##  [235]  83 105  81 102 103  94 102 116 100  98  88  92  91  95  98  99  72  86
##  [253] 108 103  97  80  81  85  93  88  97  90  97  94 108  98 106  82  88  83
##  [271]  80 103  88  98  99  97 115  94  96  81  97  89  82  88 100  90 112  86
##  [289]  73  91  96  86  96  76  77  83  90 105  97  87  89  80  93  90  87  93
##  [307]  90 107  75  88  84  72  97  76  88  98  89  98  87 101 102  89  76  84
##  [325]  88  86  84  91 104  81  90  85  92  90  99  91  86  94  90  88 108  94
##  [343]  78  93  72  87  88  94  95 109  97  70  79  92  97 102  80  85  86  89
##  [361] 103  83  85  71  84  93 101  88  79  96  98  72  83 112 106  88 103 103
##  [379]  77  82  95  82  87  97  86  99  95  70 103  89  97  82  98  93 104  86
##  [397] 116  89 102  93  96  82 101 101  83  74  94  80  82  84 106  84 108  99
##  [415]  92  93  90  99  88 109  85  84  85  71  90  78  78  84  82  78  89  90
##  [433]  97  72  91  84  94 100  99 108  90 110 125 105 101  91  90 101  92  87
##  [451] 101  77  88 112  83  99  91  86 102  76  92  90  91  99  88 101  86  80
##  [469]  95  77 107  93  91  98 114 107  88  90  87 107  90  92  84  92  87  91
##  [487]  85  94  75  99  77  87  94  79 114  78  96  89  92  82  70  72  89  83
##  [505] 100  98 108  87  88 114  93  85  93  74  84  80  97 102  73  91  97  89
##  [523] 103  89  97  88  82  91  80  81  87  76  75  77 111  98  85  89  76  86
##  [541] 107  81  77  92  87 100 100  97  90  91  89  73  80  79  96  95 103  80
##  [559]  82  85 104  88  78  94  93  89  98  89  87  82  90  69  83  95  91  92
##  [577]  97 104  88 101  93  61 102  91  96  86  89  92  86  90  85  83 100 100
##  [595] 101  82  99  92  91  88  82  83  84 105  98  87  90  97  91 103  91  96
##  [613]  81  95  80 106 100  96  88  74  78  84  94  79 110 103 100  83  85 109
##  [631]  96  79  70  96  94  94  97  81 103  89  95  77  89  98  89  82  77  95
##  [649]  90  83 110  97 106  90  82 103 116  85  91 111  94  72 108  81  92  80
##  [667]  89  93  90  94  91  98  79  81  74  87  73  91  83  91  75 110 102 109
##  [685]  86  88 100  96  98  90  99  81  92  98  83  91  75  77 108  78  87  74
##  [703]  83  95 108  75  99  96  89 110  95  85 102  84  78  89  81  93  97  99
##  [721]  87  88  87  87  95  80  96  96  90  95  90  87  88  81  91 117  79  98
##  [739]  91 102  82  96  92  95 100  84  95 100  78  77  92  90 102  86 103  96
##  [757]  79  76  90  91  87  89  86  95  84  95  76  97  96  85  96  86  95 102
##  [775]  93  90  90  92 104  88  80  82  80 105 101  87  91  92  75  93 110  95
##  [793]  84  88 113 103  92  88  89 105  91  88 106  96  84  95  76  85 100  89
##  [811]  88  81  88  83  88  80  88  80 100  69  85  95  89 101  90 100  79  79
##  [829]  98  97  89  69  92  82  77  87  86 100 106  94  85  96 107  96  96  90
##  [847]  99  87  90  96  88  77  88 109  81  87  86  81 102  90  92  97  88  90
##  [865] 101  85  99  93  86  83 105 101 104  73  81  87  97  93  75  98  87  88
##  [883]  99  78 103  91 103 103  81  91 103  96  87  80  88  84 102  94  83  94
##  [901]  87  95 110  83  94  87  77  82  77 101  92  94  86 106 105  82  95  83
##  [919]  92  91  88  76  81 102  80  96  77  87  90  90 107 118 104 100  86  90
##  [937]  92  94  88  79  94  79  83  92  92  93  97  83  83 116  96  80  87 104
##  [955]  82 103  83 112  83 107 110  89  92  88 109  92  92  92  93  78  74  99
##  [973]  80  93  89  69  94  85  69  97  74  95 103  96  96  84  83 121  88  99
##  [991]  76  94 100 100  91  85  96 114  99  84

Se puede representar la función de masa de probabilidad f.d.p \(X\sim Poisson(λ)\) fácilmente.

valores=0:30
plot(valores,dpois(valores,lambda = 15.2), type="h", xlab="x", ylab="P[X=x]", main="f.m.p. Poisson (λ = 15.2)")

Cuando se simula una muestra muy grande, se puede ver como las frecuencias relativas se aproximan a las probabilidades teóricas.

k=rpois(10000,lambda = 15.2)
frec.abs=table(k)
frec.abs
## k
##    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18 
##    3    5   17   33  107  175  315  433  640  792  923 1011 1025  944  871  724 
##   19   20   21   22   23   24   25   26   27   28   29   31   33   34 
##  601  430  339  216  167  104   65   27   15    9    6    1    1    1

Para ver las frecuencias relativas:

frec.relativa=prop.table(frec.abs)
frec.relativa
## k
##      3      4      5      6      7      8      9     10     11     12     13 
## 0.0003 0.0005 0.0017 0.0033 0.0107 0.0175 0.0315 0.0433 0.0640 0.0792 0.0923 
##     14     15     16     17     18     19     20     21     22     23     24 
## 0.1011 0.1025 0.0944 0.0871 0.0724 0.0601 0.0430 0.0339 0.0216 0.0167 0.0104 
##     25     26     27     28     29     31     33     34 
## 0.0065 0.0027 0.0015 0.0009 0.0006 0.0001 0.0001 0.0001

Comparemos las frecuencias relativas con las probabilidades teóricas.

df.prob=data.frame(k=0:30,f=dpois(0:30, lambda = 15.2))
df.prob
##     k            f
## 1   0 2.504516e-07
## 2   1 3.806865e-06
## 3   2 2.893217e-05
## 4   3 1.465897e-04
## 5   4 5.570408e-04
## 6   5 1.693404e-03
## 7   6 4.289957e-03
## 8   7 9.315334e-03
## 9   8 1.769914e-02
## 10  9 2.989187e-02
## 11 10 4.543565e-02
## 12 11 6.278380e-02
## 13 12 7.952615e-02
## 14 13 9.298442e-02
## 15 14 1.009545e-01
## 16 15 1.023006e-01
## 17 16 9.718555e-02
## 18 17 8.689531e-02
## 19 18 7.337826e-02
## 20 19 5.870261e-02
## 21 20 4.461399e-02
## 22 21 3.229203e-02
## 23 22 2.231086e-02
## 24 23 1.474457e-02
## 25 24 9.338225e-03
## 26 25 5.677641e-03
## 27 26 3.319236e-03
## 28 27 1.868607e-03
## 29 28 1.014387e-03
## 30 29 5.316785e-04
## 31 30 2.693838e-04
#dd=data.frame(df.prob,frec.relativa)#problemas con la dimensión en frec.relativa, además de no ser df.
frec.relativa=as.data.frame(frec.relativa)#convierte frec.relativa a df.
str(frec.relativa)#para comprobar que k es de tipo factor.
## 'data.frame':    30 obs. of  2 variables:
##  $ k   : Factor w/ 30 levels "3","4","5","6",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ Freq: num  0.0003 0.0005 0.0017 0.0033 0.0107 0.0175 0.0315 0.0433 0.064 0.0792 ...
frec.relativa$k=as.integer(as.character(frec.relativa$k))#convierte k a entero, previamente hay que transformarlo en caractér.
comparar=merge(frec.relativa,df.prob, by = "k",all = T)
comparar
##     k   Freq            f
## 1   0     NA 2.504516e-07
## 2   1     NA 3.806865e-06
## 3   2     NA 2.893217e-05
## 4   3 0.0003 1.465897e-04
## 5   4 0.0005 5.570408e-04
## 6   5 0.0017 1.693404e-03
## 7   6 0.0033 4.289957e-03
## 8   7 0.0107 9.315334e-03
## 9   8 0.0175 1.769914e-02
## 10  9 0.0315 2.989187e-02
## 11 10 0.0433 4.543565e-02
## 12 11 0.0640 6.278380e-02
## 13 12 0.0792 7.952615e-02
## 14 13 0.0923 9.298442e-02
## 15 14 0.1011 1.009545e-01
## 16 15 0.1025 1.023006e-01
## 17 16 0.0944 9.718555e-02
## 18 17 0.0871 8.689531e-02
## 19 18 0.0724 7.337826e-02
## 20 19 0.0601 5.870261e-02
## 21 20 0.0430 4.461399e-02
## 22 21 0.0339 3.229203e-02
## 23 22 0.0216 2.231086e-02
## 24 23 0.0167 1.474457e-02
## 25 24 0.0104 9.338225e-03
## 26 25 0.0065 5.677641e-03
## 27 26 0.0027 3.319236e-03
## 28 27 0.0015 1.868607e-03
## 29 28 0.0009 1.014387e-03
## 30 29 0.0006 5.316785e-04
## 31 30     NA 2.693838e-04
## 32 31 0.0001           NA
## 33 33 0.0001           NA
## 34 34 0.0001           NA
comparar[is.na(comparar)]<-0#Transforma los NA en 0.
comparar
##     k   Freq            f
## 1   0 0.0000 2.504516e-07
## 2   1 0.0000 3.806865e-06
## 3   2 0.0000 2.893217e-05
## 4   3 0.0003 1.465897e-04
## 5   4 0.0005 5.570408e-04
## 6   5 0.0017 1.693404e-03
## 7   6 0.0033 4.289957e-03
## 8   7 0.0107 9.315334e-03
## 9   8 0.0175 1.769914e-02
## 10  9 0.0315 2.989187e-02
## 11 10 0.0433 4.543565e-02
## 12 11 0.0640 6.278380e-02
## 13 12 0.0792 7.952615e-02
## 14 13 0.0923 9.298442e-02
## 15 14 0.1011 1.009545e-01
## 16 15 0.1025 1.023006e-01
## 17 16 0.0944 9.718555e-02
## 18 17 0.0871 8.689531e-02
## 19 18 0.0724 7.337826e-02
## 20 19 0.0601 5.870261e-02
## 21 20 0.0430 4.461399e-02
## 22 21 0.0339 3.229203e-02
## 23 22 0.0216 2.231086e-02
## 24 23 0.0167 1.474457e-02
## 25 24 0.0104 9.338225e-03
## 26 25 0.0065 5.677641e-03
## 27 26 0.0027 3.319236e-03
## 28 27 0.0015 1.868607e-03
## 29 28 0.0009 1.014387e-03
## 30 29 0.0006 5.316785e-04
## 31 30 0.0000 2.693838e-04
## 32 31 0.0001 0.000000e+00
## 33 33 0.0001 0.000000e+00
## 34 34 0.0001 0.000000e+00

Comparación gráfica:

with(comparar,{
  plot(k,Freq, type="b",col="blue",main="Modelado de frecuencias relativas a través de la distribución Poisson",cex.main=0.9)#cex.main controla el tamaño del título.
  points(k,f,col="red",pch=4)#pch cambia el símbolo de los puntos en el gráfico.
  lines(k,f,col="red",lty=2,lwd=1)#lty es el típo de linea, lwd el grosor de la linea
  legend("topleft",c("frec. relativa","probabilidad"),col=c("blue","red"),lty=1:2,pch=c(1,4))#pch=c(1,4).1 para frec relativa, 4 para la probabilidad.
})

Valor Esperado y Varianza:

Para una variable aleatoria \(X\sim P(λ)\) se tiene: \[E(X)=λ, \ \textit{λ} \ V(X)=λ.\] Como en este ejemplo: \(X\sim P(λ=15.2)\) se tiene \(E(X)= 15.2\) y \(V(X)= 15.2\).

Estos valores deben ser aproximados a la media y varianza de las distribuciones de frecuencia simuladas. En efecto:

mean(rpois(10000,lambda = 15.2))
## [1] 15.2658
var(rpois(10000,lambda = 15.2))
## [1] 15.27733