GLM'deki yarı Poisson neden özel bir negatif binom vakası olarak değerlendirilmiyor?


21

Genelleştirilmiş doğrusal modelleri aşırı dağılmış olabilir veya olmayabilir saymak veri bazı kümeleri uydurmaya çalışıyorum. Burada geçerli olan iki kanonik dağılım, EV ve varyans ile Poisson ve Negatif Binom (Negbin)μ

VbirrP=μ

VbirrN-B=μ+μ2θ

glm(..,family=poisson)ve glm.nb(...)sırasıyla R kullanılarak takılabilir . quasipoissonAnladığım kadarıyla aynı EV ve varyans ile ayarlanmış bir Poisson olan aile de var

VbirrSP=φμ ,

yani Poisson ve Negbin arasında bir yere düşmek. Quasipoisson ailesi ile ilgili temel sorun, bunun için uygun bir olasılık olmaması ve bu nedenle çok fazla istatistiksel test ve uyum önleminin (AIC, LR vb.) Bulunmamasıdır.

QP ve Negbin varyanslarını karşılaştırırsanız, \ phi = 1 + \ frac {\ mu} {\ theta} koyarak bunları eşitleyebileceğinizi fark edebilirsiniz φ=1+μθ. Bu mantığa devam ederek, quasipoisson dağılımını Negbin'in özel bir örneği olarak ifade etmeye çalışabilirsiniz:

SP(μ,φ)=N-B(μ,θ=μφ-1) ,

yani θ lineer olarak bağımlı \ mu olan bir Negbin μ. Yukarıdaki formüle göre rastgele bir sayı dizisi oluşturarak ve bunu ile uyarak bu fikri doğrulamaya çalıştım glm:

#fix parameters

phi = 3
a = 1/50
b = 3
x = 1:100

#generating points according to an exp-linear curve
#this way the default log-link recovers the same parameters for comparison

mu = exp(a*x+b) 
y = rnbinom(n = length(mu), mu = mu, size = mu/(phi-1)) #random negbin generator

#fit a generalized linear model y = f(x)  
glmQP = glm(y~x, family=quasipoisson) #quasipoisson
glmNB = glm.nb(y~x) #negative binomial

> glmQP

Call:  glm(formula = y ~ x, family = quasipoisson)

Coefficients:
(Intercept)            x  
    3.11257      0.01854  
(Dispersion parameter for quasipoisson family taken to be 3.613573)

Degrees of Freedom: 99 Total (i.e. Null);  98 Residual
Null Deviance:      2097 
Residual Deviance: 356.8    AIC: NA

> glmNB

Call:  glm.nb(formula = y ~ x, init.theta = 23.36389741, link = log)

Coefficients:
(Intercept)            x  
    3.10182      0.01873  

Degrees of Freedom: 99 Total (i.e. Null);  98 Residual
Null Deviance:      578.1 
Residual Deviance: 107.8    AIC: 824.7

Her ikisi de parametreleri yeniden üretir ve quasipoisson \ phi için 'makul' bir tahmin verir φ. Artık quasipoisson için bir AIC değeri de tanımlayabiliriz:

df = 3 # three model parameters: a,b, and phi
phi.fit = 3.613573 #fitted phi value copied from summary(glmQP)
mu.fit = glmQP$fitted.values 

#dnbinom = negbin density, log=T returns log probabilities
AIC = 2*df - 2*sum(dnbinom(y, mu=mu.fit, size = mu.fit/(phi.fit - 1), log=T))
> AIC
[1] 819.329

( Nesnede bulamadığım için, değerini el ile kopyalamak zorunda kaldım )φsummary(glmQP)glmQP

Yana , bu quasipoisson, tahmin edileceği üzere, daha iyi bir uyum olduğuna işaret edecek; en azından yapması gerekeni yapar ve bu nedenle bir quasipoisson'un AIC'si (ve buna bağlı olarak olasılıkla) için makul bir tanım olabilir. O zaman bana bırakılan büyük sorular A I C Q PbirbenCSP<birbenCN-BbirbenCSP

  1. Bu fikir mantıklı mı? Doğrulamam döngüsel muhakemeye mi dayanıyor?
  2. İyi kurulmuş bir konudan eksik görünen bir şeyi 'icat eden' herkes için ana soru: eğer bu fikir mantıklıysa, neden zaten uygulanmamıştır glm?

Düzenleme: şekil eklendi

glm uyuyor ve + -1 sigma bantları


1
(+1) Çapraz Geçişe Hoş Geldiniz! Ve mükemmel bir soru için teşekkür ederim (yine de koddaki birkaç yorum R kullanmayan insanlar için iyi olabilir). Sanırım NB1 modelini yeniden icat etmiş olabilirsiniz (henüz detaylı olarak takip etmedim). Ayrıca, yarı Poisson dağılımı olmadığını da unutmayın - bu yüzden olasılık veya AIC yoktur - bu sadece araçların ve varyansların takılma yolunu ifade eder.
Scortchi - Monica'yı eski durumuna döndürün

2
Teşekkürler! Bu arada bazı yorumlar ekledim, umarım bir şeyler temizler. Yarı-Poisson dağılımının kendi başına var olmadığını anlıyorum - gerçekten anlamaya çalıştığım şey, NB1 dağılımının var olduğunu ve QP'nin yarı sorunlarının hiçbirini içermediğini düşünerek neden QP'nin bile bir şey olduğunu. (aşikar bir çözüm için Achims'in cevabına bakınız).
user28400

1
@Scortchi --- aslında, orada olduğu takdirde bu tür bir dağıtım ... ve ardından üstel aile ortalama ile ve varyansı . Eğer . 'da tanımlandığı için sayım verileri (yaklaşık olarak hariç) için mutlaka uygun değildir . Y = k X , Y μ = k λ k μ k 1 0 , k , 2 k , . . .X~Pois(λ)Y=kXYμ=kλkμk10,k,2k,...
Glen_b -Monica Monica

1
@Glen_b: İnsanlar buna gerçekten yarı Poisson mı diyorlar? Her halükarda güzel bir örnek - bir "quasiPoisson" modeli kullandığınızda, bu dağılımın ya da NB1'in ya da başka herhangi bir şeyin, katsayı tahminlerini ve standart hatalarını tahmin eden ortalama ve varyans arasındaki ilişkiyi gerçekten varsaymıyorsunuz. örnek büyüdükçe daha iyi.
Scortchi - Monica'yı eski durumuna döndürün

1
@Scortchi Yarı Poisson'un varsayımlarını karşılayan tek üstel aile dağılımı, bu yüzden bir çeşit - bazen insanların varsayımın ima ettiği dağıtım olduğuna işaret ettiğini gördüm. Tabii ki insanlar bunu kullandığında, neredeyse * asla verilerinin bu belirli dağıtımdan geldiğini düşünmüyorlar - bu sadece ortalamalarının ve varyanslarının nasıl bir ilişkisinin kaba bir açıklaması olarak düşünülüyor. (Bazı sigorta uygulamalarında çok basit varsayımlar altında mantıklı olabilir - toplam talep maliyeti, talep sayısının Poisson ve talep başına maliyetin etkin bir şekilde sabit olduğu.)
Glen_b-Monica

Yanıtlar:


24

Yarı-Poisson tam maksimum olabilirlik (ML) modeli değil, yarı-ML modeli. Sadece katsayıları tahmin etmek için Poisson modelinden tahmin fonksiyonunu (veya skor fonksiyonunu) kullanırsınız ve ardından çıkarım yapmak için uygun standart hatalar (veya tam bir kovaryans matrisi) elde etmek için belirli bir varyans fonksiyonu kullanırsınız. Bu nedenle, glm()tedarik etmiyor ve / logLik()veya AIC()burada vb.

sizeθbenμben

Hiçbir önsavının (sadece bir yolunu kesmek) NB1 parametrizasyonları ve kullandığı NB2 parametrizasyonları varsa MASSbireyin glm.nb()çakışmaktadır. Regresörler ile farklılık gösterirler. İstatistik literatüründe NB2 parametrelendirmesi daha sık kullanılır, ancak bazı yazılım paketleri de NB1 sürümünü sunar. Örneğin, R'de gamlsspaketi yapmak için kullanabilirsiniz gamlss(y ~ x, family = NBII). Biraz karışıklığa sebep Not gamlsskullanan NBINB2 parametreye ve NBIINB1 için. (Ancak jargon ve terminoloji tüm topluluklarda birleşik değildir.)

O zaman elbette NB1 varsa neden yarı-Poisson kullanıyorsunuz? Hala ince bir fark var: Birincisi yarı-ML kullanır ve kare sapma (veya Pearson) kalıntılarından dağılımdan tahmini alır. İkincisi tam ML kullanır. Pratikte, fark genellikle büyük değildir, ancak her iki modeli kullanma motivasyonları biraz farklıdır.


1
Teşekkürler! Çok yararlı bir cevap, gamlssşimdi deniyorum ve tam olarak ihtiyacım olan şey gibi görünüyor. Tam ML'ye karşı yarı olabilirliği kullanma motivasyonlarını açıklayabilir misiniz?
user28400

2
Daha az varsayıyorsunuz: Sadece (1) beklenti ve regresörler (log) arasındaki log-lineer ilişkiyi (2) varyans ve beklenti arasında doğrusal bir ilişki olduğunu varsayıyorsunuz. Olasılıkların geri kalanı tamamen belirtilmemiş olarak bırakılmıştır. (2) 'ye alternatif olarak, uygulayıcılar bazen daha genel heteroskedastisite modellerine izin verecek "sağlam" sandviç standart hataları kullanırlar. Tabii ki, bir de NB1 sandviç standart hatalar ile istihdam edilebilir ... Birkaç yorum daha vardır bizim vignette("countreg", package = "pscl").
Achim Zeileis
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.