Comparar RMSE y la raíz del error cuadrático medio relativo
En este ejercicio, vas a demostrar que aplicar una transformación logarítmica a una salida monetaria antes de modelar mejora el error relativo medio (pero aumenta el RMSE) en comparación con modelar directamente la salida monetaria. Compararás los resultados de model.log del ejercicio anterior con un modelo (model.abs) que ajusta directamente los ingresos.
Los conjuntos de datos income_train e income_test ya están precargados, junto con tu modelo, model.log.
También disponible:
model.abs: un modelo que ajusta directamente los ingresos a las variables de entrada usando la fórmulaIncome2005 ~ Arith + Word + Parag + Math + AFQT
Este ejercicio forma parte del curso
Aprendizaje supervisado en R: Regresión
Instrucciones del ejercicio
- Rellena los huecos para añadir las predicciones de los modelos a
income_test.- ¡No olvides aplicar la exponencial a las predicciones de
model.logpara deshacer la transformación logarítmica!
- ¡No olvides aplicar la exponencial a las predicciones de
- Rellena los huecos para usar
pivot_longer()con las predicciones y calcular los residuos y el error relativo. - Rellena los huecos para calcular el RMSE y el RMSE relativo de las predicciones.
- ¿Qué modelo tiene mayor error absoluto? ¿Y mayor error relativo?
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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