การตรวจสอบความถูกต้องไขว้หลังจาก LASSO ในข้อมูลการสำรวจที่ซับซ้อน


11

ฉันกำลังพยายามเลือกรูปแบบตัวทำนายผลผู้สมัครบางคนที่ใช้ LASSO ด้วยผลลัพธ์ที่ต่อเนื่อง เป้าหมายคือการเลือกแบบจำลองที่ดีที่สุดด้วยประสิทธิภาพการทำนายที่ดีที่สุดซึ่งโดยทั่วไปสามารถทำได้โดยการตรวจสอบความถูกต้องของ K-fold cross หลังจากได้รับเส้นทางการแก้ปัญหาของพารามิเตอร์การปรับแต่งจาก LASSO ปัญหาที่นี่คือข้อมูลมาจากการออกแบบการสำรวจหลายขั้นตอนที่ซับซ้อน (NHANES) ด้วยการสุ่มตัวอย่างแบบคลัสเตอร์และการแบ่งชั้น ส่วนการประเมินไม่ยากเนื่องจากglmnetใน R สามารถรับน้ำหนักตัวอย่างได้ แต่ส่วนการตรวจสอบความถูกต้องไขว้นั้นมีความชัดเจนน้อยกว่าสำหรับฉันเนื่องจากการสังเกตการณ์ตอนนี้ไม่ได้เป็นอีกต่อไปแล้วและขั้นตอนการบัญชีสำหรับการสุ่มตัวอย่างน้ำหนักแทนประชากรที่ จำกัด ได้อย่างไร?

ดังนั้นคำถามของฉันคือ:

1) วิธีการดำเนินการตรวจสอบความถูกต้องด้วย K-fold ด้วยข้อมูลการสำรวจที่ซับซ้อนเพื่อเลือกพารามิเตอร์การปรับแต่งที่ดีที่สุดได้อย่างไร? โดยเฉพาะอย่างยิ่งวิธีแบ่งพาร์ติชันข้อมูลตัวอย่างในชุดการฝึกอบรมและการตรวจสอบความถูกต้องอย่างเหมาะสม และวิธีการกำหนดประมาณการของข้อผิดพลาดการทำนาย?

2) มีวิธีอื่นในการเลือกพารามิเตอร์การปรับที่ดีที่สุดหรือไม่?


บางทีการ resampling (เช่น bootstrap) อาจเป็นขั้นตอนที่เหมาะสมกว่าแทน k fold cv?
g3o2

Lumleyเตือนว่า "ทฤษฎีสำหรับ bootstrap ได้รับการพัฒนาสำหรับสถานการณ์ของการสุ่มตัวอย่างความน่าจะเป็นที่เท่ากันภายในแต่ละชั้นมันไม่ชัดเจนว่ามันจะทำงานได้ดีกับความน่าจะเป็นโดยพลการอย่างไร" (28) ข้อมูล NHANES ดูเหมือนจะไม่มีการสุ่มตัวอย่างความน่าจะเป็นที่เท่ากันภายในชั้น
Dan Hicks

จะน่าสนใจที่จะรู้รายละเอียดเล็ก ๆ น้อย ๆ จาก OP ไม่เห็นสิ่งที่จะซับซ้อนเกี่ยวกับกลุ่มหลายขั้นตอนและการสุ่มตัวอย่างแบบแบ่งชั้น ...
g3o2

@ ด่านฮิกส์: ฉันไม่คิดว่ามันสำคัญจริงๆเมื่อทำการสุ่มตัวอย่างใหม่คุณทำซ้ำหลาย ๆ ตัวอย่างของแผนตัวอย่างเดียวกัน
g3o2

ใช้บางอย่างเช่นวิธีที่อธิบายไว้ที่นี่หรือไม่ amstat.tandfonline.com/doi/pdf/10.1080/01621459.1988.10478591 (หรืออะไรที่ใหม่กว่านี้ไหม?) ถ้าคุณต้องการที่จะเขียนความคิดนั้นโดยมีรายละเอียดเล็ก ๆ น้อย ๆ เป็นคำตอบฉันจะมอบรางวัลให้คุณ
Dan Hicks

คำตอบ:


2

ฉันไม่มีคำตอบโดยละเอียดมีเพียงคำแนะนำบางอย่างสำหรับการทำงานที่ฉันตั้งใจจะอ่าน:

คุณสามารถดูMcConville (2011) ใน LASSO สำรวจที่ซับซ้อนเพื่อให้แน่ใจว่าการใช้ LASSO ของคุณเหมาะสมกับข้อมูลของคุณ แต่อาจไม่ใช่เรื่องใหญ่หากคุณกำลังทำ LASSO สำหรับการเลือกตัวแปรเท่านั้นจากนั้นปรับให้เหมาะสมกับตัวแปรอื่นที่เหลืออยู่

สำหรับการตรวจสอบข้ามกับข้อมูลการสำรวจที่ซับซ้อน (แม้ว่าจะไม่ใช่ LASSO) McConville ยังอ้างถึงOpsomer & Miller (2005)และ You (2009) แต่วิธีการของพวกเขาดูเหมือนจะใช้ CV แบบปล่อยครั้งเดียวไม่ใช่ K-fold

การลาออกจากที่หนึ่งควรง่ายกว่าที่จะใช้กับการสำรวจที่ซับซ้อน --- มีความกังวลน้อยลงเกี่ยวกับวิธีการแบ่งพาร์ติชันข้อมูลอย่างเหมาะสม (ในทางกลับกันอาจใช้เวลานานกว่า K-fold และหากเป้าหมายของคุณคือการเลือกรูปแบบเป็นที่รู้กันว่าการลาออกหนึ่งครั้งอาจแย่กว่า K-fold สำหรับตัวอย่างขนาดใหญ่)


0

แก้ไขโดย OP: ไม่สามารถใช้ได้กับข้อมูลการสำรวจที่ซับซ้อน

ฟังก์ชัน cv.glmet สามารถช่วยให้คุณทำการตรวจสอบความถูกต้องไขว้ได้ ค่า lambda.min คือค่าของλโดยที่ข้อผิดพลาด CV น้อยที่สุด lambda.1se แสดงถึงค่าของλในการค้นหาที่ง่ายกว่ารุ่นที่ดีที่สุด (lambda.min) แต่มีข้อผิดพลาดภายใน 1 ข้อผิดพลาดมาตรฐานของรุ่นที่ดีที่สุด

  1. เลือกตารางของค่าที่คุณสามารถเลือกได้ทั้งอัลฟาและแลมบ์ดา

กริด <- expand.grid (.alpha = (1:10) * 0.1, .lambda = (1:10) * 0.1)

  1. ตั้งค่าพารามิเตอร์ควบคุมของรุ่นของคุณ การควบคุมรถไฟด้านล่างทำซ้ำ cv เป็นเวลา 10 รอบ ดูวิธีการต่างๆที่มีและเลือกวิธีที่เหมาะสมกับสถานการณ์ปัจจุบันของคุณ

.aล.พีชั่วโมงa,> =T,ล.aม.da=ก.Rผมd

ค่า lambda.min สามารถเข้าถึงได้จากตัวแบบตามที่แสดงด้านล่าง

cv.glmmod $ lambda.min


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