Glmnet aşırı dağılımı nasıl ele alır?


9

Sayım verileri üzerinde metin modelleme hakkında bir sorum var, özellikle özellikleri lassoazaltmak için tekniği nasıl kullanabilirim .

N çevrimiçi makalem ve her makale için sayfa görüntüleme sayısı olduğunu varsayalım. Her makale için 1 gram ve 2 gram çıkardım ve 1,2 gram üzerinde bir gerileme yapmak istedim. Özellikler (1,2 gram) gözlem sayısından çok daha fazla olduğundan, kement özelliklerin sayısını azaltmak için iyi bir yöntem olacaktır. Ayrıca, glmnetkement analizini çalıştırmak için gerçekten kullanışlı buldum .

Ancak, sayfa görüntüleme sayısı sayısı (varyans> ortalama) overdispersed, ancak glmnetdeğil sunuyor? quasipoisson(Açıkça) veya negative binomialancak poissonsayım verileri için. Düşündüğüm çözüm, log transformverileri saymak (sosyal bilimciler arasında yaygın olarak kullanılan bir yöntem) ve yanıt değişkenini kabaca normal bir dağılımı takip etmektir. Bu nedenle, muhtemelen Gauss ailesi ile veri modelleme yapabilir glmnet.

Benim sorum şu: Bunu yapmak uygun mu? Yoksa sadece glmnetkasa glmnetkulplarında poisson kullanmalı quasipoissonmıyım? Veya bu durumu ele alan başka R paketleri var mı?

Çok teşekkür ederim!

Yanıtlar:


14

Kısa cevap

Bir yarı / poisson modelinde koşullu ortalama için bir regresyon katsayıları vektörü tahmin edilirken aşırı dağılım önemli değildir! Burada aşırı dağılmayı unutursanız, poisson ailesi ile glmnet kullanın ve çapraz onaylı tahmin hatasının düşük olup olmadığına odaklanın.

Yeterlilik aşağıda verilmiştir.


Poisson, Quasi-Poisson ve tahmin fonksiyonları:

Yukarıdakileri söylüyorum, çünkü bir poisson veya yarı-poisson modelindeki aşırı dağılım (OD), dispersiyon (veya varyans veya ölçek veya heterojenlik veya yayılma veya ne demek istersen) ile ilgili her şeyi etkiler ve bu nedenle standart üzerinde bir etkisi vardır. hatalar ve güven aralıkları içerir, ancak ( adlandırılır ) koşullu ortalaması için tahminlere dokunulmaz. Bu özellikle gibi ortalamanın lineer ayrışmaları için geçerlidiryμxβ .

Bu, koşullu ortalamanın katsayıları için tahmin denklemlerinin hem poisson hem de yarı-poisson modelleri için pratik olarak aynı olması gerçeğinden kaynaklanmaktadır. Quasi-poisson, varyans fonksiyonunu ortalama olarak ve ek bir parametreyi (say ) (Poisson için ile ) olarak belirtir.θVbirr(y)=θμθ= 1), ancak θtahmin denklemi optimize edilirken ilgili olmadığı anlaşılır. Böyleceθ tahmininde rol oynamaz βkoşullu ortalama ve varyans orantılı olduğunda. Bu nedenle nokta tahminleriβ^ yarı ve poisson modelleri için aynıdır!

Bir örnekle göstereyim (kodun ve çıktının tamamını görmek için kaydırılması gerektiğini unutmayın):

> library(MASS)
> data(quine) 
> modp <- glm(Days~Age+Sex+Eth+Lrn, data=quine, family="poisson")
> modqp <- glm(Days~Age+Sex+Eth+Lrn, data=quine, family="quasipoisson")
> summary(modp)

Call:
glm(formula = Days ~ Age + Sex + Eth + Lrn, family = "poisson", 
    data = quine)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-6.808  -3.065  -1.119   1.819   9.909  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  2.71538    0.06468  41.980  < 2e-16 ***
AgeF1       -0.33390    0.07009  -4.764 1.90e-06 ***
AgeF2        0.25783    0.06242   4.131 3.62e-05 ***
AgeF3        0.42769    0.06769   6.319 2.64e-10 ***
SexM         0.16160    0.04253   3.799 0.000145 ***
EthN        -0.53360    0.04188 -12.740  < 2e-16 ***
LrnSL        0.34894    0.05204   6.705 2.02e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 2073.5  on 145  degrees of freedom
Residual deviance: 1696.7  on 139  degrees of freedom
AIC: 2299.2

Number of Fisher Scoring iterations: 5

> summary(modqp)

Call:
glm(formula = Days ~ Age + Sex + Eth + Lrn, family = "quasipoisson", 
    data = quine)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-6.808  -3.065  -1.119   1.819   9.909  

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   2.7154     0.2347  11.569  < 2e-16 ***
AgeF1        -0.3339     0.2543  -1.313 0.191413    
AgeF2         0.2578     0.2265   1.138 0.256938    
AgeF3         0.4277     0.2456   1.741 0.083831 .  
SexM          0.1616     0.1543   1.047 0.296914    
EthN         -0.5336     0.1520  -3.511 0.000602 ***
LrnSL         0.3489     0.1888   1.848 0.066760 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for quasipoisson family taken to be 13.16691)

    Null deviance: 2073.5  on 145  degrees of freedom
Residual deviance: 1696.7  on 139  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 5

Gördüğünüz gibi, bu veri setinde 12.21 güçlü bir aşırı dağılım olmasına rağmen deviance(modp)/modp$df.residual, regresyon katsayıları (nokta tahminleri) hiç değişmemektedir. Ancak standart hataların nasıl değiştiğine dikkat edin.

Cezalandırılmış poisson modellerinde aşırı yayılmanın etkisi sorunu

Cezalandırılmış modeller çoğunlukla tahmin ve değişken seçim için kullanılır, (henüz) çıkarım için kullanılmaz. Yani bu modelleri kullanan insanlar koşullu ortalama için regresyon parametreleriyle ilgileniyorlar, sadece sıfıra doğru küçülüyorlar. Cezalandırma aynı ise, cezalandırılan (yarı) olasılıktan türetilen koşullu araçlar için tahmin denklemleri de aşağıdakilere bağlı değildir:θve dolayısıyla aşırı dağılım,β türünde bir modelde:

g(μ)=xβ+f(β)

gibi β formun herhangi bir varyans fonksiyonu için aynı şekilde tahmin edilir θμ, yine koşullu ortalama ve varyansın orantılı olduğu tüm modeller için. Bu tıpkı unpenalized poisson / quasipoisson modellerinde olduğu gibi.

Bunu yüz değerinde almak ve matematikten kaçınmak istemiyorsanız glmnet, eğer düzenlenme parametresini 0'a (ve böylecef(β)=0) neredeyse poisson ve quasipoisson modellerinin bulunduğu yere gelirsiniz (lambda'nın 0.005 olduğu aşağıdaki son sütuna bakın).

> library(glmnet)
> y <- quine[,5]
> x <- model.matrix(~Age+Sex+Eth+Lrn,quine)
> modl <- glmnet(y=y,x=x, lambda=c(0.05,0.02,0.01,0.005), family="poisson")
> coefficients(modl)
8 x 4 sparse Matrix of class "dgCMatrix"
                    s0         s1         s2         s3
(Intercept)  2.7320435  2.7221245  2.7188884  2.7172098
(Intercept)  .          .          .          .        
AgeF1       -0.3325689 -0.3335226 -0.3339580 -0.3340520
AgeF2        0.2496120  0.2544253  0.2559408  0.2567880
AgeF3        0.4079635  0.4197509  0.4236024  0.4255759
SexM         0.1530040  0.1581563  0.1598595  0.1607162
EthN        -0.5275619 -0.5311830 -0.5323936 -0.5329969
LrnSL        0.3336885  0.3428815  0.3459650  0.3474745

Peki OD cezalandırılmış regresyon modellerine ne yapar? Bildiğiniz gibi, cezalandırılmış modeller için standart hataları hesaplamanın doğru yolu hakkında hala bazı tartışmalar var (örneğin, bkz. Burada ) ve glmnetyine de çıktı vermiyor, muhtemelen bu nedenle. OD'nin cezalandırılmamış davada olduğu gibi modelin çıkarım kısmını etkileyebileceği çok iyi olabilir, ancak bu davada çıkarım konusunda bir fikir birliğine varılmadığı sürece bilemeyiz.

Bir kenara, cezalandırılmış modellerin sadece belirli bir önceliğe sahip standart modeller olduğu bir Bayesci görüş benimsemek istiyorsa, tüm bu karışıklığı geride bırakabilir.


@Mono, çok detaylı açıklaman için teşekkürler! İşte benim anlayışım ve lütfen yanılıyorsam beni düzeltin: poissonve quasipoissonregresyonlar katsayıları aynı şekilde tahmin ederler ve farklılıkları standart hataları ve dolayısıyla önemi nasıl tahmin ettikleridir. Bununla birlikte, kement yöntemi için, standart hataların nasıl hesaplanacağı henüz bir fikir birliğine varmamıştır ve bu nedenle mevcut kullanımı çoğunlukla çıkarım yerine değişken seçiminde yatmaktadır. Bu nedenle, glmnetpoisson veya quasipoisson ile kullanmamız önemli değildir , ancak çapraz doğrulanmış hatanın en aza indirilmesi gerekir.
Sonya

@Mono, başka bir not, kendimi koştum summary(modqp)ve tam olarak aynı katsayı tahminlerine sahip olduğunu gördüm. Cevabınızın bu konuda daha fazla insana fayda sağlayacağına inanıyorum, çünkü bulamadım, bu yüzden daha iyi resimli bir örnek için özetin (modqp) çıktısını eklemenizi öneririm. Tekrar, çok teşekkürler!
Sonya

1
@Sonya Yours iyi bir özet. Anahtar, koşullu ortalama için parametreleri tahmin ederken, poisson ve quasipoisson için tahmin fonksiyonlarının (skor fonksiyonunu söyleyin) aynı olmasıdır! Bu nedenle, aynı ceza olduğu sürece bir ceza olup olmadığı önemli değildir. Bunu yukarıda daha net yapıyorum. Özet (modq) ile ilgili işaretçi için de teşekkürler, ama zaten orada, sadece normal bir ekranda "kutulu" alır, bu yüzden aşağı kaydırmak zorunda.
Momo

Yine de, daha doğru olan ve muhtemelen örnekleme modeli daha doğru olduğu için Poisson modelinden daha iyi tahmin doğruluğuna yol açacak olan yarı Poisson spesifikasyonundan daha az değişkenin küçülmesinin mümkün olup olmadığını merak ediyorum.
Küstahlık Dengesi

Bu notta, UNDER dağılımı durumunda (0/1 verileri için göreceli risk oranlarını tahmin etmek için güçlü bir Poisson modeli kullandığınızda olduğu gibi) Poisson'da daha fazla değişkenin küçülmesi de olabilir.
Küstahlık Dengesi
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.