機率與統計 · 線性迴歸

線性迴歸

簡單線性迴歸擬合直線ŷ = a + bx,讓垂直殘差的平方和盡可能小。本頁可以平移、轉動自己的直線來尋找這個最小值,再將擬合直線與它概括的點雲比較。

線性迴歸與本頁畫面

簡單線性迴歸由xx預測yy,使用的最小平方法直線y^=a+bx\hat y = a + bx是殘差平方和最小的直線。一個點的殘差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°;一步跨過中心或水平位置時會停在該處。顯示答案時,跨過最小平方法斜率也會停下。

相關概念