Преобразование входных переменных перед моделированием

Обучение с учителем в R: регрессия

Nina Zumel and John Mount

Win-Vector LLC

Зачем преобразовывать входные переменные

  • Экспертные знания / синтетические переменные
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
Обучение с учителем в R: регрессия

Зачем преобразовывать входные переменные

  • Экспертные знания / синтетические переменные
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
  • Практические причины
    • Логарифмирование для уменьшения динамического диапазона
    • Логарифмирование, если значимые изменения переменной мультипликативны
Обучение с учителем в R: регрессия

Зачем преобразовывать входные переменные

  • Экспертные знания / синтетические переменные
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
  • Практические причины
    • Логарифмирование для уменьшения динамического диапазона
    • Логарифмирование, если значимые изменения переменной мультипликативны
    • $y$ приблизительно линейно зависит от $f(x)$, а не от $x$
Обучение с учителем в R: регрессия

Пример: прогнозирование тревожности

Обучение с учителем в R: регрессия

Преобразование переменной hassles

Обучение с учителем в R: регрессия

Возможные варианты подгонки

Что лучше?

  • anx ~ I(hassles^2)
  • anx ~ I(hassles^3)
  • anx ~ I(hassles^2) + I(hassles^3)
  • anx ~ exp(hassles)
  • ...

I(): интерпретировать выражение буквально (не как взаимодействие)

Обучение с учителем в R: регрессия

Сравнение моделей

Линейная, квадратичная и кубическая модели

mod_lin <- lm(anx ~ hassles, hassleframe)
summary(mod_lin)$r.squared
0.5334847
mod_quad <- lm(anx ~ I(hassles^2), hassleframe)
summary(mod_quad)$r.squared
0.6241029
mod_tritic <- lm(anx ~ I(hassles^3), hassleframe)
summary(mod_tritic)$r.squared
0.6474421
Обучение с учителем в R: регрессия

Сравнение моделей

Оценка моделей с помощью кросс-валидации

Модель RMSE
Линейная ($hassles$) 7,69
Квадратичная ($hassles^2$) 6,89
Кубическая ($hassles^3$) 6,70
Обучение с учителем в R: регрессия

Давайте потренируемся!

Обучение с учителем в R: регрессия

Preparing Video For Download...