ตอบ: วิธีคำนวณอัตราส่วนอัตราต่อรองในแบบจำลองการถดถอยโลจิสติก


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

เมื่อคุณใส่โมเดลการถดถอยโลจิสติกใน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *