ตอบ: วิธีคำนวณอัตราส่วนอัตราต่อรองในแบบจำลองการถดถอยโลจิสติก
การถดถอยแบบลอจิสติก เป็นวิธีการที่เราสามารถใช้เพื่อให้พอดีกับแบบจำลองการถดถอยเมื่อตัวแปรตอบสนองเป็นไบนารี
เมื่อคุณใส่โมเดลการถดถอยโลจิสติกใน R ค่าสัมประสิทธิ์ในการสรุปโมเดลจะแสดงถึงการเปลี่ยนแปลงโดยเฉลี่ย ในอัตราต่อรองของบันทึก ของตัวแปรตอบสนองที่เกี่ยวข้องกับการเพิ่มขึ้นหนึ่งหน่วยในตัวแปรตัวทำนายแต่ละตัว
อย่างไรก็ตาม เรามักต้องการคำนวณ อัตราส่วนอัตราต่อรอง สำหรับตัวแปรทำนายในแบบจำลองแทน
หากต้องการคำนวณอัตราส่วนอัตราต่อรองอย่างรวดเร็วสำหรับตัวแปรทำนายแต่ละตัวในโมเดล คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
exp(coef(model))
คุณยังสามารถคำนวณช่วงความเชื่อมั่น 95% สำหรับแต่ละอัตราต่อรองได้โดยใช้ไวยากรณ์ต่อไปนี้:
exp(cbind(Odds_Ratio = coef(model), confint(model)))
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้เพื่อคำนวณและตีความอัตราส่วนอัตราต่อรองสำหรับแบบจำลองการถดถอยโลจิสติกใน R
ตัวอย่าง: การคำนวณอัตราส่วนอัตราต่อรองในแบบจำลองการถดถอยโลจิสติกใน R
สำหรับตัวอย่างนี้ เราจะใช้ชุดข้อมูล เริ่มต้น จากแพ็คเกจ ISLR ใน R
เราสามารถใช้โค้ดต่อไปนี้เพื่อโหลดและแสดงข้อมูลสรุปของชุดข้อมูล:
library (ISLR) #view first five rows of Default dataset head(Default) default student balance income 1 No No 729.5265 44361.625 2 No Yes 817.1804 12106.135 3 No No 1073.5492 31767.139 4 No No 529.2506 35704.494 5 No No 785.6559 38463.496 6 No Yes 919.5885 7491.559
ชุดข้อมูลนี้มีข้อมูลต่อไปนี้เกี่ยวกับบุคคล 10,000 คน:
- ค่าเริ่มต้น: ระบุว่าบุคคลนั้นผิดนัดหรือไม่
- นักเรียน: ระบุว่าบุคคลนั้นเป็นนักเรียนหรือไม่
- ยอดคงเหลือ: ยอดคงเหลือเฉลี่ยที่ถือโดยบุคคล
- รายได้: รายได้ของแต่ละบุคคล
เราจะใช้สถานะนักศึกษา ยอดคงเหลือในธนาคาร และรายได้เพื่อสร้างแบบจำลองการถดถอยลอจิสติกที่คาดการณ์ความน่าจะเป็นที่บุคคลหนึ่งๆ จะผิดนัดชำระหนี้
เราสามารถใช้ฟังก์ชัน glm และระบุ family=’binomial’ เพื่อให้ R เหมาะกับแบบจำลองการถดถอยโลจิสติกกับชุดข้อมูล:
#fit logistic regression model model <- glm(default~student+balance+income, family=' binomial ', data=Default) #disable scientific notation for model summary options(scipen=999) #view model summary summary(model) Call: glm(formula = default ~ student + balance + income, family = "binomial", data = train) Deviance Residuals: Min 1Q Median 3Q Max -2.5586 -0.1353 -0.0519 -0.0177 3.7973 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -11.478101194 0.623409555 -18.412 <0.0000000000000002 *** studentYes -0.493292438 0.285735949 -1.726 0.0843 . balance 0.005988059 0.000293765 20.384 <0.0000000000000002 *** income 0.000007857 0.000009965 0.788 0.4304 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 2021.1 on 6963 degrees of freedom Residual deviance: 1065.4 on 6960 degrees of freedom AIC: 1073.4 Number of Fisher Scoring iterations: 8
ค่าสัมประสิทธิ์ในผลลัพธ์บ่งชี้ถึงการเปลี่ยนแปลงโดยเฉลี่ยของอัตราต่อรองในบันทึกของค่าเริ่มต้น
ตัวอย่างเช่น การเพิ่มขึ้นของ ยอดคงเหลือ หนึ่งหน่วยสัมพันธ์กับการเพิ่มขึ้นเฉลี่ย 0.005988 ในความน่าจะเป็นของบันทึกที่เป็นค่าเริ่มต้น
หากต้องการคำนวณอัตราส่วนอัตราต่อรองสำหรับตัวแปรทำนายแต่ละตัวแทน เราสามารถใช้ไวยากรณ์ต่อไปนี้:
#calculate odds ratio for each predictor variable
exp(coef(model))
(Intercept) studentYes balance income
0.00001903854 0.52373166965 1.00575299051 1.00000303345
นอกจากนี้เรายังสามารถคำนวณอัตราส่วนอัตราต่อรองแต่ละรายการตลอดจนช่วงความเชื่อมั่น 95% สำหรับแต่ละอัตราส่วนอัตราต่อรอง:
#calculate odds ratio and 95% confidence interval for each predictor variable
exp(cbind(Odds_Ratio = coef(model), confint(model)))
Odds_Ratio 2.5% 97.5%
(Intercept) 0.00001903854 0.000007074481 0.0000487808
studentYes 0.52373166965 0.329882707270 0.8334223982
balance 1.00575299051 1.005308940686 1.0062238757
income 1.00000303345 0.999986952969 1.0000191246
อัตราส่วนอัตราต่อรองสำหรับแต่ละสัมประสิทธิ์แสดงถึงการเพิ่มขึ้นโดยเฉลี่ยในความน่าจะเป็นเริ่มต้นของแต่ละบุคคล โดยถือว่าตัวแปรตัวทำนายอื่นๆ ทั้งหมดยังคงที่
ตัวอย่างเช่น ยอด คงเหลือ ของตัวแปรทำนายมีอัตราส่วนอัตราต่อรองอยู่ที่ 1.0057
ซึ่งหมายความว่าสำหรับทุกๆ ดอลลาร์ที่เพิ่มขึ้นในยอดคงเหลือที่แต่ละคนถืออยู่ โอกาสที่บุคคลนั้นจะผิดนัดในการเพิ่มเงินกู้เป็นปัจจัย 1.0057 โดยสมมติว่าสถานะนักศึกษาและรายได้คงที่
เราสามารถตีความอัตราส่วนอัตราต่อรองสำหรับตัวแปรทำนายอื่นๆ ได้ในลักษณะเดียวกัน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีใช้ Predict() กับโมเดลการถดถอยโลจิสติกใน R
วิธีการตีความ Pr(>|z|) ในเอาต์พุตการถดถอยโลจิสติกใน R
วิธีการพล็อตเส้นโค้งการถดถอยโลจิสติกใน R