Existe um teste para determinar se a sobredispersão GLM é significativa?


44

Estou criando Poisson GLMs em R. Para verificar se há sobredispersão, estou analisando a proporção de desvio residual para graus de liberdade fornecidos por summary(model.name).

Existe um valor de corte ou teste para que essa proporção seja considerada "significativa"? Eu sei que se for> 1, os dados serão super-dispersos, mas se eu tiver proporções relativamente próximas a 1 [por exemplo, uma proporção de 1,7 (desvio residual = 25,48, df = 15) e outra de 1,3 (rd = 324, df = 253)], ainda devo mudar para quasipoisson / binomial negativo? Encontrei aqui este teste de significância: 1-pchisq (desvio residual, df), mas só vi isso uma vez, o que me deixa nervoso. Também li (não consigo encontrar a fonte) que uma proporção <1,5 é geralmente segura. Opiniões?

Respostas:


45

No pacote R da AER, você encontrará a função dispersiontest, que implementa um Teste de Sobredispersão de Cameron & Trivedi (1990).

Segue uma idéia simples: em um modelo de Poisson, a média é e a variância é também. Eles são iguais. O teste simplesmente testa essa suposição como uma hipótese nula em relação a uma alternativa em que que a constante significa sub-dispersão e significa super-dispersão. A função É uma função monotônica (geralmente linear ou quadrática; a primeira é o padrão). O teste resultante é equivalente ao teste vs. e a estatística de teste usada é uma estatística que é normal assintoticamente normal sob nulo.V um r ( Y ) = μ V um r ( Y ) = μ + c * f ( μ ) c < 0 c > 0 f ( . ) H 0 : C = 0 H 1 : c 0 tE(Y)=μVumar(Y)=μVumar(Y)=μ+cf(μ)c<0 0c>0 0f(.)H0 0:c=0 0H1 1:c0 0t

Exemplo:

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 

Aqui vemos claramente que há evidências de super-dispersão (c é estimado em 5,57), o que fala fortemente contra a suposição de equidispersão (ou seja, c = 0).

trafo=1H0 0:c=1 1H1 1:c1 1c=c+1 1


11
Eu tive que usar glm(trips ~ 1, data = data, family = poisson)(ou seja, 1em vez de .para o meu dados), mas ótimo, obrigado
Phil

12

odTestpsclμ=Vumar

>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

Aqui o nulo da restrição de Poisson é rejeitado em favor da minha regressão binomial negativa NegBinModel. Por quê? Porque a estatística de teste 52863.4998excede 2.7055com a p-value of < 2.2e-16.

A vantagem de AER dispersiontestser o objeto retornado da classe "htest" é mais fácil de formatar (por exemplo, converter para LaTeX) do que o 'odTest` sem classe.



2

Ainda outra opção seria usar um teste de razão de verossimilhança para mostrar que um GLM de quase lipossistência com super-dispersão é significativamente melhor do que um GLM de poisson comum sem super-dispersão:

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.