So sánh RMSE và Sai số tương đối bình phương trung bình căn
Trong bài tập này, bạn sẽ cho thấy rằng việc log-transform đầu ra tiền tệ trước khi mô hình hóa giúp cải thiện sai số tương đối trung bình (nhưng làm tăng RMSE) so với mô hình hóa trực tiếp đầu ra tiền tệ. Bạn sẽ so sánh kết quả của model.log từ bài trước với một mô hình (model.abs) khớp trực tiếp thu nhập.
Các tập dữ liệu income_train và income_test đã được nạp sẵn, cùng với mô hình của bạn, model.log.
Cũng có sẵn:
model.abs: một mô hình khớp trực tiếp thu nhập với các biến đầu vào theo công thứcIncome2005 ~ Arith + Word + Parag + Math + AFQT
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
- Điền vào chỗ trống để thêm dự đoán từ các mô hình vào
income_test.- Đừng quên lấy số mũ của các dự đoán từ
model.logđể đảo ngược phép biến đổi log!
- Đừng quên lấy số mũ của các dự đoán từ
- Điền vào chỗ trống để
pivot_longer()các dự đoán và tính phần dư và sai số tương đối. - Điền vào chỗ trống để tính RMSE và RMSE tương đối cho các dự đoán.
- Mô hình nào có sai số tuyệt đối lớn hơn? Sai số tương đối lớn hơn?
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.
# fmla.abs is available
fmla.abs
# model.abs is available
summary(model.abs)
# Add predictions to the test set
income_test <- income_test %>%
mutate(pred.absmodel = ___(___, income_test), # predictions from model.abs
pred.logmodel = ___(___(___, income_test))) # predictions from model.log
# pivot_longer the predictions and calculate residuals and relative error
income_long <- income_test %>%
pivot_longer(names_to = 'modeltype', values_to = 'pred', cols=c('pred.absmodel', 'pred.logmodel')) %>%
mutate(residual = ___, # residuals
relerr = ___) # relative error
# Calculate RMSE and relative RMSE and compare
income_long %>%
group_by(modeltype) %>% # group by modeltype
summarize(rmse = ___, # RMSE
rmse.rel = ___) # Root mean squared relative error