เส้นทางสัมประสิทธิ์ - การเปรียบเทียบของสันเขาบาศและการถดถอยสุทธิแบบยืดหยุ่น


13

ฉันต้องการเปรียบเทียบรุ่นที่เลือกกับสันหลัง, เชือกและยางยืด ภาพด้านล่างแสดงเส้นทางสัมประสิทธิ์โดยใช้ทั้ง 3 วิธี: สันเขา (รูป A, อัลฟา = 0), เชือก (รูป B; อัลฟา = 1) และตาข่ายยืดหยุ่น (รูป C; alpha = 0.5) วิธีการแก้ปัญหาที่ดีที่สุดขึ้นอยู่กับค่าแลมบ์ดาที่เลือกซึ่งเลือกจากการตรวจสอบข้าม

โปรไฟล์ของค่าสัมประสิทธิ์สำหรับสัน (A, alpha = 0), lasso (B, alpha = 1) และ elastic net (C, alpha = 0.5) การถดถอย  ตัวเลขที่อยู่ด้านบนของพล็อตแสดงขนาดของแบบจำลองทางออกที่ดีที่สุดขึ้นอยู่กับค่าแลมบ์ดาที่เลือก  การเลือกแลมบ์ดานั้นขึ้นอยู่กับการตรวจสอบข้าม

เมื่อดูที่แปลงเหล่านี้ฉันคาดว่าตาข่ายยืดหยุ่น (รูปที่ C) จะแสดงผลการจัดกลุ่ม อย่างไรก็ตามมันไม่ชัดเจนในกรณีที่นำเสนอ เส้นทางสัมประสิทธิ์สำหรับ lasso และ elastic net นั้นคล้ายกันมาก อะไรคือสาเหตุของสิ่งนี้ มันเป็นเพียงความผิดพลาดในการเขียนโค้ดหรือไม่? ฉันใช้รหัสต่อไปนี้ใน 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)

รหัสที่ใช้ในการพล็อตเส้นทางสัมประสิทธิ์ความยืดหยุ่นนั้นเหมือนกับของสันเขาและบ่วง ความแตกต่างเพียงอย่างเดียวคือค่าของอัลฟา พารามิเตอร์อัลฟ่าสำหรับการถดถอยสุทธิแบบยืดหยุ่นถูกเลือกโดยใช้ MSE ต่ำสุด (หมายถึงข้อผิดพลาดกำลังสอง) สำหรับค่าแลมบ์ดาที่สอดคล้องกัน

ขอขอบคุณสำหรับความช่วยเหลือของคุณ !

คำตอบ:


5

p<npn

ถ้าคุณสมบัติดั้งเดิมนั้นไม่มีความสัมพันธ์กันฉันจะบอกว่ามันสมเหตุสมผลที่ Lasso จะทำงานคล้ายกับ Elastic Net ในแง่ของเส้นทางสัมประสิทธิ์ ดูเอกสารประกอบสำหรับแพ็คเกจglmnetฉันยังไม่เห็นข้อผิดพลาดในรหัสของคุณ


ขอบคุณมากสำหรับความคิดเห็นของคุณ ฉันเริ่มคิดเกี่ยวกับวิธีการทำให้เป็นมาตรฐานเพื่อเลือกแบบจำลองที่ดีที่สุดเพราะฉันได้สังเกตเห็นความสัมพันธ์อันหลากหลายระหว่างตัวแปรของฉัน (VIF >> 10) หลายคนมีความสัมพันธ์กันที่ระดับ> 0.8 ดังนั้นฉันคาดหวังว่าตาข่ายยืดหยุ่นที่จะทำงานแตกต่างจากเชือกและแสดงผลการจัดกลุ่ม (ในกรณีของตัวแปรที่มีความสัมพันธ์)
เริ่มต้น

คุณอาจต้องใช้บทลงโทษที่รุนแรงขึ้นหรือไม่
dcl

คุณได้ตรวจสอบความหลากหลายของ df ที่ปรับแล้วหรือยัง? ตัวแปรปัจจัยมีความสัมพันธ์แบบพหุคูณโดยปกติ ฉันไม่รู้ว่า multicollinearity ชนิดนี้มีปัญหากับบ่วงบาศหรือไม่
Bakaburg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.