การทำความเข้าใจผลการถดถอยของสันเขา


9

ฉันใหม่เพื่อการถดถอยสัน เมื่อฉันใช้การถดถอยเชิงเส้นริดจ์ฉันได้ผลลัพธ์ดังต่อไปนี้:

>myridge = lm.ridge(y ~ ma + sa + lka + cb  + ltb , temp, lamda = seq(0,0.1,0.001))
> select(myridge)
modified HKB estimator is 0.5010689 
modified L-W estimator is 0.3718668 
smallest value of GCV  at 0 

คำถาม:

  • ตกลงเพื่อรับค่าศูนย์GCVหรือไม่
  • มันหมายความว่าอะไรกันแน่?
  • มีปัญหากับแบบจำลองของฉันหรือไม่?
  • ฉันจะหา R2ค่าของmyridge?

เปลี่ยน lamda เป็น lambda ฉันคิดว่าลำดับที่คุณระบุถูกละเว้น

คำตอบ:


20

คุณอาจจะดีกว่าด้วยแพ็คเกจลงโทษหรือแพ็คเกจglmnet ทั้งใช้ lasso หรือ elastic net เพื่อรวมคุณสมบัติของเชือก (การเลือกคุณสมบัติ) และการถดถอยของสัน (การจัดการตัวแปร collinear) ลงโทษยังไม่สันเขา แพ็คเกจทั้งสองนี้มีคุณสมบัติครบถ้วนมากกว่าlm.ridge()ในแพ็คเกจMASSสำหรับสิ่งต่าง ๆ

อย่างไรก็ตาม, λ=0หมายถึงไม่มีการลงโทษดังนั้นการประมาณการกำลังสองน้อยที่สุดจึงเหมาะสมที่สุดในแง่ที่ว่าพวกเขามีคะแนน GCV ต่ำสุด (การตรวจสอบความถูกต้องข้ามทั่วไป) อย่างไรก็ตามคุณอาจไม่ได้รับอนุญาตให้ลงโทษที่มากพอ กล่าวอีกอย่างหนึ่งการประมาณกำลังสองน้อยสุดนั้นเหมาะสมที่สุดสำหรับชุดเล็ก ๆ ของλค่าที่คุณดู พล็อตเส้นทางริดจ์ (ค่าของสัมประสิทธิ์เป็นฟังก์ชันของλและดูว่าร่องรอยมีเสถียรภาพหรือไม่ ถ้าไม่เพิ่มช่วงของλ ประเมินค่า


5

เหตุผลที่คุณได้รับ 0 GCV เป็นเพราะคุณใช้:

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lamda = seq (0,0.1,0.001))

แทน

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lambda = seq (0,0.1,0.001))

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