Calcular probabilidades y probabilidades acumuladas bajo la fórmula de distribución de Poisson.
Realizar distribuciones de probabilidad conforme a la distribución de probabilidad de Poisson a partir de valores iniciales dado en cada ejercicio.
Se generan las tablas de probabilidad conforme a distribución Poisson, se identifican los valores de probabilidad cuando la variable discreta \(x\) tenga algún exactamente algún valor, \(\leq\) a algún valor o \(\gt\) o \(\geq\), entre otros.
Se utilizan las funciones dpois() para la función de probabilidad o densidad y ppois() para la probabilidad acumulada.
También se utiliza la función f.prob.poisson() que ha sido programada con anticipación y calcula la probabilidad de un valor de variable aleatoria discreta. Esta función se encuentra en el enlace: https://github.com/rpizarrog/probabilidad-y-estad-stica/blob/master/funciones/funciones.distribuciones.r
Otra variable aleatoria discreta que tiene numerosas aplicaciones prácticas es la variable aleatoria de Poisson. Su distribución de probabilidad da un buen modelo para datos que representa el número de sucesos de un evento especificado en una unidad determinada de tiempo o espacio (Mendenhall, Beaver, and Beaver 2010).
Los experimentos que dan valores numéricos de una variable aleatoria X, el número de resultados que ocurren durante un intervalo dado o en una región específica, se llaman experimentos de Poisson (Walpole, Myers, and Myers 2012)
Un proceso de Poisson es un experimento aleatorio donde se observa la aparición de un suceso concreto (éxito) sobre un soporte continuo (generalmente el tiempo). Además, debe cumplirse que los sucesos ocurren de forma independiente y con media estable (el número medio de sucesos por unidad de medida es constante).
Ejemplos interesantes de procesos de Poisson son: clientes que acuden a un mostrador por unidad de tiempo, llamadas por unidad de tiempo a una centralita, defectos por metro de cable, baches por kilómetro de autopista, entre otros.(Quintela 2019a).
Esta distribución, suele usarse para estimar el número de veces que sucede un hecho determinado (ocurrencias media) en un intervalo de tiempo o de espacio. Por ejemplo:
La variable de interés va desde el número de automóviles que llegan (llegadas) a un lavado de coches en una hora o,
El número de reparaciones necesarias en 10 kms. de una autopista o,
El número de fugas en 100 kms.de tubería, entre otros
Número de asistencia promedio de estudiantes en una clase virtual durante un mes (Anderson, Sweeney, and Williams 2008).
\[f(x) = \frac{{e^{ - \mu } \mu ^x }}{{x!}}\] en donde:
\(f(x)\) es la función de probabilidad para valores discretos de \(x=0,1,2,3..,n.\)
$$ es el valor medio esperado en cierto lapso de tiempo. Algunas veces expresado como \(\lambda\)
\(x\) es la variable aleatoria. Es una variable aleatoria discreta \((x=0,1,2,...)\)
\(e\) valor constante, es la base de los logaritmos naturales \(2.71728\). Puede generarse por medio de exp(1).
Propiedades de un evento Poisson:
Los valores de la esperanza (o media) y de la varianza para la distribución de Poisson son respectivamente:
El valor medio o esperanza: \[E(X) = \lambda\]
La varianza: \[Var(X) = \sigma^{2} = \lambda\]
La desviación: \[\sigma = \sqrt{Var(x)} = \sqrt{\sigma^{2}}\]
El desarrollo de los ejercicios comienza con la carga de librerías luego una serie de ejercicios relacionados con la distribución de Poisson, de cada uno de ellos se muestra la tabla de probabilidad se calculan algunas de sus probabilidades y se determina la esperanza, la varianza y las desviaciones. Al final se busca la interpretación de cada ejercicio.
Para nuevas librerías se requiere instalar con anticipación, ejemplo, install.packages(“cowplot”).
library(dplyr)
library(ggplot2)
library(mosaic) # Gráficos de distribuciones
library(cowplot) #Imágenes en el mismo renglón
options(scipen=999) # Notación normal
# options(scipen=1) # Notación científica
#source("../funciones/funciones.distribuciones.r")
# o
source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r")
##
## Attaching package: 'gtools'
## The following object is masked from 'package:mosaic':
##
## logit
Se describen ejercicios en donde se encuentra la función de distribución
Suponga que desea saber el número de llegadas, en un lapso de 15 minutos, a la rampa del cajero automático de un banco.(anderson_estadistica_2008?)
Si se puede suponer que la probabilidad de llegada de los automóviles es la misma en cualesquiera de dos lapsos de la misma duración y si la llegada o no–llegada de un automóvil en cualquier lapso es independiente de la llegada o no–llegada de un automóvil en cualquier otro lapso, se puede aplicar la función de probabilidad de Poisson.
Dichas condiciones se satisfacen y en un análisis de datos pasados encuentra que el número promedio de automóviles que llegan en un lapso de 15 minutos es igual a 10;
Aquí la variable aleatoria es \(x\) número de automóviles que llegan en un lapso de 15 minutos.
Valores iniciales
x <- 0:30 # Valores de variables aleatorias
media <- 10 # Llegada de automóviles
Se construye la tabla con la función cargada del enlace: https://github.com/rpizarrog/probabilidad-y-estad-stica/blob/master/funciones/funciones.distribuciones.r
tabla1 <- data.frame(x=x, f.prob.x = f.prob.poisson(media, x))
tabla1 <- cbind(tabla1, f.acum.x = cumsum(tabla1$f.prob.x))
tabla1
## x f.prob.x f.acum.x
## 1 0 0.0000453999298 0.00004539993
## 2 1 0.0004539992976 0.00049939923
## 3 2 0.0022699964881 0.00276939572
## 4 3 0.0075666549604 0.01033605068
## 5 4 0.0189166374010 0.02925268808
## 6 5 0.0378332748021 0.06708596288
## 7 6 0.0630554580035 0.13014142088
## 8 7 0.0900792257192 0.22022064660
## 9 8 0.1125990321490 0.33281967875
## 10 9 0.1251100357211 0.45792971447
## 11 10 0.1251100357211 0.58303975019
## 12 11 0.1137363961101 0.69677614630
## 13 12 0.0947803300918 0.79155647639
## 14 13 0.0729079462244 0.86446442262
## 15 14 0.0520771044460 0.91654152707
## 16 15 0.0347180696307 0.95125959670
## 17 16 0.0216987935192 0.97295839022
## 18 17 0.0127639961878 0.98572238640
## 19 18 0.0070911089932 0.99281349540
## 20 19 0.0037321626280 0.99654565802
## 21 20 0.0018660813140 0.99841173934
## 22 21 0.0008886101495 0.99930034949
## 23 22 0.0004039137043 0.99970426319
## 24 23 0.0001756146541 0.99987987785
## 25 24 0.0000731727725 0.99995305062
## 26 25 0.0000292691090 0.99998231973
## 27 26 0.0000112573496 0.99999357708
## 28 27 0.0000041693887 0.99999774647
## 29 28 0.0000014890674 0.99999923553
## 30 29 0.0000005134715 0.99999974900
## 31 30 0.0000001711572 0.99999992016
Se construye la tabla2 con las funciones dpois() y ppois() , los valores deben ser los mismos que la tabla1.
tabla2 <- data.frame(x=x, f.prob.x = dpois(x = x, lambda = media))
tabla2 <- cbind(tabla2, f.acum.x = ppois(q = x, lambda = media))
tabla2
## x f.prob.x f.acum.x
## 1 0 0.0000453999298 0.00004539993
## 2 1 0.0004539992976 0.00049939923
## 3 2 0.0022699964881 0.00276939572
## 4 3 0.0075666549604 0.01033605068
## 5 4 0.0189166374010 0.02925268808
## 6 5 0.0378332748021 0.06708596288
## 7 6 0.0630554580035 0.13014142088
## 8 7 0.0900792257192 0.22022064660
## 9 8 0.1125990321490 0.33281967875
## 10 9 0.1251100357211 0.45792971447
## 11 10 0.1251100357211 0.58303975019
## 12 11 0.1137363961101 0.69677614630
## 13 12 0.0947803300918 0.79155647639
## 14 13 0.0729079462244 0.86446442262
## 15 14 0.0520771044460 0.91654152707
## 16 15 0.0347180696307 0.95125959670
## 17 16 0.0216987935192 0.97295839022
## 18 17 0.0127639961878 0.98572238640
## 19 18 0.0070911089932 0.99281349540
## 20 19 0.0037321626280 0.99654565802
## 21 20 0.0018660813140 0.99841173934
## 22 21 0.0008886101495 0.99930034949
## 23 22 0.0004039137043 0.99970426319
## 24 23 0.0001756146541 0.99987987785
## 25 24 0.0000731727725 0.99995305062
## 26 25 0.0000292691090 0.99998231973
## 27 26 0.0000112573496 0.99999357708
## 28 27 0.0000041693887 0.99999774647
## 29 28 0.0000014890674 0.99999923553
## 30 29 0.0000005134715 0.99999974900
## 31 30 0.0000001711572 0.99999992016
Con la función ggplot() se hace la curva de la distribución, en rojo los puntos y en azul la curva o línea con cualquiera de las dos tablas, tabla1 o tabla2.
En g1 se construye la gráfica de densidad \(P(x)\) y en g2 se construye la gráfica de a probabilidad acumulada \(F(x)\). Las dos gráficas se construyen.
g1 <- ggplot(data = tabla2, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla2, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
Si la administración desea saber la probabilidad de que lleguen exactamente \(5\) automóviles en 15 minutos, \(P(x=5)\).
Utilizando la función f.prob.poisson() creada que se encuentra en el enlace https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r y calcula la función de probabilidad conforme a la fórmula.
x <- 5
prob <- round(f.prob.poisson(media, x),8)
paste("La probabilidad de que sean exactamente 5 automóviles es de : ", prob)
## [1] "La probabilidad de que sean exactamente 5 automóviles es de : 0.03783327"
prob2 <- round(dpois(x = x, lambda = media),4)
paste("La probabilidad de que sean exactamente 5 automóviles es de : ", prob2)
## [1] "La probabilidad de que sean exactamente 5 automóviles es de : 0.0378"
\(P(x \leq10) = P(x=0)+P(x=1) + P(x=2) + P(x=3) + ... + P(x=10)\) o la probabilidad acumulada hasta \(10 F(x=10)\)
tabla1$f.acum[10+1]
## [1] 0.5830398
paste("La probabilidad de que el valor de x sea menor o igual a 10 es: ", tabla1$f.acum[10+1], " o ", round(tabla1$f.acum[10+1] * 100,4), "%" )
## [1] "La probabilidad de que el valor de x sea menor o igual a 10 es: 0.583039750192986 o 58.304 %"
Con ppois() que determina el valor acumulado
ppois(q = 10, lambda = media)
## [1] 0.5830398
con la función \(sum()\) y \(dpois()\)
sum(dpois(x = 0:10, lambda = media))
## [1] 0.5830398
En el ejemplo anterior se usó un lapso de 15 minutos, pero también se usan otros lapsos. Suponga que desea calcular la probabilidad de una llegada en un lapso de 3 minutos.
Regla de tres: \[10=15\] \[?=3\]
media <- (3 * 10) / 15
media
## [1] 2
Entonces, la probabilidad de \(x\) llegadas en un lapso de 3 minutos tiene una media \(μ=2\) está dada por la siguiente nueva función de probabilidad de Poisson. \[f(x) = \frac{{e^{ - 2} 2^x }}{{x!}}\] Entonces nueva probabilidad para cuando \(x=5\)
prob <- round(dpois(x = 5, lambda = 2),4)
paste("La probabilidad cuando x = 5 y media igual a 2 es del:", prob * 100, "%")
## [1] "La probabilidad cuando x = 5 y media igual a 2 es del: 3.61 %"
La esperanza o valor esperado es igual a: \(10\) dado los valores iniciales del ejercicio
La varianza es 10 y la desviación estándard es: 3.1623
En este ejercicio se observó la probabilidad de que \(x\) número de automóviles llegara en un periodo de 15 minutos, se nos proporciona el promedio de autos el cual es de 10, podemos observar que la mayor probabilidad es que lleguen 9 o 10 automóviles en un periodo de 15 minutos, esto se debe a que contamos con una desviación estándar del 3.16, después se obtuvieron probabilidades de 5 automóviles y para menos de 10 o el propio 10, con esto se cambió la medio de automóviles y se obtuvieron otras probabilidades.
En ciertas instalaciones industriales los accidentes ocurren con muy poca frecuencia. Se sabe que la probabilidad de un accidente en cualquier día dado es \(0.005\) y los accidentes son independientes entre sí (walpole_probabilidad_2012?).
La variable media es el número de accidentes promedio por día. \(x\) será los valores de la variable aleatoria.
Valores iniciales
n <- 365 # Dias del año
prob <- 0.005
media <- n * prob # media al año
media <- round(media, 0)
media
## [1] 2
x <- 0:10
La media es 2
La variable aleatoria son los días desde \(x=1\)…hasta \(x=n\)
La tabla de distribución de probabilidad de Poisson con media igual a 2 usando dpois() y cumsum()
tabla <- data.frame(x=x, f.prob.x = round(dpois(x = x, lambda = media),4))
tabla <- cbind(tabla, f.acum.x = cumsum(tabla$f.prob.x))
tabla
## x f.prob.x f.acum.x
## 1 0 0.1353 0.1353
## 2 1 0.2707 0.4060
## 3 2 0.2707 0.6767
## 4 3 0.1804 0.8571
## 5 4 0.0902 0.9473
## 6 5 0.0361 0.9834
## 7 6 0.0120 0.9954
## 8 7 0.0034 0.9988
## 9 8 0.0009 0.9997
## 10 9 0.0002 0.9999
## 11 10 0.0000 0.9999
Se construyen tanto la gráfica de densidad (lado izquierdo) como la gráfica de función acumulada (lado derecho).
g1 <- ggplot(data = tabla, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
¿Cuál es la probabilidad de que en cualquier periodo dado habrá un accidente en un día?
x <- 1
prob <- tabla$f.prob.x[x+1]
paste("La probabilidad del valor de x=1 es: ", prob)
## [1] "La probabilidad del valor de x=1 es: 0.2707"
o mediante la función dpois() y
dpois(x = 1, lambda = media)
## [1] 0.2706706
¿Cuál es la probabilidad de que haya a lo más tres días con un accidente?
x <- 3
prob <- tabla$f.acum.x[x+1]
paste("La probabilidad del valor de x<=3 es: ", prob)
## [1] "La probabilidad del valor de x<=3 es: 0.8571"
Función acumulada \(F(x=3)\) o lo que es lo mismo \(P(x=0)+P(x=1)+P(x=2)+P(x=3)\)
ppois(q = 3, lambda = media)
## [1] 0.8571235
En este ejercicio se observó las probabilidades de los accidentes en una industria, los cuales ocurren con poca frecuencia, la probabilidad de que ocurra un accidente es de 0.005 y son independientes entre sí. Al realizar la habla de distribución de Poisson con una medida de 2, podemos observar que nuestra probabilidad máxima esta entre 1 y 2 accidentes, ya que tiene una probabilidad del 27.07% de que ocurra, después se obtuvieron las probabilidades para 3 o menos y se observó que la probabilidad es del 85.71%, esto quiere decir que con una gran posibilidad no habrán mas de 3 accidentes.
Un fabricante de automóviles se preocupa por una falla en el mecanismo de freno de un modelo específico. La falla puede causar en raras ocasiones una catástrofe a alta velocidad. Suponga que la distribución del número de automóviles por año que experimentará la falla es una variable aleatoria de Poisson con \(\lambda = 5\) (walpole_probabilidad_2012?).
Se construye la tabla de distribución de veinte valores en variable aleatoria y media igual a cinco.
x <- 0:20
media <- 5
tabla <- data.frame(x=x, f.prob.x = round(dpois(x = x, lambda = media),8), f.acum.x = round(ppois(q = x, lambda = media), 8))
tabla
## x f.prob.x f.acum.x
## 1 0 0.00673795 0.00673795
## 2 1 0.03368973 0.04042768
## 3 2 0.08422434 0.12465202
## 4 3 0.14037390 0.26502592
## 5 4 0.17546737 0.44049329
## 6 5 0.17546737 0.61596065
## 7 6 0.14622281 0.76218346
## 8 7 0.10444486 0.86662833
## 9 8 0.06527804 0.93190637
## 10 9 0.03626558 0.96817194
## 11 10 0.01813279 0.98630473
## 12 11 0.00824218 0.99454691
## 13 12 0.00343424 0.99798115
## 14 13 0.00132086 0.99930201
## 15 14 0.00047174 0.99977375
## 16 15 0.00015725 0.99993099
## 17 16 0.00004914 0.99998013
## 18 17 0.00001445 0.99999458
## 19 18 0.00000401 0.99999860
## 20 19 0.00000106 0.99999965
## 21 20 0.00000026 0.99999992
Se visualizan la gráficas
g1 <- ggplot(data = tabla, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
¿Cuál es la probabilidad de que, a lo más, 3 automóviles por año sufran una catástrofe? \[P(X≤3)\] \[P(X=0)+P(X=1)+P(X=2)+P(X=3)\]
x <- 3
prob <- tabla$f.acum.x[x+1]
paste("La probabiidad del valor de x<=3 es: ", round(prob * 100,4), "%")
## [1] "La probabiidad del valor de x<=3 es: 26.5026 %"
o por medio de la función ppois()
ppois(q = 3, lambda = media)
## [1] 0.2650259
¿Cuál es la probabilidad de que más de 1 automóvil por año experimente una catástrofe? \[1 - F(X \leq 1))\] \[1 - (P(X=0) + P(x=1))\]
x <- 1
prob <- 1 - tabla$f.acum.x[x+1]
paste("La probabilidad del valor de x>1 es: ", round(prob * 100,4), "%")
## [1] "La probabilidad del valor de x>1 es: 95.9572 %"
o bien con la función ppois() y la opción lower.tail = FALSE
ppois(q = x, lambda = media, lower.tail = FALSE)
## [1] 0.9595723
En este ejercicio observamos las probabilidades de falla de un freno en unos automóviles de un modelo especifico, para poder obtener las probabilidades se utilizó una media de 5, al obtener la tabla de distribuciones de Poisson observamos que las probabilidades más altas concuerdan con la media, ya que las probabilidades más altas son 4 y 5, con una probabilidad de 17.54%, después en el ejercicio se vieron las probabilidades de que las fallas se presentara en menos de 3 carros o en 3 carros y su probabilidad fue del 26.5%, para terminar se obtuvo la probabilidad de que fuera más de uno, se obtuvo con esto una probabilidad del 95.95% de posibilidades de que un freno falle, siendo esto que es muy probable que un carro presente fallas en un freno.
Supóngase que se está investigando la seguridad de un crucero muy peligroso. Los archivos de la policía indican una media de cinco \(\lambda = 5\) accidentes por mes en el crucero.
El número de accidentes está distribuido conforme a la distribución de Poisson, y la división de seguridad en carreteras quiere calcular la probabilidad de exactamente \(0,1,2,3 y 4\) accidentes en un mes determinado (gestiopolis, n.d.).
Valores iniciales
x <- 0:10
media <- 5
Construyendo los valores de la tabla de distribución \(P(x=0,1,2…10)\). Para responder a la pregunta del ejercicio, solo interesan solo los valores \(P(0), P(1), P(2), P(3), P(4)\)
tabla <- data.frame(x = x, f.prob.x = dpois(x = x, lambda = media), f.acum.x = ppois(q = x, lambda = media))
tabla
## x f.prob.x f.acum.x
## 1 0 0.006737947 0.006737947
## 2 1 0.033689735 0.040427682
## 3 2 0.084224337 0.124652019
## 4 3 0.140373896 0.265025915
## 5 4 0.175467370 0.440493285
## 6 5 0.175467370 0.615960655
## 7 6 0.146222808 0.762183463
## 8 7 0.104444863 0.866628326
## 9 8 0.065278039 0.931906365
## 10 9 0.036265577 0.968171943
## 11 10 0.018132789 0.986304731
Se construyen las gráficas de densidad o valores de probabilidad de cada variable aleatoria discreta y la función de la probabilidad acumulada respectivamente.
g1 <- ggplot(data = tabla, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
En este ejercicio se evaluó la seguridad de un crucero muy peligroso, en el cual con los archivos de la policía se observó que suceden aproximadamente 5 accidentes al mes en el crucero, tomamos las probabilidades de 0 a 4 accidentes, la probabilidad de que ocurran 0 accidentes es del 0.67%, la probabilidad de que ocurra 1 accidente es del 3.3%, la probabilidad de que ocurran 2 accidentes es del 8.4%, la posibilidad de que ocurran 3 accidentes es del 14.03% y la probabilidad de que ocurran 4 accidentes es del 17.54%, la cual tiene la misma probabilidad que 5 accidentes, siendo estas últimas las más altas de la distribución.
Supóngase que en un hotel donde descansan sufridos cazadores de elefantes ocurren de manera aleatoria e independiente dos accidentes de caídas con rompimiento de cadera por semana. Determinar la probabilidad de que ocurra un accidente en una semana (Quintela 2019b).\(\lambda = 2\) se necesita calcular \(P(x=1)\)
paste("La probabilidad de ocurra un accidente en una semana es : ", dpois(x = 1, lambda = 2) ," o ", round(dpois(x = 1, lambda = 2) * 100, 2), "%")
## [1] "La probabilidad de ocurra un accidente en una semana es : 0.270670566473225 o 27.07 %"
En este ejercicio se observó cómo unos cazadores de elefantes descansaban en un hotel luego de sufrir accidentes de caída con rompimiento de cadera por semana, cada accidente fue independiente, se utilizó una media de 2 y se calculó la probabilidad de que ocurra un solo accidente en una semana, la probabilidad que se obtuvo fue de 27.07%, esto quiere decir que el que ocurran 0 o más de 1 accidente es del 72.93%.
Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008. Estadística Para Administración y Economía. 10th ed. Australia Brasil Corea España Estados Unidos Japón México Reino Unido Singapur: Cengage Learning,.
gestiopolis. n.d. “¿Qué Es La Distribución de Poisson?” https://www.gestiopolis.com/que-es-la-distribucion-de-poisson/.
Mendenhall, William, Robert J. Beaver, and Barbara M. Beaver. 2010. Introducción a La Probabilidad y Estadística. 13th ed. Cengage Learning Editores, S.A. de C.V.,.
Quintela, Alejandro. 2019a. Estadística básica Edulcorada. https://bookdown.org/aquintela/EBE/.
———. 2019b. Estadística básica Edulcorada. https://bookdown.org/aquintela/EBE/.
Walpole, Ronald E., Raymond H. Myers, and Sharon L. Myers. 2012. Probabilidad y Estadística Para Ingeniería y Ciencias. Novena Edición. México: Pearson.