EmpezarEmpieza gratis

Modelización de una salida monetaria con log-transformación

En este ejercicio, practicarás cómo modelar una variable monetaria tras aplicar un logaritmo y, después, cómo volver a convertir las predicciones de "log-dinero" a unidades monetarias. Los datos cargados recogen los ingresos de los sujetos en 2005 (Income2005), así como los resultados de varias pruebas de aptitud realizadas por los sujetos en 1981:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (percentil en el Armed Forces Qualifying Test)

Los datos ya se han dividido en conjuntos de entrenamiento y prueba (income_train e income_test, respectivamente) y están precargados. Construirás un modelo de log(income) a partir de las variables de entrada y luego convertirás log(income) de nuevo a income.

Este ejercicio forma parte del curso

Aprendizaje supervisado en R: Regresión

Ver curso

Instrucciones del ejercicio

  • Llama a summary() sobre income_train$Income2005 para ver los estadísticos resumen de los ingresos en el conjunto de entrenamiento.
  • Escribe una fórmula que exprese log(Income2005) como función de las cinco pruebas en la variable fmla.log. Imprímela.
  • Ajusta un modelo lineal de log(Income2005) con los datos de income_train: model.log.
  • Usa model.log para predecir los ingresos en el conjunto income_test. Guarda el resultado en la columna logpred.
    • Revisa summary() de logpred para comprobar que las magnitudes son muy diferentes de las de Income2005.
  • Invierte la transformación logarítmica para poner las predicciones en "unidades monetarias": exp(income_test$logpred).
    • Revisa summary() de pred.income y comprueba que ahora las magnitudes son similares a las de Income2005.
  • Rellena los espacios en blanco para trazar un diagrama de dispersión de ingresos predichos frente a ingresos en el conjunto de prueba.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Examine Income2005 in the training set
___

# Write the formula for log income as a function of the tests and print it
(fmla.log <- ___)

# Fit the linear model
model.log <-  ___

# Make predictions on income_test
income_test$logpred <- ___
summary(income_test$logpred)

# Convert the predictions to monetary units
income_test$pred.income <- ___
summary(income_test$pred.income)

#  Plot predicted income (x axis) vs income
ggplot(___, aes(x = ___, y = ___)) + 
  geom_point() + 
  geom_abline(color = "blue")
Editar y ejecutar código