ComeçarComece de graça

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:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (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

Ver curso

Instruções do exercício

  • Chame summary() em income_train$Income2005 para 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ável fmla.log. Imprima-a.
  • Ajuste um modelo linear de log(Income2005) aos dados income_train: model.log.
  • Use model.log para prever a renda no conjunto income_test. Coloque na coluna logpred.
    • Verifique o summary() de logpred para ver que as magnitudes são bem diferentes das de Income2005.
  • Inverta a transformação log para colocar as previsões em "unidades monetárias": exp(income_test$logpred).
    • Verifique o summary() de pred.income e veja que as magnitudes agora são semelhantes às de Income2005.
  • 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")
Editar e executar o código