R - การถดถอยโลจิสติก
Logistic Regression เป็นแบบจำลองการถดถอยที่ตัวแปรตอบสนอง (ตัวแปรตาม) มีค่าหมวดหมู่เช่น True / False หรือ 0/1 จริง ๆ แล้วมันวัดความน่าจะเป็นของการตอบสนองแบบไบนารีเป็นค่าของตัวแปรตอบสนองตามสมการทางคณิตศาสตร์ที่เกี่ยวข้องกับตัวแปรทำนาย
สมการทางคณิตศาสตร์ทั่วไปสำหรับการถดถอยโลจิสติกคือ -
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
y คือตัวแปรตอบสนอง
x คือตัวแปรทำนาย
a และ b คือค่าสัมประสิทธิ์ซึ่งเป็นค่าคงที่เป็นตัวเลข
ฟังก์ชันที่ใช้ในการสร้างแบบจำลองการถดถอยคือ glm() ฟังก์ชัน
ไวยากรณ์
ไวยากรณ์พื้นฐานสำหรับ glm() ฟังก์ชันในการถดถอยโลจิสติกคือ -
glm(formula,data,family)
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
formula คือสัญลักษณ์ที่แสดงความสัมพันธ์ระหว่างตัวแปร
data คือชุดข้อมูลที่ให้ค่าของตัวแปรเหล่านี้
familyเป็นวัตถุ R เพื่อระบุรายละเอียดของโมเดล ค่าเป็นทวินามสำหรับการถดถอยโลจิสติก
ตัวอย่าง
ชุดข้อมูลที่สร้างขึ้น "mtcars" อธิบายถึงรถยนต์รุ่นต่างๆพร้อมข้อมูลจำเพาะเครื่องยนต์ต่างๆ ในชุดข้อมูล "mtcars" โหมดเกียร์ (อัตโนมัติหรือแบบแมนนวล) จะอธิบายโดยคอลัมน์ am ซึ่งเป็นค่าไบนารี (0 หรือ 1) เราสามารถสร้างแบบจำลองการถดถอยโลจิสติกระหว่างคอลัมน์ "am" และคอลัมน์อื่น ๆ อีก 3 คอลัมน์ - hp, wt และ cyl
# Select some columns form mtcars.
input <- mtcars[,c("am","cyl","hp","wt")]
print(head(input))
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
am cyl hp wt
Mazda RX4 1 6 110 2.620
Mazda RX4 Wag 1 6 110 2.875
Datsun 710 1 4 93 2.320
Hornet 4 Drive 0 6 110 3.215
Hornet Sportabout 0 8 175 3.440
Valiant 0 6 105 3.460
สร้างแบบจำลองการถดถอย
เราใช้ไฟล์ glm() ฟังก์ชันสร้างแบบจำลองการถดถอยและรับข้อมูลสรุปสำหรับการวิเคราะห์
input <- mtcars[,c("am","cyl","hp","wt")]
am.data = glm(formula = am ~ cyl + hp + wt, data = input, family = binomial)
print(summary(am.data))
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
Call:
glm(formula = am ~ cyl + hp + wt, family = binomial, data = input)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.17272 -0.14907 -0.01464 0.14116 1.27641
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 19.70288 8.11637 2.428 0.0152 *
cyl 0.48760 1.07162 0.455 0.6491
hp 0.03259 0.01886 1.728 0.0840 .
wt -9.14947 4.15332 -2.203 0.0276 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 43.2297 on 31 degrees of freedom
Residual deviance: 9.8415 on 28 degrees of freedom
AIC: 17.841
Number of Fisher Scoring iterations: 8
สรุป
โดยสรุปเนื่องจากค่า p ในคอลัมน์สุดท้ายมีค่ามากกว่า 0.05 สำหรับตัวแปร "cyl" และ "hp" เราถือว่าค่าเหล่านี้ไม่มีนัยสำคัญในการให้ค่าตัวแปร "am" เฉพาะน้ำหนัก (wt) เท่านั้นที่ส่งผลต่อค่า "am" ในแบบจำลองการถดถอยนี้