วิธีการหาปริมาณความสำคัญตัวแปรสัมพัทธ์ในการถดถอยโลจิสติกในแง่ของ p?


11

สมมติว่ารูปแบบการถดถอยโลจิสติกใช้ในการทำนายว่านักช็อปออนไลน์จะซื้อผลิตภัณฑ์ (ผลลัพธ์: ซื้อ) หรือไม่หลังจากที่เขาคลิกชุดโฆษณาออนไลน์ (ผู้ทำนาย: Ad1, Ad2 และ Ad3)

ผลลัพธ์ที่ได้คือตัวแปรไบนารี: 1 (ซื้อแล้ว) หรือ 0 (ไม่ระบุ) ตัวทำนายยังเป็นตัวแปรไบนารี: 1 (คลิก) หรือ 0 (ไม่ได้คลิก) ดังนั้นตัวแปรทั้งหมดอยู่ในระดับเดียวกัน

หากค่าสัมประสิทธิ์ที่ได้ของ Ad1, Ad2 และ Ad3 คือ 0.1, 0.2 และ 03 เราสามารถสรุปได้ว่า Ad3 สำคัญกว่า Ad2 และ Ad2 สำคัญกว่า Ad1 นอกจากนี้เนื่องจากตัวแปรทั้งหมดอยู่ในระดับเดียวกันจึงควรมีค่าสัมประสิทธิ์ที่เป็นมาตรฐานและไม่ได้มาตรฐานและเราสามารถสรุปได้ว่า Ad2 มีความสำคัญมากกว่า Ad1 สองเท่าในแง่ของอิทธิพลที่มีต่อระดับ logit (log-odds)

แต่ในทางปฏิบัติเราสนใจมากขึ้นเกี่ยวกับวิธีการเปรียบเทียบและตีความความสำคัญสัมพัทธ์ของตัวแปรในแง่ของระดับ p (ความน่าจะเป็นของการซื้อ) ไม่ใช่ logit (อัตราต่อรอง)

ดังนั้นคำถามคือ: มีวิธีการวัดปริมาณความสำคัญสัมพัทธ์ของตัวแปรเหล่านี้ในแง่ของ p?


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

คำตอบ:


5

สำหรับโมเดลเชิงเส้นคุณสามารถใช้ค่าสัมบูรณ์ของสถิติ t สำหรับพารามิเตอร์แต่ละโมเดล

นอกจากนี้คุณสามารถใช้บางสิ่งเช่นฟอร์เรสต์แบบสุ่มและรับรายการนำเข้าคุณลักษณะที่ดีมาก

หากคุณใช้เช็คเอาต์ R ( http://caret.r-forge.r-project.org/varimp.html ) หากคุณใช้งานเช็คเอาท์ของไพ ธ อน ( http://scikit-learn.org/stable/auto_examples) /ensemble/plot_forest_importances.html#example-ensemble-plot-forest-importances-py )

แก้ไข:

เนื่องจาก logit ไม่มีวิธีโดยตรงในการทำเช่นนี้คุณสามารถใช้ ROC curve สำหรับตัวทำนายแต่ละตัว

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

ตัวอย่างของการทำงานใน R คือ:

library(caret)
mydata <- data.frame(y = c(1,0,0,0,1,1),
                 x1 = c(1,1,0,1,0,0),
                 x2 = c(1,1,1,0,0,1),
                 x3 = c(1,0,1,1,0,0))

fit <- glm(y~x1+x2+x3,data=mydata,family=binomial())
summary(fit)

varImp(fit, scale = FALSE)

1
ขอบคุณสำหรับการตอบกลับของคุณ! ใช่มันง่ายสำหรับตัวแบบเชิงเส้นและฟอเรสต์แบบสุ่มคุณมีความคิดในการทำ Logistic Regression ไหม? ขอบคุณมาก!
xyhzc

ดูการแก้ไขด้านบน
mike1886

ดูเหมือนว่าคำถามเกี่ยวกับการเปรียบเทียบระดับอัตราส่วนยังไม่ได้รับคำตอบ แม้ว่าเรารู้ว่า AUC คือพูด .6 โดยใช้แค่ x1 และ .9 โดยใช้แค่ x2 เราแทบจะพูดได้ว่าความสำคัญของ x2 นั้นยิ่งใหญ่กว่า 50% และฉันก็คิดว่ามัน (1 - 10% / 40%) = 75% เราไม่สามารถทำอะไรที่คล้ายคลึงกันโดยใช้แค่ความไวหรือความจำเพาะ ฉันยังมีข้อสงสัยเกี่ยวกับการบังคับใช้สถิติของ Wald ที่นี่ มีประโยชน์มากที่สุดอาจเป็นคำอธิบายของสัมประสิทธิ์มาตรฐาน (ดูหนังสือออนไลน์ของ Scott Menard)
rolando2

ขอบคุณ rolando2! ตัวแปรในคำถามนี้เป็นการวัดทั้งหมดในตัวชี้วัดเดียวกันดังนั้นค่าสัมประสิทธิ์ที่เป็นมาตรฐานและไม่เป็นมาตรฐานควรเหมือนกัน นอกจากนี้แม้ว่าเราจะสามารถใช้สัมประสิทธิ์มาตรฐานเพื่อเปรียบเทียบตัวแปรในระดับ logit (อัตราต่อรอง) เราจะตีความตัวแปรใน P (ความน่าจะเป็นของการซื้อของผู้ซื้อออนไลน์ในกรณีนี้) ได้อย่างไร ขอบคุณมาก!
xyhzc

1
ฉันไม่เห็นมันตอบคำถาม
HelloWorld

4

เนื่องจากคุณได้ขอการตีความในระดับความน่าจะเป็นโดยเฉพาะ: ในการถดถอยโลจิสติกความน่าจะเป็นโดยประมาณของความสำเร็จจะได้รับจาก

π^(x)=exp(β0+βx)1+exp(β0+βx)

ด้วยการสกัดกั้น,เวกเตอร์สัมประสิทธิ์และค่าที่สังเกตได้ของคุณ ดังนั้นหากค่าสัมประสิทธิ์ของคุณคือ 0.1, 0.2 และ 0.3 และหากไม่มีการสกัดกั้น (น่าจะไม่ถูกต้องมากที่สุด แต่เพื่อความง่าย) ความน่าจะเป็นที่จะซื้อสินค้าสำหรับผู้ที่คลิกโฆษณา 1 เท่านั้นคือ:β0βx

exp(0.1)1+exp(0.1)=0.52

คนที่คลิกโฆษณา 3 เท่านั้น:

exp(0.3)1+exp(0.3)=0.57

อย่างไรก็ตามหากบุคคลที่คลิกโฆษณา 1 หรือโฆษณา 3 แต่รวมถึงโฆษณา 2 (หากนี่เป็นสถานการณ์จำลองที่น่าสงสัย) ความน่าจะเป็นจะกลายเป็น

exp(0.1+0.2)1+exp(0.1+0.2)=0.57

exp(0.3+0.2)1+exp(0.3+0.2)=0.62

ในกรณีนี้การเปลี่ยนแปลงความน่าจะเป็นคือทั้ง 0.05 แต่โดยปกติแล้วการเปลี่ยนแปลงนี้จะไม่เหมือนกันสำหรับการรวมกันของระดับที่แตกต่างกัน (คุณสามารถเห็นสิ่งนี้ได้อย่างง่ายดายถ้าคุณใช้วิธีเดียวกันกับข้างบน แต่มีสัมประสิทธิ์ 0.1, 1.5, 0.3) ดังนั้นความสำคัญของตัวแปรในระดับความน่าจะเป็นนั้นขึ้นอยู่กับระดับที่สังเกตได้ของตัวแปรอื่น ๆ สิ่งนี้อาจทำให้ยาก (เป็นไปไม่ได้หรือไม่) ที่จะเกิดขึ้นกับการวัดความสำคัญของตัวแปรเชิงปริมาณที่แน่นอนในระดับความน่าจะเป็น


ขอบคุณสำหรับคำอธิบาย! แล้วคุณรู้หรือไม่ว่ามีวิธีการทางอ้อมเพื่อวัดความสำคัญเชิงสัมพัทธ์ของตัวทำนาย? mike1886 พูดถึง "การวิเคราะห์เส้นโค้ง ROC" ในคำตอบของเขา แต่มีบางประเด็นที่กล่าวถึงโดย rolando2 ขอบคุณมาก!
xyhzc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.