53 votos

¿Cómo puedo comprobar si las muestras dadas proceden de una distribución de Poisson?

Conozco las pruebas de normalidad, pero ¿cómo puedo comprobar la "poissonidad"?

Tengo una muestra de ~1000 enteros no negativos, que sospecho están tomados de una distribución de Poisson, y me gustaría comprobarlo.

22voto

Simon Schubert Puntos 121

En primer lugar, mi consejo es que te abstengas de probar una distribución de Poisson tal y como son los datos. Te sugiero que primero hagas una teoría de por qué la distribución de Poisson debe ajustarse a un conjunto de datos concreto o a un fenómeno.

Una vez establecido esto, la siguiente cuestión es si la distribución es homogénea o no. Es decir, si todas las partes de los datos se rigen por la misma distribución de Poisson o si existe una variación en función de algún aspecto como el tiempo o el espacio. Una vez que se haya convencido de estos aspectos, pruebe las tres pruebas siguientes:

  1. prueba de razón de verosimilitud utilizando una variable chi cuadrada
  2. uso de la estadística chi-cuadrado condicional; también llamada prueba de dispersión de Poisson o prueba de varianza
  3. uso de la estadística neyman-scott, que se basa en una transformación estabilizadora de la varianza de la variable poisson

busque estos y los encontrará fácilmente en la red.

4 votos

"si la distribución es homogénea o no... Una vez convencido de estos aspectos" ¿Podría comentar un poco cómo determinar esto?

16voto

reconbot Puntos 1670

Aquí hay una secuencia de comandos de R que puede ser útil. Siéntase libre de comentar o editar si detecta algún error.

set.seed(1)
x.poi<-rpois(n=200,lambda=2.5) # a vector of random variables from the Poisson distr.

hist(x.poi,main="Poisson distribution")

lambda.est <- mean(x.poi) ## estimate of parameter lambda
(tab.os<-table(x.poi)) ## table with empirical frequencies

freq.os<-vector()
for(i in 1: length(tab.os)) freq.os[i]<-tab.os[[i]]  ## vector of emprical frequencies

freq.ex<-(dpois(0:max(x.poi),lambda=lambda.est)*200) ## vector of fitted (expected) frequencies

acc <- mean(abs(freq.os-trunc(freq.ex))) ## absolute goodness of fit index acc
acc/mean(freq.os)*100 ## relative (percent) goodness of fit index

h <- hist(x.poi ,breaks=length(tab.os))
xhist <- c(min(h$breaks),h$breaks)
yhist <- c(0,h$density,0)
xfit <- min(x.poi):max(x.poi)
yfit <- dpois(xfit,lambda=lambda.est)
plot(xhist,yhist,type="s",ylim=c(0,max(yhist,yfit)), main="Poison density and histogram")
lines(xfit,yfit, col="red")

#Perform the chi-square goodness of fit test 
#In case of count data we can use goodfit() included in vcd package
library(vcd) ## loading vcd package
gf <- goodfit(x.poi,type= "poisson",method= "MinChisq")
summary(gf)
plot(gf,main="Count data vs Poisson distribution")

3 votos

Esta línea: freq.ex<-(dpois(0:max(x.poi),lambda=lambda.est)*200) produce errores con algunos datos del mundo real, porque la longitud de freq.ex no coincide con freq.obs en esta línea acc <- mean(abs(freq.os-trunc(freq.ex)). He adaptado esta línea a freq.ex<-(dpois(seq(0,max(x.poi))[seq(0:max(x.poi)) %in% x.poi],lambda=lambda.est)*200) pero algo sigue sin estar bien porque goodfit produce advertencias.

0 votos

Utilizando su código recibo un índice de bondad de ajuste de 121. Pero es relativo, ¿no? Así que debería estar entre 0 y 100, ¿verdad?

14voto

Binarytales Puntos 1145

Para una distribución de Poisson, la media es igual a la varianza. Si la media de la muestra es muy diferente de la varianza de la muestra, probablemente no se trate de datos de Poisson. La prueba de dispersión que también se menciona aquí es una formalización de esa noción.

Si la varianza es mucho mayor que la media, como suele ser el caso, es posible que desee probar una distribución binomial negativa.

7 votos

Y entonces, si la media es igual a la varianza, ¿podría concluir que los datos eran de Poisson? Difícilmente.

4 votos

Es cierto. Necesario pero no suficiente.

10voto

Eggs McLaren Puntos 945

Supongo que la forma más fácil es hacer un chi-cuadrado Bondad de ajuste prueba.

De hecho aquí está bien applet de java ¡que hará precisamente eso!

9voto

lazfish Puntos 248

Puede utilizar la dispersión (relación entre la varianza y la media) como estadística de prueba, ya que la Poisson debería dar una dispersión de 1. Aquí hay un enlace a la forma de utilizarlo como modelo de prueba.

0 votos

+1 gracias. a menudo obtengo algunos resultados "extraños", por ejemplo, una distribución normal obtiene un valor p más alto que una de poisson, donde lambda es relativamente pequeña (por lo que sólo en apariencia la normal y la poisson no son similares en absoluto)

9 votos

¡¡404 NO ENCONTRADO!!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X