Transformacja zmiennych przed modelowaniem

Nadzorowane uczenie maszynowe w R: regresja

Nina Zumel and John Mount

Win-Vector LLC

Dlaczego warto transformować zmienne wejściowe

  • Wiedza dziedzinowa / zmienne syntetyczne
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
Nadzorowane uczenie maszynowe w R: regresja

Dlaczego warto transformować zmienne wejściowe

  • Wiedza dziedzinowa / zmienne syntetyczne
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
  • Powody pragmatyczne
    • Transformacja logarytmiczna — redukcja zakresu dynamicznego
    • Transformacja logarytmiczna — zmiany zmiennej mają charakter multiplikatywny
Nadzorowane uczenie maszynowe w R: regresja

Dlaczego warto transformować zmienne wejściowe

  • Wiedza dziedzinowa / zmienne syntetyczne
    • $Intelligence \sim \frac{mass.brain}{mass.body^{2/3}}$
  • Powody pragmatyczne
    • Transformacja logarytmiczna — redukcja zakresu dynamicznego
    • Transformacja logarytmiczna — zmiany zmiennej mają charakter multiplikatywny
    • $y$ w przybliżeniu liniowe względem $f(x)$, a nie $x$
Nadzorowane uczenie maszynowe w R: regresja

Przykład: prognozowanie lęku

Nadzorowane uczenie maszynowe w R: regresja

Transformacja zmiennej hassles

Nadzorowane uczenie maszynowe w R: regresja

Różne możliwe dopasowania

Co jest najlepsze?

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

I(): traktuje wyrażenie dosłownie (nie jako interakcję)

Nadzorowane uczenie maszynowe w R: regresja

Porównanie modeli

Modele liniowy, kwadratowy i sześcienny

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
Nadzorowane uczenie maszynowe w R: regresja

Porównanie modeli

Ocena modeli metodą walidacji krzyżowej

Model RMSE
Liniowy ($hassles$) 7,69
Kwadratowy ($hassles^2$) 6,89
Sześcienny ($hassles^3$) 6,70
Nadzorowane uczenie maszynowe w R: regresja

Czas na ćwiczenia!

Nadzorowane uczenie maszynowe w R: regresja

Preparing Video For Download...