ПочатиПочніть безкоштовно

Моделювання лог-трансформованого грошового виходу

У цій вправі ви потренуєтеся моделювати лог-трансформований грошовий показник, а потім перетворювати прогнози «log-money» назад у грошові одиниці. Завантажені дані містять доходи респондентів за 2005 рік (Income2005), а також результати кількох тестів на здібності, які вони складали у 1981 році:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT (перцентиль у тесті Armed Forces Qualifying Test)

Дані вже розділено на тренувальну та тестову вибірки (відповідно income_train і income_test) і попередньо завантажено. Ви побудуєте модель log(income) за вхідними ознаками, а потім перетворите log(income) назад у income.

Ця вправа є частиною курсу

Кероване навчання в R: регресія

Переглянути курс

Інструкції до вправи

  • Викличте summary() для income_train$Income2005, щоб переглянути підсумкову статистику доходів у тренувальній вибірці.
  • Запишіть формулу, що виражає log(Income2005) як функцію п'яти тестів, у змінну fmla.log. Виведіть її.
  • Навчіть лінійну модель log(Income2005) на даних income_train: model.log.
  • Використайте model.log, щоб передбачити дохід на наборі income_test. Запишіть його в стовпчик logpred.
    • Перевірте summary() для logpred, щоб побачити, що масштаби значно відрізняються від Income2005.
  • Зворотно застосуйте лог-трансформацію, щоб отримати прогнози в «грошових одиницях»: exp(income_test$logpred).
    • Перевірте summary() для pred.income і переконайтеся, що тепер масштаби подібні до масштабів Income2005.
  • Заповніть пропуски, щоб побудувати точкову діаграму передбаченого доходу проти фактичного доходу на тестовій вибірці.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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")
Редагувати та запускати код