R-Squared
Trước đó, bạn đã thấy một thước đo độ phù hợp khác, R-squared, được biểu diễn dưới dạng tỷ số giữa RSS và VAR. Khi nhân cả tử và mẫu của tỷ số với 1/n, dạng tương đương số học có thể được hiểu là tỷ số giữa phương sai của phần dư chia cho phương sai của xu hướng tuyến tính trong dữ liệu mà ta đang mô hình hóa. Điều này có thể được diễn giải như một thước đo cho biết bao nhiêu phần biến thiên trong dữ liệu của bạn được “giải thích” bởi mô hình, so với độ phân tán hay phương sai của phần dư (sau khi bạn đã loại bỏ xu hướng tuyến tính).
Ở đây chúng tôi đã nạp sẵn dữ liệu x_data, y_data và dự báo mô hình y_model cho mô hình khớp tốt nhất; mục tiêu của bạn là tính chỉ số R-squared để định lượng mức độ mà mô hình tuyến tính này giải thích được biến thiên trong dữ liệu.

Bài tập này là một phần của khóa học
Nhập môn Mô hình tuyến tính với Python
Hướng dẫn bài tập
- Tính
residualsbằng cách lấyy_modeltrừy_data, vàdeviationsbằng cách lấynp.mean()củay_datatrừy_data. - Tính phương sai của
residualsvà phương sai củadeviations, sử dụngnp.mean()vànp.square()cho từng cái. - Tính
r_squaredbằng 1 trừ tỷ sốvar_residuals / var_deviations, rồi in kết quả.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Compute the residuals and the deviations
residuals = ____ - y_data
deviations = np.____(____) - y_data
# Compute the variance of the residuals and deviations
var_residuals = np.____(np.____(____))
var_deviations = np.____(np.____(____))
# Compute r_squared as 1 - the ratio of RSS/Variance
r_squared = 1 - (____ / ____)
print('R-squared is {:0.2f}'.format(____))