Compararea RMSE și a erorii pătratice medii relative
În acest exercițiu, vei demonstra că aplicarea transformării logaritmice asupra unei variabile de tip monetar înainte de modelare îmbunătățește eroarea relativă medie (dar crește RMSE) față de modelarea directă a valorii monetare. Vei compara rezultatele modelului model.log din exercițiul anterior cu un model (model.abs) care aproximează venitul în mod direct.
Seturile de date income_train și income_test au fost preîncărcate, împreună cu modelul tău, model.log.
Disponibil și:
model.abs: un model care aproximează direct venitul în funcție de variabilele de intrare, folosind formulaIncome2005 ~ Arith + Word + Parag + Math + AFQT
Acest exercițiu face parte din cursul
Învățare supervizată în R: Regresia
Instrucțiuni pentru exercițiu
- Completează spațiile libere pentru a adăuga predicțiile modelelor în
income_test.- Nu uita să aplici funcția exponențială predicțiilor din
model.logpentru a anula transformarea logaritmică!
- Nu uita să aplici funcția exponențială predicțiilor din
- Completează spațiile libere pentru a aplica
pivot_longer()predicțiilor și a calcula reziduurile și eroarea relativă. - Completează spațiile libere pentru a calcula RMSE și RMSE relativ pentru predicții.
- Care model are o eroare absolută mai mare? Dar o eroare relativă mai mare?
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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