glmnet如何处理过度分散?


9

我有一个关于如何对计数数据进行文本建模的问题,尤其是如何使用该lasso技术来减少特征。

假设我有N篇在线文章以及每篇文章的综合浏览量。我为每篇文章提取了1克和2克,我想对1,2克进行回归。由于特征(1,2克)比观察的数量更多,所以套索将是减少特征数量的好方法。另外,我发现glmnet运行套索分析非常方便。

然而,网页浏览量计数的overdispersed(方差>的意思),但glmnet不提供quasipoisson(明确的),或者negative binomial,但poisson对数的数据。我想到的解决方案是对log transform计数数据(社会科学家中常用的方法)进行计数,并使响应变量大致遵循正态分布。因此,我可以使用高斯族对数据进行建模glmnet

所以我的问题是:这样做合适吗?或者,应我只是用泊松的glmnet情况下glmnet手柄quasipoisson?还是有其他R软件包可以处理这种情况?

非常感谢你!

Answers:


14

简短答案

在拟/泊松模型中为条件均值估算回归系数向量时,过度分散无关紧要!如果您忘了这里的过度分散,可以将它与poisson家族一起使用glmnet,并且只关注交叉验证的预测误差是否较低,就可以了。

资格如下。


泊松,拟泊松和估计函数:

我之所以这么说是因为泊松或准泊松模型中的过度分散(OD)影响与分散有关的任何事情(或方差或规模,异质性或价差或您要称呼的任何东西),因此对标准有影响误差和置信区间,但保持的条件均值(称为)不变。这尤其适用于平均值的线性分解,例如yμxβ

这是由于以下事实:对于泊松模型和准泊松模型,条件均值系数的估计方程实际上是相同的。拟泊松函数根据均值和附加参数(例如)将方差函数指定为(对于Poisson = 1而言),但是不会变成在优化估计方程式时是相关的。因此在估计θ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(β)

β 对于表格的任何方差函数都以相同的方式估算 θμ,对于条件均值和方差成比例的所有模型也要如此。就像在未受罚的泊松/准泊松模型中一样。

如果您不希望从表面取值并避免数学运算,则可以找到以下事实的经验支持:在中glmnet,如果将正则化参数设置为0(因此f(β)=0),您最终将在泊松和准泊松模型着陆的地方结束(请参见下面的最后一列,其中lambda为0.005)。

> 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对惩罚回归模型有何作用?您可能知道,关于为惩罚模型计算标准误差的正确方法仍有一些争论(例如参见here),glmnet无论如何也不会输出,可能是由于这个原因。OD很可能会影响模型的推理部分,就像在非惩罚化情况下一样,但是除非在这种情况下就推理达成共识,否则我们将一无所知。

顺便说一句,如果人们愿意接受贝叶斯观点,即惩罚模型只是具有特定先验的标准模型,则可以将所有这些混乱情况抛在后面。


@Mono,谢谢您的详细解释!这是我的理解,请纠正我,如果我错了:poissonquasipoisson回归估计系数以同样的方式和他们不同的是他们如何估计的标准误差,因而意义。但是,对于套索方法,如何计算标准误尚未达成共识,因此,当前的用途主要在于变量选择而不是推理。因此,我们使用glmnet泊松还是准泊松并不重要,但是交叉验证的错误应该最小化。
Sonya S.

@Mono,另外一个音符,我summary(modqp)自己奔跑,看到它具有完全相同的系数估计。我相信您的答案会在这个问题上使更多的人受益,因为我还没有找到任何答案,因此我建议您添加summary(modqp)的输出,以获得更好的示例。再次非常感谢!
Sonya S.

1
@Sonya Yours是一个很好的总结。关键是,当估计条件均值的参数时,泊松和拟泊松的估算函数(例如得分函数)是相同的!因此,对于这些参数而言,是否有惩罚是无关紧要的,只要它是相同的惩罚即可。我在上面更清楚地说明了这一点。也感谢有关summary(modq)的指针,但该指针已经存在,只能在普通屏幕上“装箱”,因此必须向下滚动。
Momo 2014年

我仍然想知道,在Poisson中收缩的变量是否比在准Poisson规范的情况下收缩的更少(该规范更正确),并且因为其采样模型更正确,因此比Poisson模型具有更好的预测准确性。
垃圾平衡

值得注意的是,在Poisson中收缩的变量也可能比在UNDER分散情况下收缩的变量多(例如,当您使用健壮的Poisson模型估计0/1数据的相对风险比时)。
垃圾平衡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.