建模前转换输入变量

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...