CommencezCommencez gratuitement

Modéliser une sortie monétaire transformée au logarithme

Dans cet exercice, vous allez vous exercer à modéliser une sortie monétaire transformée au logarithme, puis à reconvertir les prédictions « log-argent » en unités monétaires. Les données chargées indiquent les revenus des sujets en 2005 (Income2005) ainsi que les résultats de plusieurs tests d'aptitude passés par les sujets en 1981 :

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (centile au Armed Forces Qualifying Test)

Les données ont déjà été divisées en ensembles d'entraînement et de test (income_train et income_test, respectivement) et préchargées. Vous allez construire un modèle de log(revenu) à partir des variables explicatives, puis convertir log(revenu) de nouveau en revenu.

Cette activité fait partie du cours

Apprentissage supervisé en R : régression

Voir le cours

Instructions de l’exercice

  • Appelez summary() sur income_train$Income2005 pour voir les statistiques sommaires des revenus dans l'ensemble d'entraînement.
  • Écrivez une formule pour exprimer log(Income2005) en fonction des cinq tests dans la variable fmla.log. Affichez-la.
  • Ajustez un modèle linéaire de log(Income2005) aux données income_train : model.log.
  • Utilisez model.log pour prédire le revenu sur l'ensemble de test income_test. Placez-le dans la colonne logpred.
    • Vérifiez summary() de logpred pour constater que les ordres de grandeur sont très différents de ceux de Income2005.
  • Inversez la transformation logarithmique pour remettre les prédictions en « unités monétaires » : exp(income_test$logpred).
    • Vérifiez summary() de pred.income et constatez que les ordres de grandeur sont maintenant similaires à ceux de Income2005.
  • Remplissez les blancs pour tracer un nuage de points du revenu prédit par rapport au revenu dans l'ensemble de test.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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")
Modifier et exécuter le code