Modelando saída monetária com log-transformação
Neste exercício, você vai praticar a modelagem com a saída monetária transformada por log e, em seguida, transformar as previsões de "log-money" de volta para unidades monetárias. Os dados carregados registram as rendas dos participantes em 2005 (Income2005), além dos resultados de vários testes de aptidão feitos pelos participantes em 1981:
ArithWordParagMathAFQT(percentil no Armed Forces Qualifying Test)
Os dados já foram divididos em conjuntos de treino e teste (income_train e income_test, respectivamente) e pré-carregados. Você vai construir um modelo de log(income) a partir das variáveis de entrada e depois converter log(income) de volta para income.
Este exercício faz parte do curso
Aprendizado Supervisionado em R: Regressão
Instruções do exercício
- Chame
summary()emincome_train$Income2005para ver as estatísticas descritivas da renda no conjunto de treino. - Escreva uma fórmula para expressar
log(Income2005)como função dos cinco testes na variávelfmla.log. Imprima-a. - Ajuste um modelo linear de
log(Income2005)aos dadosincome_train:model.log. - Use
model.logpara prever a renda no conjuntoincome_test. Coloque na colunalogpred.- Verifique o
summary()delogpredpara ver que as magnitudes são bem diferentes das deIncome2005.
- Verifique o
- Inverta a transformação log para colocar as previsões em "unidades monetárias":
exp(income_test$logpred).- Verifique o
summary()depred.incomee veja que as magnitudes agora são semelhantes às deIncome2005.
- Verifique o
- Preencha as lacunas para gerar um gráfico de dispersão de renda prevista vs. renda no conjunto de teste.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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")