EmpezarEmpieza gratis

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órmula

    Income2005 ~ Arith + Word + Parag + Math + AFQT

Este ejercicio forma parte del curso

Aprendizaje supervisado en R: Regresión

Ver curso

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.log para deshacer la transformación logarítmica!
  • 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
Editar y ejecutar código