เหตุใด Lasso หรือ ElasticNet จึงทำงานได้ดีกว่า Ridge เมื่อฟีเจอร์นั้นสัมพันธ์กัน


17

ฉันมีฟีเจอร์ 150 ชุดและส่วนใหญ่มีความสัมพันธ์ซึ่งกันและกัน เป้าหมายของฉันคือการทำนายค่าของตัวแปรที่ไม่ต่อเนื่องซึ่งเป็นช่วง1-8 ขนาดตัวอย่างของฉันคือ550และฉันใช้การตรวจสอบความถูกต้องข้าม10 เท่า

AFAIK ในบรรดาวิธีการทำให้เป็นมาตรฐาน (Lasso, ElasticNet และ Ridge) Ridge มีความเข้มงวดมากขึ้นในการเชื่อมโยงระหว่างคุณลักษณะต่างๆ นั่นคือเหตุผลที่ฉันคาดว่าด้วย Ridge ฉันควรได้คำทำนายที่แม่นยำยิ่งขึ้น อย่างไรก็ตามผลลัพธ์ของฉันแสดงว่าค่าคลาดเคลื่อนสัมบูรณ์เฉลี่ยของ Lasso หรือ Elastic อยู่ที่ประมาณ0.61ในขณะที่คะแนนนี้เท่ากับ0.97สำหรับการถดถอยของสัน ฉันสงสัยว่าอะไรจะเป็นคำอธิบายสำหรับสิ่งนี้ นี่เป็นเพราะฉันมีคุณสมบัติมากมายและ Lasso ทำงานได้ดีขึ้นเพราะทำให้การเลือกคุณสมบัติเรียงลำดับโดยกำจัดคุณสมบัติที่ซ้ำซ้อนออกไป


1
ทำไมคุณคิดว่าสันควรจะทำงานได้ดีกว่า ขนาดตัวอย่างของคุณคืออะไร
bdeonovic

1
"เข้มงวดยิ่งกว่าการถดถอย" หมายถึงอะไร
bdeonovic

1
ที่เกี่ยวข้องและเป็นประโยชน์มาก: stats.stackexchange.com/questions/25611/... stats.stackexchange.com/questions/866/...
ข Kjetil Halvorsen

คำตอบ:


21

สมมติว่าคุณมีตัวแปรทำนายที่มีความสัมพันธ์สูงสองตัวคือและสมมติว่าทั้งสองอยู่กึ่งกลางและปรับขนาด (หมายถึงศูนย์, ผลต่างหนึ่ง) แล้วโทษสันเขาบนเวกเตอร์พารามิเตอร์เป็นβ 2 1 + β 2 2ในขณะที่ระยะโทษเชือกคือ| เบต้า1 | + | β 2 | ทีนี้เนื่องจากโมเดลควรมีค่า colinear สูงดังนั้นxและzมากขึ้นหรือน้อยลงสามารถใช้แทนกันในการทำนายY , การรวมกันเชิงเส้นจำนวนมากของx , zซึ่งเราแทนกันเพียงส่วนเดียวx,zβ12+β22β1+β2xzYx,zสำหรับ zจะทำงานคล้ายกันกับตัวทำนายเช่น 0.2 x + 0.8 x , 0.3 x + 0.7 zหรือ 0.5 x + 0.5 zxz0.2x+0.8x,0.3x+0.7z0.5x+0.5zจะดีพอ ๆ กับผู้ทำนาย ทีนี้ลองดูตัวอย่างทั้งสามนี้การลงโทษด้วยเชือกในทั้งสามกรณีเท่ากันคือ 1 ในขณะที่การลงโทษสันเขาแตกต่างกันตามลำดับ 0.68, 0.58, 0.5 ดังนั้นการลงโทษสันจะชอบการให้น้ำหนักที่เท่ากันของตัวแปรโคลิเนียร์ จะไม่สามารถเลือกได้ นี่คือเหตุผลหนึ่งที่สัน (หรือโดยทั่วไปแล้วตาข่ายยืดหยุ่นซึ่งเป็นการรวมกันเชิงเส้นของการลงโทษแบบบ่วงบาศและสันเขา) จะทำงานได้ดีขึ้นกับตัวพยากรณ์แบบโคลิเนีย: เมื่อข้อมูลให้เหตุผลเล็กน้อยที่จะเลือกระหว่างการผสมแบบเชิงเส้นของตัวทำนายแบบโคลิเนีย "เดิน" ในขณะที่สันมีแนวโน้มที่จะเลือกน้ำหนักที่เท่ากัน สุดท้ายอาจเป็นการเดาที่ดีกว่าสำหรับใช้กับข้อมูลในอนาคต! และถ้าเป็นเช่นนั้นกับข้อมูลปัจจุบันสามารถแสดงในการตรวจสอบข้ามเป็นผลลัพธ์ที่ดีขึ้นกับสัน

เราสามารถดูสิ่งนี้ได้ในแบบเบย์: สันเขาและบ่วงบาศหมายถึงข้อมูลก่อนหน้าที่แตกต่างกันและข้อมูลก่อนหน้าโดยสันเขามีแนวโน้มที่จะมีเหตุผลมากขึ้นในสถานการณ์เช่นนี้ (คำอธิบายที่นี่ฉันเรียนรู้มากหรือน้อยจากหนังสือ: "การเรียนรู้เชิงสถิติด้วย Sparsity The Lasso and Generalisations" โดย Trevor Hastie, Robert Tibshirani และ Martin Wainwright แต่ตอนนี้ฉันไม่สามารถหาคำพูดได้โดยตรง)


4
จุดดีเกี่ยวกับความเป็นไปได้ของสันจะทำงานได้ดีขึ้นกับข้อมูลในอนาคต ความแตกต่างระหว่างข้อผิดพลาดในการตรวจสอบข้ามในข้อมูลปัจจุบันและประโยชน์ในข้อมูลใหม่มักจะพลาด สำหรับการประมาณค่าในช่วงหลัง OP สามารถทำซ้ำกระบวนการสร้างแบบจำลอง LASSO, elastic-net และ ridge ทั้งหมดในตัวอย่าง bootstrap ของข้อมูลจำนวนมากจากนั้นตรวจสอบข้อผิดพลาดเมื่อนำไปใช้กับชุดข้อมูลแบบเต็ม อย่างน้อยก็ทดสอบกระบวนการสร้างแบบจำลอง
EdM

ฉันไม่เห็นชัดเจนว่าทำไมจึงเป็นประโยชน์ในการเลือกน้ำหนักที่เท่ากันสำหรับข้อมูล collinear ใครบางคนสามารถอธิบายรายละเอียดเกี่ยวกับจุดนั้น?
Ramon Martinez

3

ความแตกต่างที่สำคัญที่สุดระหว่างบ่วงบาศและสันเขาคือบ่วงบาศนั้นเป็นตัวเลือกตามธรรมชาติ มันเป็นไปไม่ได้ที่จะแน่ใจอย่างแท้จริงโดยไม่เห็นค่าสัมประสิทธิ์ที่ติดตั้ง แต่มันง่ายที่จะคิดว่าในบรรดาคุณสมบัติที่มีความสัมพันธ์เหล่านั้น

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