Đường dẫn hệ số - so sánh hồi quy sườn, lasso và hồi quy mạng đàn hồi


13

Tôi muốn so sánh các mô hình được lựa chọn với sườn, lasso và lưới đàn hồi. Hình dưới đây cho thấy các đường dẫn hệ số bằng cả 3 phương pháp: sườn (Hình A, alpha = 0), lasso (Hình B; alpha = 1) và lưới đàn hồi (Hình C; alpha = 0,5). Giải pháp tối ưu phụ thuộc vào giá trị được chọn của lambda, được chọn dựa trên xác nhận chéo.

Hồ sơ các hệ số cho hồi quy sườn (A, alpha = 0), lasso (B, alpha = 1) và hồi quy lưới đàn hồi (C, alpha = 0,5).  Các số ở đầu lô biểu thị kích thước của các mô hình. Giải pháp tối ưu phụ thuộc vào giá trị được chọn của lambda.  Lựa chọn lambda dựa trên xác nhận chéo.

Khi nhìn vào các ô này, tôi sẽ mong muốn lưới đàn hồi (Hình C) thể hiện hiệu ứng nhóm. Tuy nhiên nó không rõ ràng trong trường hợp được trình bày. Đường dẫn hệ số cho lasso và lưới đàn hồi rất giống nhau. Điều gì có thể là lý do cho điều này ? Có phải chỉ là một lỗi mã hóa? Tôi đã sử dụng đoạn mã sau trong R:

library(glmnet)
X<- as.matrix(mydata[,2:22])
Y<- mydata[,23]
par(mfrow=c(1,3))
ans1<-cv.glmnet(X, Y, alpha=0) # ridge
plot(ans1$glmnet.fit, "lambda", label=FALSE)
text (6, 0.4, "A", cex=1.8, font=1)
ans2<-cv.glmnet(X, Y, alpha=1) # lasso
plot(ans2$glmnet.fit, "lambda", label=FALSE)
text (-0.8, 0.48, "B", cex=1.8, font=1)
ans3<-cv.glmnet(X, Y, alpha=0.5) # elastic net 
plot(ans3$glmnet.fit, "lambda", label=FALSE)
text (0, 0.62, "C", cex=1.8, font=1)

Mã được sử dụng để vẽ đường dẫn hệ số thuần đàn hồi hoàn toàn giống như đối với sườn và lasso. Sự khác biệt duy nhất là giá trị của alpha. Tham số Alpha cho hồi quy mạng đàn hồi được chọn dựa trên MSE thấp nhất (sai số bình phương trung bình) cho các giá trị lambda tương ứng.

Cảm ơn sự giúp đỡ của bạn !

Câu trả lời:


5

p<npn

Nếu các tính năng ban đầu không tương quan lắm, tôi sẽ nói rằng thật hợp lý khi Lasso thực hiện tương tự như Mạng đàn hồi về mặt đường dẫn hệ số. Nhìn vào tài liệu cho gói glmnet , tôi cũng không thể thấy bất kỳ lỗi nào trong mã của bạn.


Rất cảm ơn bạn vì sự góp ý. Tôi bắt đầu suy nghĩ về cách tiếp cận chính quy để chọn mô hình tốt nhất, bởi vì tôi đã quan sát thấy sự đa hình nghiêm trọng giữa các biến của tôi (VIF >> 10). Nhiều trong số chúng có tương quan ở mức> 0,8. Vì vậy, tôi đã mong đợi mạng lưới đàn hồi sẽ hoạt động khác với Lasso và cho thấy hiệu ứng nhóm (trong trường hợp các biến tương quan).
người mới bắt đầu

Bạn có thể chỉ cần sử dụng một hình phạt sườn núi mạnh mẽ hơn?
dcl

Bạn đã kiểm tra df điều chỉnh đa hướng? các biến nhân tố thường có tính đa hình vì chúng loại trừ lẫn nhau. Tôi không biết liệu loại đa hình này có gây ra vấn đề với Lasso hay không.
Bakaburg
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.