概率与统计 · 线性回归

线性回归

简单线性回归用一条直线ŷ = a + bx拟合成对的数据,取的是让竖直残差的平方和最小的那一条。本页可以平移、转动你自己的直线去找这个最小值,再把拟合线和它概括的点云对照着看。

线性回归与本页画面

简单线性回归用最小二乘直线y^=a+bx\hat y = a + bx由xx预测yy:在所有直线里,取残差平方和最小的那一条。一个点的残差e=y−y^e = y - \hat y是它在直线上方多高(在下方为负)。点不多时,每个残差配一个正方形,平方和就成了看得见的面积。你可以平移、转动自己的一条直线去找最小值,再把拟合线和一团1000个点的模拟点云对照着看。

这条线为什么经过中心(xˉ,yˉ)(\bar x, \bar y)?把任意一条直线写成y=h+b(x−xˉ)y = h + b(x - \bar x),hh是它在xˉ\bar x处的高度。它的残差加起来是n(yˉ−h)n(\bar y - h),平方和可以拆成两部分:

任意直线的平方和:高度一项,斜率一项
SSE=n(yˉ−h)2+P(b),P(b)=Syy−2b Sxy+b2Sxx\mathrm{SSE} = n(\bar y - h)^2 + P(b), \qquad P(b) = S_{yy} - 2b\,S_{xy} + b^2 S_{xx}

其中SxxS_{xx}、SyyS_{yy}、SxyS_{xy}是离均差的平方和与乘积和。第一项只和高度有关,第二项只和斜率有关,所以不论斜率是多少,最好的高度都是yˉ\bar y:最好的直线经过中心,残差加起来为0。再绕中心转,平方和沿抛物线P(b)P(b)变化。只要xx不全相同,它就只有一个最低点,在b=Sxy/Sxxb = S_{xy}/S_{xx}处。

R2R^2量的是什么?过中心的水平线y=yˉy = \bar y就是抛物线在斜率0处的那一点,它的平方和是总变差SST=Syy\mathrm{SST} = S_{yy}。回归线剩下SSE\mathrm{SSE};yy不全相同时,R2=1−SSE/SSTR^2 = 1 - \mathrm{SSE}/\mathrm{SST}就是yy的变差中被这条线解释的比例。两个坐标都有变化时R2=r2R^2 = r^2,所以相关系数0.5只解释四分之一。这里的“解释”是拟合,不是因果。

回归线为什么比点云平?在标准单位下,它的预测值是z^y=r zx\hat z_y = r\,z_x。所以当∣r∣<1|r| < 1时,一个离xˉ\bar x较远的点,预测值离yˉ\bar y的标准差个数,比它自己离xˉ\bar x的少。在模拟点云这样的椭圆形点云里,标准差线(斜率±sy/sx\pm s_y/s_x)沿着眼睛看到的点云走向;回归线比它平。这不是有什么力把数据往回拉:任何这样的数据都有这个效应。反过来用yy预测xx也一样,得到另一条过中心的线,在图上更陡。在xx的窄竖条里求yy的平均,在这样的点云里能看到这个效应:竖条平均靠近回归线,但不正好落在线上。“回归”这个名字来自高尔顿1886年对身高的研究:父母特别高或特别矮的,子女平均没有那么极端。

什么时候这条线会误导?把一个点上移1,它自己的拟合值上移它的杠杆值h=1/n+(x−xˉ)2/Sxxh = 1/n + (x - \bar x)^2/S_{xx},离xˉ\bar x越远越大。在xx方向远离其余点的孤立点,杠杆可以接近1,直线跟着它走,所以即使它和其他所有点都不一致,自己的残差也可能看着很小;就算在一大团点里,这样一个点也能把线转过去。另外,rr可以很接近1,残差却两头为正、中间为负,排成一道弯,这是直线跟不上的形状。

值得注意

  • 不论两轴比例如何,正方形在屏幕上都画成正方形,所以它们的面积能按e2e^2来比较。

操作

  • 点云上,按在它的某个点上可以读出这个点的残差和杠杆;按在空白处是加一个你自己的点。
  • 用键盘时,你的直线的枢轴用↑ ↓移动,转动把手每步转1°;一步跨过中心或水平位置时停在那里,显示答案时跨过最小二乘斜率也停。

相关概念