GLM aşırı dağılmasının anlamlı olup olmadığını belirlemek için bir test var mı?


44

R'de Poisson GLM'leri oluşturuyorum. Dağılmayı kontrol etmek için, artık sapmaların sağladığı serbestlik derecelerine oranına bakıyorum summary(model.name).

Bu oranın "önemli" olarak kabul edilmesi için bir kesme değeri veya testi var mı? > 1 olması durumunda verilerin aşırı dağıtıldığını biliyorum, ancak 1'e nispeten daha yakın oranlara sahipsem [örneğin, bir oran 1,7 (artık sapma = 25.48, df = 15) ve diğer 1.3 (rd = 324, df = 253)], hala quasipoisson / negatif binom'a mı geçmeliyim? Önem için bu testi burada buldum : 1-pchisq (rezidüel sapma, df), ama sadece bir kere gördüm, bu beni endişelendiriyor. Ayrıca (kaynağı bulamıyorum) <1,5 oranının genellikle güvenli olduğunu okudum. Görüşler?

Yanıtlar:


45

R paketinde AER dispersiontest, Cameron & Trivedi (1990) tarafından Over Dispersiyon Testi uygulayan işlevi bulacaksınız .

Basit bir fikri takip ediyor: Poisson modelinde ortalama ve varyans da V a r ( Y ) = μ . Onlar eşit. Test sadece alternatif karşı Boş hipotez olarak bu varsayımı test burada V bir R ( Y ) = μ + C * f ( μ ) burada sabit bir C < 0 anlamına gelir underdispersion ve c > 0 anlamına gelir aşırı yayılım. İşlevi fE(Y)=μVar(Y)=μVar(Y)=μ+cf(μ)c<0c>0 Bir monoton fonksiyonu (genellikle doğrusal ya da ikinci dereceden, önceki varsayılan) Meydana gelen deney test eşdeğerdir H 0 : C = 0 vs H 1 : c 0 ve kullanılan test istatistik bir t istatistik Bu null altında asimptotik olarak standart normaldir.f(.)H0:c=0H1:c0t

Örnek:

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 

Burada açıkça görüyoruz ki, eşit dağılma varsayımına karşı oldukça güçlü konuşan aşırı dağılma kanıtlarının (c 5.57 olduğu tahmin edilmektedir) açıkça görüyoruz (yani c = 0).

trafo=1H0:c=1H1:c1c=c+1


1
Kullanmalıydım glm(trips ~ 1, data = data, family = poisson)(yani verilerim 1yerine .), ama harika, teşekkür ederim
Phil

12

odTestpsclμ=Var

>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

Burada Poisson kısıtlamasının boşluğu olumsuz binom regresyonum lehine reddedildi NegBinModel. Neden? Çünkü test istatistiği a ile 52863.4998aşıyor .2.7055p-value of < 2.2e-16

Bunun avantajı, AER dispersiontest"htest" sınıfının döndürülen nesnesinin biçimlendirilmesi (örn. LaTeX'e dönüştürme) sınıfsız 'odTest`ten daha kolaydır.



2

Yine bir başka seçenek, aşırı dağılıma sahip bir quasipoisson GLM'nin aşırı dağılma olmadan normal bir poisson GLM'den önemli ölçüde daha iyi olduğunu göstermek için bir olasılık oranı testi kullanmak olacaktır:

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.