Bài 5: Hồi quy tuyến tính bội
Khi chúng ta muốn khảo sát mối quan hệ giữa một biến dự báo và một biến phản hồi, chúng ta thường sử dụng hồi quy tuyến tính.
Tuy nhiên, nếu chúng ta muốn khảo sát mối quan hệ giữa nhiều biến dự báo và một biến phản hồi thì chúng ta cần sử dụng hồi quy tuyến tính bội.
Nếu chúng ta có p biến dự báo, thì một mô hình hồi quy tuyến tính bội có dạng:
Y = β 0 + β 1 X 1 + β 2 X 2 +… + β p X p + ε
ở đây:
- Y : Biến phản hồi
- X j : Biến dự báo thứ j
- βj : Tác động trung bình lên Y của việc gia tăng một đơn vị trong X j, và giữ cố định tất cả các yếu tố dự đoán khác
- ε : Phần lỗi (sai số)
ở đây:
- Σ : Ký hiệu tổng
- y i : Giá trị phản hồi thực tế cho lần quan sát thứ i
- ŷ i : Giá trị phản hồi dự báo dựa trên mô hình hồi quy tuyến tính bội
Diễn giải về hồi quy tuyến tính bội
Giả sử chúng ta xét mô hình hồi quy tuyến tính bội với biến dự báo là số giờ ôn tập và số lần kiểm tra để chuẩn bị cho kỳ thi đã thực hiện và điểm kỳ thi là biến phản hồi.
Xét kết quả tính toán trên Excel dưới đây:
Từ các số liệu tính toán trên, phương trình hồi quy tuyến tính bội là:
Điểm thi = 67,67 + 5,56 * (giờ ôn tập) - 0,60 * (số kỳ thi chuẩn bị)
Ở đây có thể hiểu:
- Mỗi lần tăng thêm một đơn vị số giờ ôn tập thì mức tăng trung bình của điểm thi là 5,56 điểm, giả sử số lần các kỳ kiểm tra để chuẩn bị được tổ chức không đổi.
- Mỗi kỳ kiểm tra để chuẩn bị tăng thêm một đơn vị đi kèm với điểm trung bình giảm 0,60 điểm, giả sử số giờ học không đổi.
Chúng ta cũng có thể sử dụng mô hình này để tìm điểm kỳ thi dự kiến mà học sinh sẽ nhận được dựa trên tổng số giờ đã học và các kỳ kiểm tra để chuẩn bị cho kỳ thi mà học sinh đã thực hiện. Ví dụ, một học sinh học trong 4 giờ và thực hiện 1 bài kiểm tra chuẩn bị dự kiến sẽ đạt 89,31 điểm trong kỳ thi:
Điểm thi = 67,67 + 5,56 * (4) -0,60 * (1) = 89,31
Một số thông số đáng quan tâm của mô hình:
- R-Square: Đây được gọi là hệ số xác định. Đó là tỷ lệ của phương sai của biến phản hồi có thể được giải thích bằng các biến dự báo. Trong ví dụ này, 73,4% sự thay đổi trong điểm thi có thể được giải thích bằng số giờ học và số bài kiểm tra chuẩn bị được thực hiện.
- Sai số chuẩn ( Standard Error): Đây là khoảng cách trung bình mà các giá trị quan sát được từ đường hồi quy. Trong ví dụ này, các giá trị quan sát giảm trung bình 5,366 đơn vị so với đường hồi quy.
- F: Đây là giá trị thống kê F tổng thể cho mô hình hồi quy.
- Giá trị ý nghĩa F (Significance F): Đây là giá trị p (p-value) liên quan đến thống kê F tổng thể. Nó cho chúng ta biết liệu tổng thể mô hình hồi quy có ý nghĩa thống kê hay không. Nói cách khác, nó cho chúng ta biết liệu hai biến giải thích kết hợp có mối liên hệ có ý nghĩa thống kê với biến phản hồi hay không. Trong trường hợp này, giá trị p nhỏ hơn 0,05, điều này cho thấy rằng các biến giải thích là số giờ ôn tập và các kỳ thi chuẩn bị được thực hiện kết hợp có mối liên hệ có ý nghĩa thống kê với điểm thi.
- Hệ số giá trị P. Các giá trị p riêng lẻ cho chúng ta biết liệu mỗi biến giải thích có ý nghĩa thống kê hay không. Chúng ta có thể thấy rằng số giờ ôn tập là có ý nghĩa thống kê (p = 0,00) trong khi các bài kiểm tra chuẩn bị được thực hiện (p = 0,52) không có ý nghĩa thống kê ở mức α = 0,05. Vì các bài kiểm tra chuẩn bị được thực hiện không có ý nghĩa thống kê, nên cuối cùng chúng ta có thể quyết định xóa nó khỏi mô hình.
Đánh giá sự phù hợp của một mô hình hồi quy tuyến tính bội
Có hai đại lượng thường được sử dụng để đánh giá mức độ phù hợp của mô hình hồi quy tuyến tính bội là “phù hợp” với một tập dữ liệu:
1. R-Squared: Đây là tỷ lệ của phương sai trong biến phản hồi có thể được giải thích bởi các biến dự báo.
Giá trị này có thể nằm trong khoảng từ 0 đến 1. Giá trị 0 cho biết rằng biến phản hồi không thể được giải thích bằng biến dự đoán. Giá trị 1 chỉ ra rằng biến phản hồi có thể được giải thích một cách hoàn hảo mà không bị lỗi bởi biến dự đoán.
Giá trị R-Squared của mô hình càng cao thì mô hình đó càng có khả năng phù hợp với dữ liệu tốt hơn.
2. Sai số chuẩn: Đây là khoảng cách trung bình mà các giá trị quan sát được từ đường hồi quy. Sai số tiêu chuẩn càng nhỏ, mô hình càng có khả năng phù hợp với dữ liệu tốt hơn.
Nếu chúng ta quan tâm đến việc đưa ra các dự đoán bằng cách sử dụng mô hình hồi quy, thì sai số chuẩn của hồi quy có thể là một số liệu hữu ích hơn để biết so với R- Squared vì nó cho chúng ta ý tưởng về mức độ chính xác của các dự đoán của chúng ta theo đơn vị.
Tham khảo thêm [https://www.statology.org/good-r-squared-value/] và [https://www.statology.org/standard-error-regression/]
Hồi quy tuyến tính với Python
Ví dụ: Hồi quy tuyến tính với Python
Xét lại ví dụ về mối quan hệ giữa số giờ học và số kỳ thi chuẩn bị được thực hiện có ảnh hưởng đến điểm số mà một học sinh nhận được trong một kỳ thi nhất định hay không, ở trên.
Để khám phá mối quan hệ này, chúng ta có thể thực hiện các bước sau trong Python để tiến hành hồi quy tuyến tính.
Bước 1: Nhập dữ liệu
Tạo một DataFrame để chứa tập dữ liệu:
import pandas as pd #create data df = pd.DataFrame({'hours': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5, 3, 4, 6, 2, 1, 2], 'exams': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4, 4, 4, 5, 1, 0, 1], 'score': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90, 82, 85, 99, 83, 62, 76]}) #view data df hours exams score 0 1 1 76 1 2 3 78 2 2 3 85 3 4 5 88 4 2 2 72 5 1 2 69 6 5 1 94 7 4 1 94 8 2 0 88 9 4 3 92 10 4 4 90 11 3 3 75 12 6 2 96 13 5 4 90 14 3 4 82 15 4 4 85 16 6 5 99 17 2 1 83 18 1 0 62 19 2 1 76
Bước 2: Thực hiện hồi quy tuyến tính
Tiếp theo, chúng ta sẽ sử dụng hàm OLS() từ thư viện statsmodel để thực hiện hồi quy bình phương nhỏ nhất, sử dụng “giờ” và “kỳ thi” làm biến dự đoán và “điểm” làm biến phản hồi:
import statsmodels.api as sm #define response variable y = df['score'] #define predictor variables x = df[['hours', 'exams']] #add constant to predictor variables x = sm.add_constant(x) #fit linear regression model model = sm.OLS(y, x).fit() #view model summary print(model.summary()) OLS Regression Results ============================================================================== Dep. Variable: score R-squared: 0.734 Model: OLS Adj. R-squared: 0.703 Method: Least Squares F-statistic: 23.46 Date: Fri, 24 Jul 2020 Prob (F-statistic): 1.29e-05 Time: 13:20:31 Log-Likelihood: -60.354 No. Observations: 20 AIC: 126.7 Df Residuals: 17 BIC: 129.7 Df Model: 2 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const 67.6735 2.816 24.033 0.000 61.733 73.614 hours 5.5557 0.899 6.179 0.000 3.659 7.453 exams -0.6017 0.914 -0.658 0.519 -2.531 1.327 ============================================================================== Omnibus: 0.341 Durbin-Watson: 1.506 Prob(Omnibus): 0.843 Jarque-Bera (JB): 0.196 Skew: -0.216 Prob(JB): 0.907 Kurtosis: 2.782 Cond. No. 10.8 ==============================================================================
Nhận xét
Đăng nhận xét