การตรวจจับตัวทำนายที่สำคัญจากตัวแปรอิสระจำนวนมาก


31

ในชุดข้อมูลของประชากรสองกลุ่มที่ไม่ทับซ้อนกัน (ผู้ป่วย & สุขภาพดี, รวม ) ฉันต้องการค้นหา (จากตัวแปรอิสระ) ตัวทำนายที่สำคัญสำหรับตัวแปรที่ขึ้นต่อเนื่อง มีความสัมพันธ์ระหว่างตัวทำนาย ฉันสนใจที่จะทราบว่าตัวทำนายใด ๆ ที่เกี่ยวข้องกับตัวแปรตาม "ในความเป็นจริง" (แทนที่จะทำนายตัวแปรตามให้มากที่สุด) ในขณะที่ฉันมีวิธีการมากมายที่เป็นไปได้ฉันอยากจะถามว่าวิธีไหนที่แนะนำมากที่สุดn=60300

  • จากความเข้าใจของฉันไม่แนะนำให้รวมหรือแยกตัวทำนายแบบเป็นขั้นตอน

  • เช่นใช้การถดถอยเชิงเส้นแยกกันสำหรับตัวทำนายทุกตัวและแก้ไขค่า p สำหรับการเปรียบเทียบหลาย ๆ ครั้งโดยใช้ FDR (อาจจะอนุรักษ์นิยมมาก?)

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

  • ข้อเสนอแนะอื่น ๆ ?


ฉันเคยได้ยินคนที่ใช้การถดถอยแบบปกติ L1 เพื่อทำสิ่งนี้ แต่ฉันไม่รู้จักพอที่จะเขียนคำตอบที่เหมาะสม ...
King

2
เพื่อให้คำแนะนำที่ดีที่สุดจะช่วยให้เราทราบว่าคุณจะดำเนินการอย่างไรหลังจากระบุ "ตัวทำนายที่สำคัญ" คุณกำลังพยายามทำนายผลลัพธ์ให้ได้มากที่สุด หาเค็มวิธีการทำนายมัน (เช่นใช้ชุดขึ้นไปkพยากรณ์ที่มีประสิทธิภาพจะทำ; อธิบาย ? สิ่งที่ทำให้เกิดผล "ในความเป็นจริง";? หรือสิ่งอื่นนอกจากนี้วิธีการใหญ่เป็นชุดข้อมูลของคุณ
rolando2

@rolando: ขอบคุณสำหรับความคิดเห็น! ฉันอัปเดตคำถาม: จำนวนการสังเกตทั้งหมดของฉันคือ n = 60 วิชา จุดมุ่งหมายของฉันไม่ได้ที่จะทำนายตัวแปรตามเป็นว่าเป็นไปได้ แต่ค่อนข้างที่จะอธิบายสิ่งที่ทำให้เกิดผล "ในความเป็นจริง" (= หวังที่จะหา relationsship ระหว่างตัวแปรที่อาจจะได้รับการยืนยันในการศึกษาต่อมา / ชุดข้อมูล)
jokel

ฉันยังโพสต์คำถามติดตามผลรวมถึงข้อมูลจำลองบางตัวด้วย ฉันจะขอบคุณมากสำหรับคำแนะนำทั้งหมด stats.stackexchange.com/questions/34859/…
jokel

คำตอบ:


30

ฉันขอแนะนำให้ลอง glm กับการทำให้เป็นมาตรฐาน การทำเช่นนี้เป็นการเพิ่มบทลงโทษสำหรับจำนวนตัวแปรและเมื่อคุณเพิ่มบทลงโทษจำนวนตัวแปรในตัวแบบจะลดลง

คุณควรใช้การตรวจสอบข้ามเพื่อเลือกค่าของพารามิเตอร์การลงโทษ ถ้าคุณมี R, ผมขอแนะนำให้ใช้แพคเกจ glmnet ใช้alpha=1สำหรับการถดถอยแบบ lasso และalpha=0สำหรับการถดถอยแบบสัน การตั้งค่าระหว่าง 0 และ 1 จะใช้การรวมกันของบ่วงบาศและสันเขาบทลงโทษหรือที่เรียกว่าตาข่ายยืดหยุ่น


4
ฉันเห็นด้วยกับ Zach David Cassell และฉันเขียนบทความเกี่ยวกับเรื่องนี้โดยมุ่งที่ SAS แต่ไม่ใช่ทั้งหมด มันถูกหยุดแบบขั้นตอน
Peter Flom - Reinstate Monica

1
ฉันคิดว่ามันเป็น 0 สำหรับสันและ 1 สำหรับ lasso
King

1
@Zach: ขอบคุณสำหรับคำแนะนำ มีวิธีที่จะได้รับสถิติการทดสอบบางอย่างที่จะช่วยให้ฉันตัดสินความสำคัญของผู้ทำนายเดี่ยวหรือไม่ ในที่สุดฉันอยากจะบอกว่า "ตัวทำนาย X สัมพันธ์กับตัวแปรตาม Y อย่างมีนัยสำคัญ"
jokel

2
เกี่ยวกับ CIs จากคู่มือของแพ็คเกจ R อื่นที่ใช้ LASSO ( cran.r-project.org/web/packages/penalized/vignettes/… , หน้า 18): "เป็นคำถามที่ธรรมดามากที่จะถามข้อผิดพลาดมาตรฐานของการถดถอย ค่าสัมประสิทธิ์หรือปริมาณอื่น ๆ โดยประมาณในหลักการข้อผิดพลาดมาตรฐานดังกล่าวสามารถคำนวณได้ง่ายเช่นการใช้ bootstrap ถึงกระนั้นแพคเกจนี้จงใจไม่ได้ให้พวกเขาเหตุผลสำหรับสิ่งนี้คือข้อผิดพลาดมาตรฐานนั้นไม่มีความหมายมาก จากวิธีการประเมินที่ถูกลงโทษ "
miura

2
@miura เพิ่งเปิดตัวเป็นสถิติทดสอบเพียงแค่นั้นโดยผู้เขียน Lasso เดิมเช่นกัน: กระดาษและภาพนิ่ง (ง่ายต่อการอ่าน)
Cam.Davidson.Pilon

23

หากต้องการขยายคำตอบของ Zach (+1) หากคุณใช้วิธี LASSO ในการถดถอยเชิงเส้นคุณกำลังพยายามลดผลรวมของสมการกำลังสองและฟังก์ชันค่าสัมบูรณ์เช่น:

นาทีβ(Y-Xβ)T(Y-Xβ)+Σผม|βผม|

ส่วนแรกเป็นกำลังสองใน (ด้านล่างสีทอง) และส่วนที่สองเป็นรูปทรงสี่เหลี่ยมจัตุรัส (สีเขียวด้านล่าง) เส้นสีดำคือเส้นตัดกัน βฟังก์ชันวัตถุประสงค์ LASSO

ค่าต่ำสุดอยู่ที่เส้นโค้งของจุดตัดที่นี่วางแผนด้วยเส้นโค้งรูปร่างของเส้นโค้งกำลังสองและรูปสี่เหลี่ยม:

เส้นโค้งของ LASSO

คุณสามารถดูว่าค่าต่ำสุดอยู่ที่หนึ่งในแกนดังนั้นมันจึงกำจัดตัวแปรนั้นออกจากการถดถอย

คุณสามารถตรวจสอบการโพสต์บล็อกของฉันในการใช้การลงโทษสำหรับการถดถอยและการเลือกตัวแปร (หรือที่เรียกว่าการทำให้เป็นมาตรฐาน Lasso) L1


8
(+1) แต่สำหรับโพสต์บล็อกซึ่งดีจริงๆ มันจะดีถ้าคุณจะขยายคำตอบของคุณที่นี่บ้างเพราะมันจะเพิ่มโอกาสของข้อมูลที่เหลืออยู่
richiemorrisroe

2

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

และสถานะสุขภาพเกี่ยวข้องกับงานทำนายอย่างไร

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

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


2

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


1

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


นี่เป็นเรื่องจริงโดยเฉพาะอย่างยิ่งเมื่อ n << p ดูกระดาษสุทธิยืดหยุ่นนี้ต้นฉบับ: stanford.edu/~hastie/Papers/…
Cam.Davidson.Pilon

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