60 votos

¿Existe una prueba para determinar si la sobredispersión del MLG es significativa?

Estoy creando GLMs de Poisson en R. Para comprobar la sobredispersión estoy mirando la relación entre la desviación residual y los grados de libertad proporcionados por summary(model.name) .

¿Existe algún valor de corte o prueba para que este ratio se considere "significativo"? Sé que si es >1 entonces los datos están sobredispersos, pero si tengo cocientes relativamente cercanos a 1 [por ejemplo, un cociente de 1,7 (desviación residual = 25,48, df=15) y otro de 1,3 (rd = 324, df = 253)], ¿debería igualmente cambiar a cuasipoisson/binomial negativa? He encontrado aquí esta prueba de significación: 1-pchisq(desviación residual,df), pero sólo la he visto una vez, lo que me pone nervioso. También he leído (no encuentro la fuente) que un ratio < 1,5 suele ser seguro. ¿Opiniones?

66voto

Momo Puntos 5125

En el paquete R AER encontrará la función dispersiontest que implementa un Prueba de sobredispersión de Cameron y Trivedi (1990).

Sigue una idea sencilla: en un modelo de Poisson, la media es $E(Y)=\mu$ y la varianza es $Var(Y)=\mu$ también. Son iguales. La prueba simplemente pone a prueba este supuesto como hipótesis nula frente a una alternativa en la que $Var(Y)=\mu + c * f(\mu)$ donde la constante $c < 0$ significa sub-dispersión y $c > 0$ significa sobredispersión. La función $f(.)$ es alguna función monótona (a menudo lineal o cuadrática; la primera es la predeterminada).La prueba resultante es equivalente a probar $H_0: c=0$ contra. $H_1: c \neq 0$ y el estadístico de prueba utilizado es un $t$ que es asintóticamente normal bajo la nulidad.

Ejemplo:

R> library(AER)
R> data(RecreationDemand)
R> rd <- glm(trips ~ ., data = RecreationDemand, family = poisson)
R> dispersiontest(rd,trafo=1)

Overdispersion test

data:  rd
z = 2.4116, p-value = 0.007941
alternative hypothesis: true dispersion is greater than 0
sample estimates:
dispersion 
    5.5658 

Aquí vemos claramente que hay indicios de sobredispersión (c se estima en 5,57), lo que se opone a la hipótesis de equidispersión (es decir, c=0).

Tenga en cuenta que si no utiliza trafo=1 , en realidad hará una prueba de $H_0: c^*=1$ contra. $H_1: c^* \neq 1$ con $c^*=c+1$ que tiene, por supuesto, el mismo resultado que la otra prueba, aparte de que la estadística de la prueba se desplaza en uno. Sin embargo, la razón de esto es que esta última corresponde a la parametrización común en un modelo de cuasi-Poisson.

19voto

DeeZire Puntos 46

Una alternativa es el odTest de la pscl que compara los cocientes de probabilidad logarítmica de una regresión binomial negativa con la restricción de una regresión de Poisson $\mu =\mathrm{Var}$ . Se obtiene el siguiente resultado:

>library(pscl)

>odTest(NegBinModel) 

Likelihood ratio test of H0: Poisson, as restricted NB model:
n.b., the distribution of the test-statistic under H0 is non-standard
e.g., see help(odTest) for details/references

Critical value of test statistic at the alpha= 0.05 level: 2.7055 
Chi-Square Test Statistic =  52863.4998 p-value = < 2.2e-16

Aquí se rechaza el nulo de la restricción de Poisson a favor de mi regresión binomial negativa NegBinModel . ¿Por qué? Porque la estadística de prueba 52863.4998 supera 2.7055 con un p-value of < 2.2e-16 .

La ventaja del AER dispersiontest es que el objeto devuelto de clase "htest" es más fácil de formatear (por ejemplo, convirtiendo a LaTeX) que el 'odTest` sin clase.

6voto

kentaromiura Puntos 3361

Otra opción sería utilizar una prueba de razón de verosimilitud para demostrar que un MLG de cuasipoisson con sobredispersión es significativamente mejor que un MLG de poisson normal sin sobredispersión:

fit = glm(count ~ treatment,family="poisson",data=data) 
fit.overdisp = glm(count ~ treatment,family="quasipoisson",data=data) 
summary(fit.overdisp)$dispersion # dispersion coefficient
pchisq(summary(fit.overdisp)$dispersion * fit$df.residual, fit$df.residual, lower = F) # significance for overdispersion

5voto

Jonathan Puntos 6

Otra alternativa es utilizar el P__disp de la función msme paquete. El P__disp puede utilizarse para calcular el valor de Pearson $\chi^2$ y las estadísticas de dispersión de Pearson después de ajustar el modelo con glm o glm.nb .

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