태그 보관물: lasso

lasso

glmnet은 과대 산포를 어떻게 처리합니까? 뷰 카운트 수는 (분산>

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

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

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

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

대단히 감사합니다!



답변

짧은 답변

유사 분포 모델에서 조건부 평균에 대한 회귀 계수로 구성된 벡터를 추정 할 때 과대 산포는 중요하지 않습니다! 과대 산포를 잊어 버리고 포아송 패밀리와 함께 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가 벌금이 부과되지 않은 경우와 마찬가지로 모델의 추론 부분에 영향을 미칠 수도 있지만,이 경우 추론에 관한 합의에 도달하지 않으면 알 수 없습니다.

제쳐두고, 불이익을받은 모델이 특정 이전의 표준 모델 인 베이지안 관점을 기꺼이 채택하려는 경우이 모든 혼란을 남길 수 있습니다.


답변