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
  • 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ố)
Các giá trị của β 0 , β 1 , B 2 ,…, β p được tính bằng cách sử dụng phương pháp bình phương nhỏ nhấtphương pháp này tối thiểu hóa tổng các phần dư bình phương (RSS):
RSS = Σ (y i - ŷ i ) 2

ở đây:

  • Σ : Ký hiệu tổng
  • 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:

Multiple linear regression output interpretation

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

Bài đăng phổ biến từ blog này

Mô hình IRT 3PL

Phân tích đề thi Tốt nghiệp THPT, môn Tin học 2025 và Đề thi tương tự, theo yêu cầu cần đạt và mức độ nhận thức Bloom.

Hướng Dẫn: TẠO GIA SƯ AI HỖ TRỢ HỌC TIN HỌC