Tính R-squared
Giờ bạn đã tính được RMSE của dự đoán từ mô hình, hãy xem mô hình khớp dữ liệu tốt đến mức nào: tức là mô hình giải thích được bao nhiêu phương sai. Bạn có thể làm điều này bằng \(R^2\).
Giả sử \(y\) là giá trị thực tế của biến mục tiêu, \(p\) là dự đoán từ mô hình, và \(res = y - p\) là phần dư của các dự đoán.
Khi đó tổng bình phương sai số so với trung bình \(tss\) ("tổng phương sai") của dữ liệu là:
$$ tss = \sum{(y - \overline{y})^2} $$
trong đó \(\overline{y}\) là giá trị trung bình của \(y\).
Tổng bình phương sai số phần dư của mô hình, \(rss\), là: $$ rss = \sum{res^2} $$
\(R^2\) (R-squared), phần "phương sai được mô hình giải thích", là:
$$ 1 - \frac{rss}{tss} $$
Sau khi bạn tính \(R^2\), hãy so sánh kết quả với \(R^2\) do glance() báo cáo (docs). glance() trả về một data frame một hàng; với mô hình hồi quy tuyến tính, một trong các cột trả về là \(R^2\) của mô hình trên dữ liệu huấn luyện.
Data frame unemployment đã được nạp sẵn, và chứa các cột predictions và residuals mà bạn đã tính ở bài trước. Đối tượng unemployment_model cũng đã sẵn sàng để bạn dùng.
Bài tập này là một phần của khóa học
Học có giám sát với R: Hồi quy
Hướng dẫn bài tập
- Tính trung bình
female_unemploymentvà gán vào biếnfe_mean. - Tính tổng bình phương sai số so với trung bình và gán vào biến
tss. - Tính tổng bình phương phần dư và gán vào biến
rss. - Tính \(R^2\). Mô hình có khớp tốt không (\(R^2\) gần 1)?
- Dùng
glance()để lấy \(R^2\) từ mô hình. Có trùng với giá trị bạn vừa tính không?
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.
# unemployment is available
summary(unemployment)
# unemployment_model is available
summary(unemployment_model)
# Calculate and print the mean female_unemployment: fe_mean
(fe_mean <- ___)
# Calculate and print the total sum of squares: tss
(tss <- ___((___ - ___)^2))
# Calculate and print residual sum of squares: rss
(rss <- ___)
# Calculate and print the R-squared: rsq
(rsq <- ___)
# Get R-squared from glance and print it
(rsq_glance <- ___(___)$___)