Saya ingin membandingkan model yang dipilih dengan punggungan, laso dan jaring elastis. Gambar. Di bawah ini menunjukkan koefisien jalur menggunakan ketiga metode: ridge (Gambar A, alpha = 0), laso (Gambar B; alpha = 1) dan jaring elastis (Gambar C; alpha = 0,5). Solusi optimal tergantung pada nilai yang dipilih dari lambda, yang dipilih berdasarkan validasi silang.
Ketika melihat plot-plot ini, saya mengharapkan jaring elastis (Gambar C) menunjukkan efek pengelompokan. Namun tidak jelas dalam kasus yang disajikan. Jalur koefisien untuk laso dan jaring elastis sangat mirip. Apa yang bisa menjadi alasan untuk ini? Apakah ini hanya kesalahan pengkodean? Saya menggunakan kode berikut di 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)
Kode yang digunakan untuk plot jalur koefisien jaring elastis persis sama dengan untuk ridge dan laso. Satu-satunya perbedaan adalah pada nilai alpha. Parameter alpha untuk regresi jaring elastis dipilih berdasarkan MSE terendah (mean squared error) untuk nilai-nilai lambda yang sesuai.
Terima kasih untuk bantuannya !