Cũng như trong các dạng hồi quy thông thường, hồi quy logistic tìm mối tương quan giữa biến độc lập `X_i` và biến phụ thuộc `Y`. Tuy nhiên biến phụ thuộc trong hồi quy logistic có kiểu định danh và chỉ có hai giá trị.
Thí dụ ta muốn tìm mối tương quan giữa tuổi `X` và bệnh tiểu đường `Y`. Bệnh tiểu đường `Y` chỉ có hai giá trị là có bệnh hay không bệnh. Câu hỏi: "Người 60 tuổi có bệnh tiểu đường hay không?" là không hợp lý. Như vậy bài toán hồi quy thông thường đặt ra cho trường hợp này là không có ý nghĩa, ngay cả khi ta đã mã hóa biến phụ thuộc bằng số (chẳng hạn bằng 0 và 1).
Có ý nghĩa hơn nếu câu hỏi là "Khả năng để người 60 tuổi có bệnh tiểu đường là bao nhiêu?". Đây chính là vấn đề mà hồi quy logistic tìm cách giải quyết.
Như vậy, về thực chất, hồi quy logistic tìm mối tương quan giữa `X_i` và xác suất `p` để `Y` có giá trị `y` nào đó. Nói cách khác chúng ta phải đi xác định xác suất có điều kiện `P(Y = y | X = x)`. Nhưng trong hồi quy logistic `Y` chỉ có hai giá trị, thí dụ 0 và 1, nên:
`P(Y=0|X=x)=1-P(Y=1|X=x)`(18)
Vì thế, ta chỉ cần tìm `P(Y=1|X=x)` là đủ. Để việc trình bày được gọn hơn, ta đặt:
`p(X)=P(Y=1|X=x)`(19)
Hàm thể hiện tương quan giữa `X` và `p`, phái đáp ứng một số ràng buộc như phải có giá trị trong khoảng 0 và 1, phải phù hợp với giá trị của xác suất `p` khi `X` trong khoảng biến thiên, . . . Người ta thấy rằng hàm phù hợp nhất là hàm logistic. Trong trường hợp mô hình tuyến tính mở rộng với 1 biến độc lập `X`, hàm logistic có dạng:
| `p(X)=e^(b_0+b_1X)/(1+e^(b_0+b_1X))` | (20) |
Và đường cong logistic có dạng như trên Hình 1.
Hình 1 Đường cong logistic
Ta thấy đường cong logistic có dạng chữ S. Dạng này phù hợp với sự biến đổi của xác suất các hiện tượng thường gặp. Đây cũng là lý do tại sao chúng ta chọn hàm logistic cho loại hồi quy này.
Trong phương trình (30), có hai hệ số là `b_0` và `b_1`. Cũng như các bài toán hồi quy khác đây là hai thừa số mà ta phải xác định để có phương trình hồi quy cụ thể cho một trường hợp cụ thể. Tuy nhiên, nguyên tắc xác định hai hệ số này không phải là bình phương cực tiểu như các trường hợp mà ta đã gặp mà là cực đại khả hợp (maximum likelihood). Phương pháp này khá phức tạp và không được đề cập ở đây. Tuy nhiên các phần mềm đều cho phép chúng ta thực hiện công việc này một cách dễ dàng.
Thí dụ
Một điều tra nghiên cứu về bệnh tiểu đường tại khu vực K cho ta mối quan hệ giữa tuổi và khả năng mắc bệnh này như được thể hiện trên Bảng 1.
| Tuoi | TD | Tuoi | TD | Tuoi | TD | Tuoi | TD | |||
|---|---|---|---|---|---|---|---|---|---|---|
| 20 | 0 | 35 | 0 | 44 | 1 | 55 | 1 | |||
| 23 | 0 | 35 | 0 | 44 | 1 | 56 | 1 | |||
| 24 | 0 | 36 | 0 | 45 | 0 | 56 | 1 | |||
| 25 | 0 | 36 | 1 | 45 | 1 | 56 | 1 | |||
| 25 | 0 | 36 | 0 | 46 | 0 | 57 | 0 | |||
| 26 | 0 | 37 | 0 | 46 | 1 | 57 | 0 | |||
| 26 | 0 | 37 | 1 | 47 | 0 | 57 | 1 | |||
| 28 | 0 | 37 | 0 | 47 | 0 | 57 | 1 | |||
| 28 | 0 | 38 | 0 | 47 | 1 | 57 | 1 | |||
| 29 | 0 | 38 | 0 | 48 | 0 | 57 | 1 | |||
| 30 | 0 | 39 | 0 | 48 | 1 | 58 | 1 | |||
| 30 | 0 | 39 | 1 | 48 | 1 | 58 | 1 | |||
| 30 | 0 | 40 | 0 | 49 | 0 | 58 | 1 | |||
| 30 | 0 | 40 | 1 | 49 | 0 | 59 | 1 | |||
| 30 | 0 | 41 | 0 | 49 | 1 | 59 | 1 | |||
| 30 | 0 | 41 | 0 | 50 | 0 | 60 | 1 | |||
| 32 | 0 | 42 | 0 | 50 | 1 | 60 | 1 | |||
| 32 | 0 | 42 | 0 | 51 | 0 | 61 | 1 | |||
| 33 | 0 | 42 | 0 | 52 | 0 | 62 | 1 | |||
| 33 | 0 | 42 | 1 | 52 | 1 | 62 | 1 | |||
| 34 | 0 | 43 | 0 | 53 | 1 | 63 | 1 | |||
| 34 | 0 | 43 | 0 | 53 | 1 | 64 | 1 | |||
| 34 | 0 | 43 | 1 | 54 | 1 | 64 | 1 | |||
| 34 | 0 | 44 | 0 | 55 | 0 | 65 | 1 | |||
| 34 | 0 | 44 | 0 | 55 | 1 | 69 | 1 |
Trong Bảng 1, TD cho biết người điều tra có bị mắc bệnh hay không, 0 là không bệnh, 1 là có bệnh.
Để xác định khả năng mắc bệnh tương ứng với tuổi của người ở khu vực K, ta dùng hồi quy logistic với sự trợ giúp của hàm glm (generalized linear model) của R. Trước hết ta nhập bảng dữ liệu này vào R với tên tdg. Sau đó dùng đoạn lệnh sau:
kq <- glm(TD ~ Tuoi, data = tdg, family = binomial)
summary(kq)
Trong đoạn lệnh trên, đối số family = binomial dùng để mô tả kiểu của biến phụ thuộc.
Kết quả thực hiện lệnh này như sau :
> summary(kq)
Call:
glm(formula = TD ~ Tuoi, family = binomial, data = tdg)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9718 -0.8456 -0.4576 0.8253 2.2859
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -5.30945 1.13365 -4.683 2.82e-06 ***
Tuoi 0.11092 0.02406 4.610 4.02e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 136.66 on 99 degrees of freedom
Residual deviance: 107.35 on 98 degrees of freedom
AIC: 111.35
Number of Fisher Scoring iterations: 4
Dựa vào kết quả này, khả năng để mắc bệnh tiểu đường của người dân khu vực K phụ thuộc vào tuổi và được biểu diễn bằng phương trình:
`p(X)=e^(-5,30495\ +\ 0,11092\ Tuoi) / (1+e^(-5,30495\ +\ 0,11092\ Tuoi))`
Ta lưu ý thêm rằng theo glm, `p(X)` là xác suất để `Y=1` (trong trường hợp này là có bệnh)
Và kết quả hồi quy logistic được thể hiện qua Hình 2.
Hình 2 Mô hình logistic cho bệnh tiểu đường theo tuổi tại khu vực K
Từ phương trình (30), ta có thể biến đổi thành:
| `(p(X)) / (1+p(X)) = e^(b_0+b_1X)` | (21) |
Vế bên trái của (21) là tỷ lệ giữa khả năng để `X=1` và khả năng để `X=0`. Nói cách khác, đó là tỷ lệ giữa khả năng để sự kiện xem xét xẩy ra và khả năng để sự kiện ấy không xảy ra. Tỷ lệ này còn được gọi là tỷ lệ thuận-nghịch (odds).
Nếu ta lấy logarit tự nhiên hai vế của (31) thì ta có:
| `ln( (p(X))/(1+p(X)) ) = b_0+b_1X` | (22) |
Vế bên trái của (22) còn có tên là logit.
Dựa vào phương trình (22), ta thấy khi `X` tăng 1 đơn vị thì logit tăng lên `b_1`, hay tỷ lệ thuận-nghịch tăng `e^(b_1)` lần (khi `b_1 > 0`).
Tỷ lệ thuận-nghịch và logit có nhiều ứng dụng thực tế khi sử dụng hồi quy logistic.
Khi ta sử dụng mô hình tuyến tính thì sự mở rộng của hồi quy logistic từ một biến ra nhiều biến tương tự sự mở rộng hồi quy tuyến tính từ một biến ra nhiều biến. Điều này có nghĩa là:
| `p(X)=e^(b_0+b_1X_1+b_2X_2+b_3X_3+...)/(1+e^(b_0+b_1X_1+b_2X_2+b_3X_3+...))` | (23) |
Các chi tiết khác của hồi quy logistic nhiều biến và một biến cũng tương tự nhau, như cũng dùng nguyên tắc cực đại khả hợp để xác định các hệ số, . . .
Thí dụ
Để xem xét nguy cơ bị bệnh tim mạch vành trên các bệnh nhân tim mạch, một điều tra đã được thực hiện trên 320 bệnh nhân của bệnh viện B. Kết quả được ghi nhận tại tập tin tim-mach-vanh.csv. Các biến trong tập tin này là:
Để phân tích mối tương quan giữa bệnh tim mạch vành và các yếu tố khác, ta dùng lệnh glm của R. Sau khi nhập bảng dữ liệu nói trên vào R với tên tmv, ta dùng đoạn lệnh sau:
kqn <- glm(TMV ~ CAT + Tuoi + CHL + TL, data = tmv, family = binomial)
summary(kqn)
Ta có kết quả sau :
> summary(kqn)
Call:
glm(formula = TMV ~ CAT + Tuoi + CHL + TL, family = binomial,
data = tmv)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.8295 -0.7121 -0.5324 0.6253 2.2546
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -8.113176 1.343523 -6.039 1.55e-09 ***
CAT 0.841564 0.373477 2.253 0.024239 *
Tuoi 0.067972 0.017607 3.861 0.000113 ***
CHL 0.010153 0.003593 2.825 0.004722 **
TL 1.533492 0.334839 4.580 4.65e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 364.22 on 319 degrees of freedom
Residual deviance: 308.14 on 315 degrees of freedom
AIC: 318.14
Number of Fisher Scoring iterations: 4
Dựa vào kết quả trên, ta khấy khả năng bị mắc bệnh tim mạch vành phụ thuộc vào hàm lượng catecholamin, cholesterol, tuổi và sử dụng thuốc lá. Mối tương quan này có thể biểu diễn bằng phương trình:
`p(X)=e^(-8,11376\ +\ 0,841546\ CAT\ +\ 0,067972\ Tuoi\ +\ 0,010153\ CHL\ +\ 1,533492\ TL) / (1 + e^(-8,11376\ +\ 0,841546\ CAT\ +\ 0,067972\ Tuoi\ +\ 0,010153\ CHL\ +\ 1,533492\ TL))`
Trang web này được cập nhật lần cuối ngày 26/11/2018
Dữ liệu đa biến
Các chuyên đề
Xử lý dữ liệu
Ma trận
R