glmnetは過剰分散をどのように処理しますか?


9

カウントデータに対してテキストをモデル化する方法、特にこの機能を使用してlasso機能を削減する方法について質問があります。

オンライン記事がN個あり、各記事のページビュー数があるとします。記事ごとに1グラムと2グラムを抽出しましたが、1,2グラムに対して回帰を実行したいと思いました。特徴(1,2グラム)は観測数よりもはるかに多いため、なげなわは特徴の数を減らすための良い方法です。また、glmnetなげなわ分析を実行するのに本当に便利であることがわかりました。

しかし、ページビューのカウント数は、(分散>平均)overdispersedされていますが、glmnet提供していませんquasipoisson(明示的)またはnegative binomialが、poissonカウントデータについて。私が考えた解決策はlog transform、カウントデータ(社会科学者の間で一般的に使用される方法)であり、応答変数をほぼ正規分布に従うようにすることです。そのため、を使用して、ガウスファミリーでデータをモデル化できglmnetます。

だから私の質問は、そうすることは適切ですか?または、glmnetケースglmnetハンドルにpoissonを使用しますquasipoissonか?または、他のRパッケージがこの状況を処理しますか?

どうもありがとうございました!

回答:


14

簡潔な答え

準/ポアソンモデルの条件付き平均の回帰係数のベクトルを推定する場合、過剰分散は問題になりません。ここでの過剰分散を忘れて、poissonファミリーでglmnetを使用し、相互検証された予測エラーが低いかどうかに集中すれば、大丈夫です。

資格は以下のとおりです。


ポアソン、準ポアソンおよび推定関数:

yμxβ

θVar(y)=θμθθθββ^ 準モデルとポアソンモデルで同じです!

例を挙げて説明します(コード全体と出力を表示するにはスクロールする必要があることに注意してください)。

> 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

ご覧のとおり、このデータセットでは12.21の強い過分散がありますが(によるdeviance(modp)/modp$df.residual)、回帰係数(点推定)はまったく変化していません。しかし、標準誤差がどのように変化するかに注意してください。

ペナルティ付きポアソンモデルにおける過剰分散の影響の問題

θβ

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

βθμ

glmnetf(β)=0

> 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

では、ODはペナルティ付き回帰モデルに対して何をするのでしょうか?ご存じかもしれませんが、ペナルティ付きモデルの標準エラーを計算する適切な方法(たとえば、ここを参照)についてはまだ議論がありglmnet、おそらくそのために出力されていません。ペナルティなしの場合と同様に、ODがモデルの推論部分に影響を与える可能性は十分にありますが、この場合の推論に関するコンセンサスに達しない限り、わかりません。

余談ですが、ペナルティ付きモデルが特定の事前分布を持つ単なる標準モデルであるベイジアンビューを採用したい場合は、この混乱をすべて残すことができます。


@Mono、非常に詳細な説明をありがとうございます!ここに私の理解だ、と私が間違っている場合は、私を修正してください:poissonquasipoisson回帰が同じように係数を推定し、彼らが異なることは、彼らが標準誤差ひいては重要性を推定する方法です。ただし、投げ縄法の場合、標準誤差の計算方法はまだコンセンサスに達していないため、現在の使用法は、推論ではなく変数の選択に主に依存しています。したがって、glmnetpoissonとquasipoissonのどちらを使用しても問題ありませんが、相互検証されたエラーを最小限に抑える必要があるということです。
Sonya S. 14

@Mono、別のメモ、私はsummary(modqp)自分で走って、それがまったく同じ係数推定値を持っているのを見ました。私は何も見つけていなかったので、あなたの答えはこの問題でより多くの人々に利益をもたらすと思いますので、より良い例を示すために、summary(modqp)の出力を追加することをお勧めします。重ねて感謝します!
Sonya S. 14

1
@Sonya Yoursは良い要約です。重要なのは、条件付き平均のパラメーターを推定する場合、ポアソンと準ポアソンの推定関数(たとえば、スコア関数)が同じであることです。したがって、同じペナルティである限り、ペナルティの有無に関係なく、これらのパラメータは重要ではありません。上記でそれをより明確にします。summary(modq)に関するポインタにも感謝しますが、それはすでにそこにあり、通常の画面で「ボックス化」されるだけなので、下にスクロールする必要があります。
モモ

ポアソンで縮小される変数が、準ポアソン仕様の場合よりも少なくなる可能性があるかどうかはまだ疑問です。これはより正確であり、サンプリングモデルの方が正しいため、ポアソンモデルよりも予測精度が向上する可能性があります。
衝突平衡14

その点について、UNDER分散の場合(たとえば、0/1データの相対リスク比を推定するためにロバストなポアソンモデルを使用している場合など)に縮小する必要のある変数よりも、ポアソンで縮小される変数が増える可能性もあります。
衝突平衡14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.