glmnet은 과대 산포를 어떻게 처리합니까?


9

카운트 데이터를 통해 텍스트를 모델링하는 방법, 특히 lasso기법을 사용하여 기능을 줄이는 방법에 대한 질문이 있습니다.

온라인 기사가 N 개 있고 각 기사에 대한 페이지 뷰 수가 있다고 가정합니다. 각 기사마다 1 그램과 2 그램을 추출했으며 1,2 그램에 대해 회귀 분석을 원했습니다. 피처 (1,2 그램)는 관측치보다 훨씬 많으므로 올가미는 피처 수를 줄이는 좋은 방법입니다. 또한 glmnet올가미 분석을 실행하는 것이 정말 편리 하다는 것을 알았습니다 .

그러나 페이지 뷰 카운트 수는 (분산> 평균)를 overdispersed되지만, glmnet하지를 제공하지 않습니다 quasipoisson(명시 적) 또는 negative binomial하지만 poisson카운트 데이터를. 내가 생각한 해결책 log transform은 카운트 데이터 (사회 과학자들 사이에서 일반적으로 사용되는 방법)에 대한 것이며 반응 변수가 대략 정규 분포를 따르도록합니다. 따라서 가우스 패밀리를 사용하여 데이터를 모델링 할 수 있습니다 glmnet.

내 질문은 : 그렇게하는 것이 적절합니까? 아니면, 그냥에 대한 포아송를 사용해야한다 glmnet경우에 glmnet핸들 quasipoisson? 아니면이 상황을 처리하는 다른 R 패키지가 있습니까?

대단히 감사합니다!

답변:


14

짧은 답변

유사 분포 모델에서 조건부 평균에 대한 회귀 계수로 구성된 벡터를 추정 할 때 과대 산포는 중요하지 않습니다! 과대 산포를 잊어 버리고 포아송 패밀리와 함께 glmnet을 사용하고 교차 검증 된 예측 오차가 낮은 지 여부에 초점을 맞추면 괜찮을 것입니다.

자격은 다음과 같습니다.


포아송, 준-포아송 및 추정 함수 :

포아송 또는 준-포아송 모델의과 분산 (OD)은 분산 (또는 분산 또는 스케일 또는 이질성 또는 확산 또는 호출하려는 모든 항목)과 관련이 있으며 표준에 영향을 미치기 때문에 위와 같이 말합니다. 오차와 신뢰 구간 이지만 의 조건부 평균 ( )에 대한 추정치는 그대로 둡니다 . 이것은 특히 와 같이 평균의 선형 분해에 적용됩니다yμ엑스β .

이것은 조건부 평균의 계수에 대한 추정 방정식이 포아송 및 준-포아송 모델 모두에 대해 실질적으로 동일하다는 사실에서 비롯됩니다. 유사-포아송은 평균과 추가 매개 변수 (예 : )로 (Poisson = 1)로 분산 함수를 지정 하지만 는 추정 방정식을 최적화 할 때 적절해야합니다. 따라서 조건부 평균과 분산이 비례 할 때 를 추정하는 데 아무런 역할을하지 않습니다 . 따라서 추정 포인트 는 유사 및 포아송 모델에서 동일합니다!θV아르 자형(와이)=θμθθθββ^

예를 들어 설명해 보겠습니다 (전체 코드와 출력을 보려면 스크롤해야한다는 점에 유의하십시오).

> 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회귀 계수 (점 추정치)는 전혀 변하지 않습니다. 그러나 표준 오류가 어떻게 변하는 지 주목하십시오.

벌점 포아송 모델에서과 분산의 영향에 관한 문제

불이익 모델은 대부분 예측 및 변수 선택에 사용되며 추론에는 사용되지 않습니다. 따라서이 모델을 사용하는 사람들은 조건부 평균의 회귀 모수에 관심이 있으며 제로쪽으로 줄어 듭니다. 형벌이 동일하면, 형벌 된 (준-) 우도에서 도출 된 조건부 평균에 대한 추정 방정식은 의존 하지 않으므로 과분 산은 다음 유형의 모델에서 의 추정치에 중요하지 않습니다 .θβ

(μ)=엑스β+에프(β)

로 형태의 임의의 분산 기능을 위해 같은 방법으로 추정된다 조건부 평균과 분산이 비례 모든 모델 여기에도. βθμ이것은 비 벌점 포아송 / 쿼시 포이 손 모델과 같습니다.

이것을 액면가로 취하고 싶지 않고 수학을 피하고 glmnet싶다면 정규화 매개 변수를 0으로 설정하면 사실에서 경험적 지원을 찾을 수 있습니다 (따라서에프(β)=0) poisson 및 quasipoisson 모델이 착륙하는 위치가 거의 끝납니다 (람다가 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)나 자신을 실행 하고 정확히 동일한 계수 추정치를 갖는 것을 보았습니다. 나는 당신의 대답 이이 문제에 대해 더 많은 사람들에게 도움이 될 것이라고 믿습니다. 그래서 더 나은 예를 들어 요약 (modqp) 출력을 추가하는 것이 좋습니다. 다시 한번 감사드립니다!
Sonya S.

1
@Sonya Yours는 좋은 요약입니다. 핵심은 조건부 평균에 대한 모수를 추정 할 때 포아송과 퀴시 포이 손에 대한 추정 함수 (점수 함수)가 동일하다는 것입니다! 따라서 동일한 벌칙이 적용되는 한 벌칙이 있는지 여부에 관계없이 이러한 매개 변수는 중요하지 않습니다. 나는 그것을 더 명확하게한다. 요약 (modq)에 관한 포인터에 대해서도 감사하지만, 이미 거기에 있습니다. 일반 화면에서 "상자로 표시"되므로 아래로 스크롤해야합니다.
Momo

여전히 Poisson 스펙이 더 정확하고 Poisson 모델보다 샘플링 정확도가 높기 때문에 Poisson 모델보다 더 나은 예측 정확도로 이어질 수있는 것보다 Poisson에서 더 적은 변수가 줄어들 가능성이 있는지 궁금합니다.
Brash Equilibrium

참고로, UNDER- 분산의 경우 (예 : 0/1 데이터의 상대 위험 비율을 추정하기 위해 강력한 포아송 모델을 사용하는 경우) 축소되는 것보다 Poisson에서 더 많은 변수가 축소 될 수 있습니다.
Brash Equilibrium
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.