一元线性回归:最小二乘、残差与决定系数
散点若呈线性趋势,便可以用一条直线概括它,并据以预测。一元线性回归 (simple linear regression) 要回答的是:无穷多条直线里取哪一条。最小二乘法 (least squares) 给出的判据是让各点到直线的竖直偏差平方和最小,由此解出的直线称为回归直线。
1 · 最小二乘解
设直线为 。第 个点的竖直偏差是 ,平方后求和得 。 是 与 的二元二次函数,对两个变量分别求偏导并令其为零,整理即得
分子正是 样本相关系数 里的 ,分母是 ,于是 与 必定同号。
演示数据取某小卖部六天的记录:气温 (单位:℃)依次为 26、18、13、10、4、−1,当日热饮销量 (单位:杯)依次为 20、24、34、38、50、64。代入后得 、,。
2 · 回归直线过样本中心
由 直接得到 ,即点 必在回归直线上,这个点称为样本中心。它给出一条便于手算的自检:算完 与 ,把 代回方程,结果应当等于 。
几何上,最小二乘先把直线钉在样本中心,再绕这个点旋转到偏差平方和最小的角度。 只是这次旋转在纵轴上的截距,单独解读它往往没有意义: 常常远在数据范围之外。
3 · 残差与残差图
第 个点的残差 (residual) 是 ,其中 。最小二乘的一阶条件保证 :残差有正有负,总和恒为零,判断拟合好坏因此不能看残差之和。残差图把 对 描点,若残差在零线上下随机散布、幅度大致均匀,线性模型就是合适的;若残差呈现弯曲的走向,或幅度随 系统性放大,说明还有未被直线吸收的结构。
注 ·「残差之和为零」是代数恒等式,浮点算术里却只是近似成立。六点数据的残差实测为 5.2841、−3.8977、−2.1364、−3.0795、−0.9659、4.7955,加起来是 而非 0。单测里若直接断言残差和严格等于 0,用例会挂在这个尾数上,判据得放宽到十位小数。
4 · 决定系数
总偏差平方和 度量 自身的波动,残差平方和 度量直线没能解释掉的那一部分。二者之比的补数称为决定系数 (coefficient of determination):
它取值在 0 与 1 之间,越大说明直线解释掉的波动越多。一元线性回归里 恰等于 。演示数据的 、,。
5 · 外推的风险
回归方程只在数据覆盖的区间里有证据支持。演示数据的气温从 −1 ℃ 到 26 ℃,在这个区间内预测称为内插;跨出去就是外推,直线在那一段的形状从未被任何观测检验过。把 推到 40 ℃,方程给出 杯——销量为负,模型在该段已经失效。区间之外的失效未必都这样显眼,多数时候只是悄悄给出一个看似合理却毫无依据的数。
警示 · 离群点对最小二乘的影响远大于直觉。给演示数据添上一个促销日 (气温不低而销量畸高),斜率 由 变到 , 由 0.9402 跌到 0.4116, 由 变到 。这一个点只占七分之一的权重,却改写了近一半的结论。平方惩罚放大远点的代价,这一性质可在 从取平均到最小二乘拟合线 里与绝对值惩罚、最大距离惩罚对照。
6 · 参考文献
- Simple linear regression. Wikipedia. 最小二乘解、回归直线过样本中心。https://en.wikipedia.org/wiki/Simple_linear_regression
- Ordinary least squares. Wikipedia. 正规方程与一阶条件。https://en.wikipedia.org/wiki/Ordinary_least_squares
- Coefficient of determination. Wikipedia. 决定系数的定义及它同 的关系。https://en.wikipedia.org/wiki/Coefficient_of_determination
- Errors and residuals. Wikipedia. 残差、残差图与模型诊断。https://en.wikipedia.org/wiki/Errors_and_residuals