แบบจำลองเสถียรภาพเมื่อจัดการกับขนาดใหญ่ปัญหาเล็ก


22

บทนำ:

ฉันมีชุดข้อมูลที่มีคลาสสิก "ปัญหาใหญ่, ปัญหาเล็ก" จำนวนตัวอย่างที่มีอยู่n = 150 ในขณะที่จำนวนผู้ทำนายที่เป็นไปได้p = 400 ผลลัพธ์เป็นตัวแปรต่อเนื่อง

ฉันต้องการค้นหาคำอธิบาย "สำคัญ" ที่สุดนั่นคือผู้ที่ดีที่สุดในการอธิบายผลลัพธ์และช่วยสร้างทฤษฎี

หลังจากการวิจัยในหัวข้อนี้ฉันพบว่า LASSO และ Elastic Net มักใช้ในกรณีของ p ขนาดใหญ่, n ขนาดเล็ก บางส่วนของการพยากรณ์ของฉันมีความสัมพันธ์และฉันต้องการที่จะรักษาการจัดกลุ่มของพวกเขาในการประเมินความสำคัญดังนั้นฉันเลือกใช้สำหรับยืดหยุ่นสุทธิ ฉันคิดว่าฉันสามารถใช้ค่าสัมบูรณ์ของสัมประสิทธิ์การถดถอยเป็นตัวชี้วัดสำคัญ (โปรดแก้ไขให้ฉันถ้าฉันผิดชุดข้อมูลของฉันเป็นมาตรฐาน)

ปัญหา:

เนื่องจากตัวอย่างจำนวนน้อยของฉันฉันจะสร้างแบบจำลองที่เสถียรได้อย่างไร

แนวทางปัจจุบันของฉันคือค้นหาพารามิเตอร์การปรับแต่งที่ดีที่สุด (แลมบ์ดาและอัลฟ่า) ในการค้นหากริดบน 90% ของชุดข้อมูลที่มีการตรวจสอบความถูกต้องข้าม 10 เท่าโดยเฉลี่ยคะแนน MSE จากนั้นฉันจะฝึกโมเดลด้วยพารามิเตอร์การปรับที่ดีที่สุดทั้งชุดข้อมูล 90% ฉันสามารถประเมินโมเดลของฉันโดยใช้ R กำลังสองในส่วนของ 10% ของชุดข้อมูล (ซึ่งบัญชีตัวอย่างเพียง 15 ตัวอย่าง)

เมื่อเรียกใช้โพรซีเดอร์นี้ซ้ำ ๆ ฉันพบความแปรปรวนจำนวนมากในการประเมิน R กำลังสอง เช่นกันจำนวนผู้ทำนายที่ไม่เป็นศูนย์จะแตกต่างกันไปตามค่าสัมประสิทธิ์

ฉันจะได้รับการประเมินความสำคัญของตัวพยากรณ์และการประเมินเสถียรภาพของแบบจำลองขั้นสุดท้ายได้อย่างมั่นคงมากขึ้นได้อย่างไร

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

ขณะนี้ฉันได้รับตัวทำนายที่ไม่เป็นศูนย์ประมาณ 40-50 ฉันควรลงโทษผู้ทำนายจำนวนมากขึ้นเพื่อความมั่นคงที่ดีขึ้นหรือไม่


1
บางทีการถดถอยแบบปกติอาจไม่เพียงพอ? คุณได้ลองวิธีการเรียนรู้ของเครื่องหรือยัง

ML แบบใดที่เหมาะกับตัวแปรที่ต้องอาศัยความต่อเนื่องหรือตามลำดับ
dimi

2
Random forest, SVR ... สำหรับการเลือกคุณสมบัติคุณสามารถลองวิธีที่เกี่ยวข้องทั้งหมด (ควรมีเสถียรภาพมากขึ้น) เช่น ACE หรือ Boruta

คำตอบ:


11

" อัลกอริทึมกระจัดกระจายไม่เสถียร: ทฤษฎีบทไม่มีอาหารกลางวัน "

ฉันเดาว่าหัวเรื่องพูดมาก

[... ] อัลกอริธึมกระจัดกระจายสามารถมีวิธีแก้ปัญหาที่ดีที่สุดที่ไม่ซ้ำกันและจึงไม่ดี

ตรวจสอบแบบสุ่มเชือกและพูดคุยโดยปีเตอร์ Buhlmann

ปรับปรุง:

ฉันพบว่ากระดาษนี้ง่ายต่อการติดตามมากกว่าบทความโดย Meinshausen และ Buhlmann เรียกว่า "Stability Selection"

ใน " สุ่มเชือก " ผู้เขียนพิจารณาทั้งสองข้อบกพร่องที่สำคัญของเชือกขนาดใหญ่เล็กปัญหาคือว่าพีn

  1. ในกรณีที่มีตัวแปรที่เกี่ยวข้องหลายตัว Lasso เลือกเพียงหนึ่งหรือไม่กี่ตัวเท่านั้นซึ่งนำไปสู่ความไม่แน่นอนที่คุณพูดถึง
  2. Lasso ไม่สามารถเลือกตัวแปรได้มากกว่าขนาดตัวอย่างซึ่งเป็นปัญหาสำหรับหลายรุ่นn

แนวความคิดหลักสำหรับบ่วงบาศแบบสุ่มที่สามารถจัดการกับข้อเสียของบ่วงบาศทั้งสองมีดังต่อไปนี้

หากชุดข้อมูลอิสระหลายชุดถูกสร้างขึ้นจากการกระจายตัวเดียวกันเราจะคาดหวังว่า lasso จะเลือกชุดย่อยที่ไม่เกี่ยวข้องกับตัวแปรสำคัญที่มีความสัมพันธ์สูงจากชุดข้อมูลที่แตกต่างกันและชุดสุดท้ายของเราอาจจะมากที่สุด ตัวแปรโดยการรวมกันของตัวแปรที่เลือกจากชุดข้อมูลที่แตกต่างกัน กระบวนการดังกล่าวอาจให้ผลมากกว่าตัวแปรเอาชนะข้อ จำกัด อื่น ๆ ของเชือกn

ตัวอย่าง Bootstrap ถูกวาดเพื่อจำลองชุดข้อมูลหลายชุด สัมประสิทธิ์สุดท้ายจะได้รับโดยเฉลี่ยจากผลลัพธ์ของแต่ละตัวอย่าง bootstrap

มันจะดีถ้ามีใครสามารถอธิบายและอธิบายอัลกอริทึมนี้เพิ่มเติมในคำตอบ


1
ลิงก์ที่ดี (+1)
jbowman

ขอบคุณสำหรับข้อสังเกต ฉันได้พิจารณาแบบบ่วงบาศแบบสุ่มแล้ว แต่มันจะเหมาะกับกรณีความไม่เป็นเชิงเส้นหรือไม่?
dimi

2
จะเกิดอะไรขึ้นภายใต้ความร่วมมือแบบคร่าวๆระหว่างตัวแปรอธิบาย ในอัลกอริทึมการค้นหาไปข้างหน้าแบบธรรมดาในการวิเคราะห์การถดถอยเรามักเผชิญกับสถานการณ์ที่ตัวแปรสองตัว x1 และ x2 มีกำลังอธิบายคล้ายกัน หาก x1 อยู่ในโมเดลดังนั้นไม่จำเป็นต้องรวม x2; ในทางกลับกันหาก x2 อยู่ในโมเดลไม่จำเป็นต้องรวม x1 หากฉันเข้าใจกระบวนการของคุณอย่างถูกต้องคุณจะมีแนวโน้มที่จะรวม x1 ครึ่งหนึ่งของเวลาและ x2 ครึ่งหนึ่งนำไปสู่ความน่าจะเป็นที่มีเสถียรภาพของแต่ละประมาณ 50% ถ้าเป็นเช่นนั้นคุณอาจสรุปได้ว่าเท็จไม่ต้องการตัวแปร
dimi

ฉันจินตนาการว่าฉันสามารถใช้ตาข่ายยืดหยุ่นแบบสุ่มในกรณีนี้ได้
dimi

ฉันได้เพิ่มลิงก์อื่นที่ฉันคิดว่าตอบคำถามของคุณได้ดีขึ้น
Pardis

6

แนวทางปัจจุบันของฉันคือค้นหาพารามิเตอร์การปรับแต่งที่ดีที่สุด (แลมบ์ดาและอัลฟ่า) ในการค้นหากริดบน 90% ของชุดข้อมูลที่มีการตรวจสอบความถูกต้องข้าม 10 เท่าโดยเฉลี่ยคะแนน MSE จากนั้นฉันจะฝึกโมเดลด้วยพารามิเตอร์การปรับที่ดีที่สุดทั้งชุดข้อมูล 90% ฉันสามารถประเมินโมเดลของฉันโดยใช้ R กำลังสองในส่วนของ 10% ของชุดข้อมูล (ซึ่งบัญชีตัวอย่างเพียง 15 ตัวอย่าง)

พารามิเตอร์การปรับแต่งมีความเสถียรเพียงใด?

คุณเห็นความแตกต่างอย่างมากระหว่างคุณงามความดี (เช่น MSE ของการตรวจสอบความถูกต้องของพารามิเตอร์ที่เหมาะสม) และประสิทธิภาพการทดสอบอิสระ 10% หรือไม่?

นั่นจะเป็นอาการที่เกิดจากการทำเกินกำลัง:

ปัญหาเกี่ยวกับการค้นหาตาราง (และหลายกลยุทธ์การเพิ่มประสิทธิภาพพารามิเตอร์อื่น ๆ ) คือว่าคุณโดยทั่วไปถือว่าเป็นพฤติกรรมเรียบค่อนข้าง(พารามิเตอร์ตาราง) แต่สำหรับการทดสอบขนาดเล็กชุดแปรปรวนเนื่องจากขนาดที่ทดสอบชุดเล็ก (= 135 ตัวอย่างรวม 10 CV-เท่า) จะมีขนาดใหญ่กว่าความแตกต่างที่เกิดขึ้นจริงของ(พารามิเตอร์ตาราง) ในกรณีนั้นพารามิเตอร์จะค่อนข้างไม่เสถียรMSE=(ก.RผมdพีaRaม.อีเสื้ออีRs)MSE=(ก.RผมdพีaRaม.อีเสื้ออีRs)

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

มีความเป็นไปได้หลายอย่างในการสร้างแบบจำลองรวมดังกล่าว:

  • โมเดลเชิงเส้นสามารถหาค่าเฉลี่ยได้โดยหาค่าสัมประสิทธิ์
  • โดยทั่วไปคุณสามารถทำนายตัวอย่างโดยแต่ละโมเดลแตกต่างกันและหาค่าเฉลี่ยของการคาดคะเน (คุณยังสามารถได้รับแนวคิดเกี่ยวกับความไม่แน่นอนที่ดูการกระจายของการทำนาย)ม.ม.

คำค้นหาจะเป็น "โมเดลที่สรุปรวม", "bootstrap aggregating", "bagging"

ความคิดด้านข้าง: ข้อมูลบางประเภทคาดหวังและตีความได้ว่ามีค่าความแปรปรวนร่วมกันซึ่งอาจทำให้ตัวแปร selectio "ข้าม" ระหว่างโซลูชันที่เท่าเทียมกันมากหรือน้อย


3

ไม่มีทางออก ดังที่บางคนกล่าวว่าแบบจำลองนั้นไม่เสถียรตามธรรมชาติ (ไม่เช่นนั้นสถิติก็ไม่จำเป็น)

แต่ความไม่แน่นอนทำให้เกิดข้อมูล ดังนั้นแทนที่จะพยายามกำจัดมันฉันพยายามวิเคราะห์มัน

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

ในกรณีของสุทธิยืดหยุ่นที่ผมเรียกใช้การทดสอบการตรวจสอบข้ามสำหรับแต่ละอัลฟา (0..1 0.1) กับข้อมูลที่ k เดียวกันพับ (คุณควรเปรียบเทียบ alphas ในข้อมูลชุดเดียวกัน) และเลือก /คู่ เกี่ยวข้องกับข้อผิดพลาดในการทดสอบน้อยกว่า ... ฉันทำซ้ำเกิน n ครั้งด้วยข้อมูลที่พับแบบสุ่มเลือก k พับและเลือกคู่ที่ดีที่สุดสำหรับการวนซ้ำแต่ละครั้งλα

จากนั้นฉันก็แยกค่าสัมประสิทธิ์การถดถอยสำหรับแต่ละพารามิเตอร์คู่และสิ่งนี้ทำให้ฉันกระจายค่าสำหรับแต่ละพารามิเตอร์ วิธีนี้ฉันสามารถใช้ค่าเฉลี่ย / ค่ามัธยฐานเพื่ออธิบายความแข็งแกร่งของผู้ทำนายและค่าเบี่ยงเบนมาตรฐาน / IQR เพื่ออธิบายความแปรปรวนของมันนั่นคือความมั่นคง

ตัวทำนายที่มีเสถียรภาพมากนั้นหมายความว่าคุณสามารถคาดหวังว่าผลกระทบของมันจะคล้ายกับข้อมูลใหม่ ตัวทำนายที่ไม่เสถียรแม้ในข้อมูลของคุณอาจจะไม่เสถียรแม้กับข้อมูลใหม่

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