R - Hồi quy logistic

Logistic Regression là một mô hình hồi quy trong đó biến phản hồi (biến phụ thuộc) có các giá trị phân loại như True / False hoặc 0/1. Nó thực sự đo xác suất của một phản hồi nhị phân dưới dạng giá trị của biến phản hồi dựa trên phương trình toán học liên hệ nó với các biến dự đoán.

Phương trình toán học tổng quát cho hồi quy logistic là:

y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))

Sau đây là mô tả về các tham số được sử dụng:

  • y là biến phản hồi.

  • x là biến dự báo.

  • ab là các hệ số là hằng số.

Hàm được sử dụng để tạo mô hình hồi quy là glm() chức năng.

Cú pháp

Cú pháp cơ bản cho glm() hàm trong hồi quy logistic là -

glm(formula,data,family)

Sau đây là mô tả về các tham số được sử dụng:

  • formula là biểu tượng trình bày mối quan hệ giữa các biến.

  • data là tập dữ liệu đưa ra giá trị của các biến này.

  • familylà đối tượng R để chỉ định các chi tiết của mô hình. Giá trị của nó là nhị thức đối với hồi quy logistic.

Thí dụ

Tập dữ liệu tích hợp "mtcars" mô tả các kiểu xe khác nhau với các thông số kỹ thuật động cơ khác nhau của chúng. Trong tập dữ liệu "mtcars", chế độ truyền (tự động hoặc thủ công) được mô tả bởi cột am là một giá trị nhị phân (0 hoặc 1). Chúng ta có thể tạo mô hình hồi quy logistic giữa các cột "am" và 3 cột khác - hp, wt và cyl.

# Select some columns form mtcars.
input <- mtcars[,c("am","cyl","hp","wt")]

print(head(input))

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:

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

Tạo mô hình hồi quy

Chúng tôi sử dụng glm() chức năng tạo mô hình hồi quy và lấy tóm tắt của nó để phân tích.

input <- mtcars[,c("am","cyl","hp","wt")]

am.data = glm(formula = am ~ cyl + hp + wt, data = input, family = binomial)

print(summary(am.data))

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:

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

Phần kết luận

Tóm lại, vì giá trị p trong cột cuối cùng lớn hơn 0,05 cho các biến "cyl" và "hp", chúng tôi coi chúng là không đáng kể trong việc đóng góp vào giá trị của biến "am". Chỉ trọng số (wt) mới tác động đến giá trị "am" trong mô hình hồi quy này.