Порівняння RMSE та кореня середньоквадратичної відносної помилки
У цій вправі ви покажете, що логарифмування грошового виходу перед моделюванням покращує середню відносну помилку (але збільшує RMSE) порівняно з безпосереднім моделюванням грошового виходу. Ви порівняєте результати model.log з попередньої вправи з моделлю (model.abs), яка напряму апроксимує дохід.
Набори даних income_train і income_test уже завантажені, разом із вашою моделлю model.log.
Також доступно:
model.abs: модель, що безпосередньо підганяє дохід до вхідних змінних за формулоюIncome2005 ~ Arith + Word + Parag + Math + AFQT
Ця вправа є частиною курсу
Кероване навчання в R: регресія
Інструкції до вправи
- Заповніть пропуски, щоб додати прогнозні значення з моделей до
income_test.- Не забудьте взяти експоненту від прогнозів
model.log, щоб скасувати логарифмічне перетворення!
- Не забудьте взяти експоненту від прогнозів
- Заповніть пропуски, щоб виконати
pivot_longer()для прогнозів і обчислити залишки та відносну помилку. - Заповніть пропуски, щоб обчислити RMSE і відносний RMSE для прогнозів.
- У якої моделі більша абсолютна помилка? Більша відносна помилка?
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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