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 :
ArithWordParagMathAFQT(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
Instructions de l’exercice
- Appelez
summary()surincome_train$Income2005pour 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 variablefmla.log. Affichez-la. - Ajustez un modèle linéaire de
log(Income2005)aux donnéesincome_train:model.log. - Utilisez
model.logpour prédire le revenu sur l'ensemble de testincome_test. Placez-le dans la colonnelogpred.- Vérifiez
summary()delogpredpour constater que les ordres de grandeur sont très différents de ceux deIncome2005.
- Vérifiez
- Inversez la transformation logarithmique pour remettre les prédictions en « unités monétaires » :
exp(income_test$logpred).- Vérifiez
summary()depred.incomeet constatez que les ordres de grandeur sont maintenant similaires à ceux deIncome2005.
- Vérifiez
- 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")