Làm thế nào để glmnet xử lý quá mức?


9

Tôi có một câu hỏi về cách mô hình hóa văn bản qua dữ liệu đếm, đặc biệt là làm thế nào tôi có thể sử dụng lassokỹ thuật để giảm các tính năng.

Nói rằng tôi có N bài viết trực tuyến và số lượt xem trang cho mỗi bài viết. Tôi đã trích xuất 1 gram và 2 gram cho mỗi bài viết và tôi muốn thực hiện hồi quy trên 1,2 gram. Vì các tính năng (1,2 gram) nhiều hơn số lượng quan sát, nên Lasso sẽ là một phương pháp hay để giảm số lượng tính năng. Ngoài ra, tôi đã tìm thấy glmnetthực sự tiện dụng để chạy phân tích Lasso.

Tuy nhiên, số đếm lần xem trang được overdispersed (đúng> trung bình), nhưng glmnetkhông phục vụ quasipoisson(rõ ràng) hoặc negative binomialnhưng poissoncho dữ liệu đếm. Giải pháp tôi đã nghĩ đến là log transformdữ liệu đếm (một phương pháp thường được sử dụng giữa các nhà khoa học xã hội) và làm cho biến phản ứng gần như tuân theo phân phối bình thường. Như vậy, tôi có thể mô hình hóa dữ liệu với họ gaussian bằng cách sử dụng glmnet.

Vì vậy, câu hỏi của tôi là: nó có thích hợp để làm như vậy? Hoặc, tôi sẽ chỉ sử dụng poisson cho glmnettrường hợp glmnetxử lý quasipoisson? Hoặc, có các gói R khác xử lý tình huống này?

Cảm ơn rât nhiều!

Câu trả lời:


14

Câu trả lời ngắn

Quá mức không quan trọng khi ước tính một vectơ hệ số hồi quy cho giá trị trung bình có điều kiện trong mô hình gần đúng / poisson! Bạn sẽ ổn nếu bạn quên đi sự quá mức ở đây, sử dụng glmnet với họ poisson và chỉ tập trung vào việc lỗi dự đoán xác thực chéo của bạn có thấp không.

Trình độ chuyên môn sau đây.


Các hàm Poisson, Quasi-Poisson và ước tính:

Tôi nói ở trên vì sự quá mức (OD) trong mô hình poisson hoặc quasi-poisson ảnh hưởng đến bất kỳ điều gì có liên quan đến sự phân tán (hoặc phương sai hoặc tỷ lệ hoặc không đồng nhất hoặc lan truyền hoặc bất cứ điều gì bạn muốn gọi nó) và như vậy có ảnh hưởng đến tiêu chuẩn lỗi và khoảng tin cậy nhưng để lại các ước tính cho giá trị trung bình có điều kiện của (được gọi là ). Điều này đặc biệt áp dụng cho phân tách tuyến tính của giá trị trung bình, nhưμ x betayμxβ .

Điều này xuất phát từ thực tế là các phương trình ước tính cho các hệ số của giá trị trung bình có điều kiện thực tế giống nhau cho cả hai mô hình poisson và quasi-poisson. Quasi-poisson chỉ định hàm phương sai theo giá trị trung bình và tham số bổ sung (giả sử ) là (với Poisson = 1), nhưng không bật ra có liên quan khi tối ưu hóa phương trình ước tính. Do đó, không có vai trò trong việc ước tính khi giá trị trung bình và phương sai có điều kiện tỷ lệ thuận. Do đó, ước tính điểm là giống hệt nhau cho các mô hình gần đúng và poisson!V một r ( y ) = θ L θ θ θ beta betaθVar(y)=θμθθθββ^

Hãy để tôi minh họa bằng một ví dụ (lưu ý rằng người ta cần cuộn để xem toàn bộ mã và đầu ra):

> 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

Như bạn có thể thấy mặc dù chúng tôi có sự vượt quá mạnh 12,21 trong tập dữ liệu này (bởi deviance(modp)/modp$df.residual) các hệ số hồi quy (ước tính điểm) hoàn toàn không thay đổi. Nhưng chú ý cách các lỗi tiêu chuẩn thay đổi.

Câu hỏi về ảnh hưởng của sự quá mức trong các mô hình poisson bị phạt

Các mô hình hình phạt hầu hết được sử dụng để dự đoán và lựa chọn biến và không (chưa) cho suy luận. Vì vậy, những người sử dụng các mô hình này quan tâm đến các tham số hồi quy cho giá trị trung bình có điều kiện, chỉ thu nhỏ về 0. Nếu hình phạt là như nhau, các phương trình ước tính cho các phương tiện có điều kiện xuất phát từ khả năng bị phạt (gần đúng) cũng không phụ thuộc vào và do đó, quá mức không quan trọng đối với các ước tính của trong một mô hình loại:βθβ

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

vì được ước tính theo cùng một cách cho bất kỳ hàm phương sai nào có dạng , do đó, một lần nữa cho tất cả các mô hình trong đó giá trị trung bình và phương sai có điều kiện tỷ lệ thuận. q LβθμĐiều này giống như trong các mô hình poisson / quasipoisson chưa được mở rộng.

Nếu bạn không muốn lấy giá trị này theo mệnh giá và tránh toán học, bạn có thể tìm thấy sự hỗ trợ theo kinh nghiệm trong thực tế là glmnet, nếu bạn đặt tham số chính quy thành 0 (và do đó ) bạn sẽ kết thúc khá nhiều nơi các mô hình poisson và quasipoisson hạ cánh (xem cột cuối cùng bên dưới nơi lambda là 0,005).f(β)=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

Vậy OD ​​làm gì để các mô hình hồi quy bị phạt? Như bạn có thể biết, vẫn còn một số tranh luận về cách thích hợp để tính toán các lỗi tiêu chuẩn cho các mô hình bị phạt (xem ví dụ, ở đây ) và glmnetkhông xuất hiện bất kỳ cách nào, có lẽ vì lý do đó. Rất có thể OD sẽ ảnh hưởng đến phần suy luận của mô hình, giống như trong trường hợp không bị phạt nhưng trừ khi đạt được sự đồng thuận về suy luận trong trường hợp này, chúng tôi sẽ không biết.

Ở một bên, người ta có thể bỏ lại tất cả sự lộn xộn này nếu người ta sẵn sàng chấp nhận một quan điểm Bayes trong đó các mô hình bị phạt chỉ là các mô hình tiêu chuẩn với một ưu tiên cụ thể.


@Mono, cảm ơn bạn đã giải thích rất chi tiết! Đây là sự hiểu biết của tôi và xin vui lòng sửa lỗi cho tôi nếu tôi sai: poissonquasipoissonhồi quy ước tính các hệ số theo cùng một cách và những gì chúng khác nhau là cách chúng ước tính các lỗi tiêu chuẩn và do đó có ý nghĩa. Tuy nhiên, đối với phương pháp Lasso, làm thế nào để tính toán các lỗi tiêu chuẩn vẫn chưa đạt được sự đồng thuận và do đó việc sử dụng hiện tại của nó chủ yếu nằm ở lựa chọn biến thay vì suy luận. Như vậy, sẽ không có vấn đề gì nếu chúng ta sử dụng glmnetvới poisson hoặc quasipoisson, nhưng lỗi tối thiểu hóa đó là gì nên được giảm thiểu.
Sonya S.

@Mono, một lưu ý khác, tôi summary(modqp)tự chạy và thấy nó có ước tính hệ số chính xác như nhau. Tôi tin rằng câu trả lời của bạn sẽ có lợi cho nhiều người hơn về vấn đề này vì tôi chưa tìm thấy, vì vậy tôi khuyên bạn nên thêm đầu ra của bản tóm tắt (modqp) cho một ví dụ minh họa tốt hơn nữa. Một lần nữa, cảm ơn rất nhiều!
Sonya S.

1
@Sonya Yours là một bản tóm tắt tốt. Điều quan trọng là khi ước tính các tham số cho giá trị trung bình có điều kiện, các hàm ước tính (nói hàm số điểm) cho poisson và quasipoisson là như nhau! Do đó, không quan trọng đối với các tham số này cho dù có hình phạt hay không miễn là đó là hình phạt tương tự. Tôi làm rõ hơn ở trên. Cũng cảm ơn con trỏ liên quan đến tóm tắt (modq), nhưng nó đã ở đó, nó chỉ được "đóng hộp" trên một màn hình bình thường, vì vậy người ta phải cuộn xuống.
Momo

Tôi vẫn tự hỏi liệu có thể có ít biến số bị thu hẹp trong Poisson hơn là nếu có một đặc điểm kỹ thuật gần đúng, chính xác hơn và có thể dẫn đến độ chính xác dự đoán tốt hơn mô hình Poisson vì mô hình lấy mẫu của nó chính xác hơn.
Cân bằng Brash

Trên lưu ý đó, cũng có thể là nhiều biến số bị thu hẹp trong Poisson hơn nên được thu nhỏ trong các trường hợp phân tán DƯỚI (chẳng hạn như khi bạn đang sử dụng mô hình Poisson mạnh mẽ để ước tính tỷ lệ rủi ro tương đối cho dữ liệu 0/1).
Cân bằng Brash
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.