線性擬合2-正交回歸


上一篇文章使用最小二乘法來擬合直線,有一個重要的缺點就是僅考慮了因變量yy存在誤差的情況,但是很多情況下,原始點的橫縱座標都會有誤差存在。

本文使用正交回歸的方法,解決了最小二乘的兩個缺點:

  1. 同時考慮了橫縱座標的誤差;
  2. 使用點法式直線方程,能夠表示二維平面上所有的點。

正交回歸

正交方法能夠同時考慮自變量xx和因變量yy的誤差。正交回歸將橫縱座標殘差的平方和作爲目標函數,來求得最優解。直觀地理解,正交回歸就是找到一條直線,使得點到直線的距離之和最小。
所以如果擬合點的橫縱座標都包含誤差的情況下,使用正交回歸能夠得到更準確的結果。

目標函數

定義橫座標xx的真值爲xx^{\star},估計值爲x^\hat{x},則橫座標的誤差和殘差定義如下:
ηi=xixi \eta_i=x_i-x_i^{\star}
η^i=xix^i \hat{\eta}_i=x_i-\hat{x}_i

要綜合考慮橫縱座標的誤差,得出的目標函數應該有如下形式:
J2=[(ϵ^i)2+(η^i)2]=[(yiy^i)2+(xix^i)2] \begin{aligned} \bm{J}_2&=\sum[(\hat{\epsilon}_i)^2+(\hat{\eta}_i)^2] \\ &=\sum[(y_i-\hat{y}_i)^2+(x_i-\hat{x}_i)^2] \end{aligned}

因爲要求目標函數的最小值,所以點(x^i,y^i)(\hat{x}_i,\hat{y}_i)應該是直線上到點(xi,yi)(x_i,y_i)距離最短的點,也就是第ii個點到直線的正交投影點。所以目標函數可以寫成:
J2=di2 \bm{J}_2=\sum d_i^2

其中did_i爲第ii個點(xi,yi)(x_i,y_i)到擬合直線的距離。

求解推導

上一篇文章中,最小二乘法使用斜截式直線方程的話,會有無法表示的直線,所以本文使用點法式直線方程。

用點法式直線方程的形式來表示擬合的直線a(xx0)+b(yy0)=0a(x-x_0)+b(y-y_0)=0,其中(x0,y0)(x_0,y_0)是直線經過的一個點的座標,(a,b)(a,b)爲直線的法向量。因爲向量僅表示一個方向,其長度我們並不關心,所以爲了方便計算,我們採用直線的單位法向量來表示。所以有:
a2+b2=1 a^2+b^2=1

ii個點到直線的距離,可以表示爲向量(xix0,yiy0)(x_i-x_0,y_i-y_0)(a,b)(a,b)方向上的投影的長度,所以目標函數可以寫成:
J2=di2=([xix0,yiy0][a,b])2a2+b2=[a(xix0)+b(yiy0)]2 \begin{aligned} \bm{J}_2=\sum d_i^2&=\sum\dfrac{([x_i-x_0,y_i-y_0] \cdot [a,b])^2}{a^2+b^2} \\ &=\sum[a(x_i-x_0)+b(y_i-y_0)]^2 \end{aligned}

將目標函數J2\bm{J}_2分別對x0x_0y0y_0求導,並令其等於00,得:
J2x0=2a[a(xix0)+b(yiy0)]=0J2y0=2b[a(xix0)+b(yiy0)]=0 \begin{aligned} \dfrac{\partial \bm{J}_2}{\partial x_0}&=-2a\sum[a(x_i-x_0)+b(y_i-y_0)]=0 \\ \dfrac{\partial \bm{J}_2}{\partial y_0}&=-2b\sum[a(x_i-x_0)+b(y_i-y_0)]=0 \end{aligned}

上式等號兩邊同時除以nn,得:
a(xˉx0)+b(yˉy0)=0 a(\bar{x}-x_0)+b(\bar{y}-y_0)=0
其中xˉ\bar{x}yˉ\bar{y}分別爲xxyy的均值。

很明顯,點(xˉ,yˉ)(\bar{x},\bar{y})滿足直線方程,所以一定在直線上。因此可以令x0=xˉx_0=\bar{x}y0=yˉy_0=\bar{y}。此時目標函數變爲:
J2=[a(xixˉ)+b(yiyˉ)]2=[ab][(xixˉ)2(xibarx)(yiyˉ)(xixˉ)(yiyˉ)(yiyˉ)2][ab] \begin{aligned} \bm{J}_2&=\sum[a(x_i-\bar{x})+b(y_i-\bar{y})]^2 \\&=\left[ \begin{matrix} a & b \end{matrix}\right]\left[ \begin{matrix} \sum(x_i-\bar{x})^2 & \sum(x_i-bar{x})(y_i-\bar{y}) \\ \sum(x_i-\bar{x})(y_i-\bar{y}) & \sum(y_i-\bar{y})^2 \end{matrix}\right]\left[ \begin{matrix} a \\ b \end{matrix} \right] \end{aligned}

對目標函數J2\bm{J}_2除以nn可得:
J2=[ab][sxxsxysxysyy][ab]=vTSv \begin{aligned} \bm{J}_2 &=\left[ \begin{matrix} a & b \end{matrix}\right]\left[ \begin{matrix} \bm{s}_{xx} & \bm{s}_{xy}\\ \bm{s}_{xy} & \bm{s}_{yy} \end{matrix}\right]\left[ \begin{matrix} a \\ b \end{matrix} \right] \\&=\bm{v}^T\bm{S}\bm{v} \end{aligned}

其中
sxx\bm{s}_{xx}syy\bm{s}_{yy}分別爲xxyy的方差,sxy\bm{s}_{xy}xxyy的協方差,
v=[ab]\bm{v}= \left[ \begin{matrix} a \\ b \end{matrix} \right]S=[sxxsxysxysyy]\bm{S}= \left[ \begin{matrix} \bm{s}_{xx} & \bm{s}_{xy}\\ \bm{s}_{xy} & \bm{s}_{yy} \end{matrix} \right]

很明顯,這是一個二次型求最小值的問題。因爲S\bm{S}爲實對稱矩陣,所以可以將其進行正交對角化分解:
S=[q1q2][λ100λ2][q1Tq2T]=QΛQT \begin{aligned} \bm{S} &= \left[ \begin{matrix} \bm{q}_1 & \bm{q}_2 \end{matrix} \right] \left[ \begin{matrix} \lambda_1 & 0\\ 0 & \lambda_2 \end{matrix} \right] \left[ \begin{matrix} \bm{q}_1^T \\ \bm{q}_2^T \end{matrix} \right] \\ &=\bm{Q}\bm{\Lambda}\bm{Q}^T \end{aligned}
其中λ1\lambda_1λ2\lambda_2爲矩陣S\bm{S}的特徵值,q1\bm{q}_1q2\bm{q}_2爲對應的特徵向量,Q\bm{Q}爲特徵向量組成的矩陣,Λ\bm{\Lambda}爲特徵值組成的對角矩陣。

則有:
J2=vTSv=(vTQ)Λ(vTQ)T \begin{aligned} \bm{J}_2&=\bm{v}^T\bm{S}\bm{v}\\ &=(\bm{v^T}\bm{Q})\bm{\Lambda}(\bm{v^T}\bm{Q})^T \end{aligned}
u1=vTq1u_1=\bm{v}^T \bm{q}_1u2=vTq2u_2=\bm{v}^T \bm{q}_2u=[u1u2]\bm{u}=\left[ \begin{matrix} u_1 \\ u_2 \end{matrix} \right]則:
J2=uTΛu=λ1u12+λ2u22 \begin{aligned} \bm{J}_2&=\bm{u}^T\bm{\Lambda}\bm{u}\\ &=\lambda_1u_1^2+\lambda_2u_2^2 \end{aligned}

因爲
uTu=vTQQTv=vTv=1 \bm{u}^T\bm{u}=\bm{v}^T\bm{Q}\bm{Q}^T\bm{v}=\bm{v}^T\bm{v}=1
所以u\bm{u}爲單位矩陣,即u12+u22=1u_1^2+u_2^2=1

不妨設λ1λ2\lambda_1 \leq \lambda_2,則可以得到:當u1=1u_1=1,u2=0u_2=0的時候,J2\bm{J}_2取得最小值λ1\lambda_1。即v=q1\bm{v}=\bm{q}_1

所以最終結果是擬合直線的法向量v\bm{v}等於對應矩陣S\bm{S}最小特徵值的特徵向量。

結果整理

擬合直線方程爲:a(xx0)+b(yy0)=0a(x-x_0)+b(y-y_0)=0。其中(x0,y0)(x_0,y_0)爲直線上一點,向量u=[ab]\bm{u}=\left[ \begin{matrix} a\\ b \end{matrix}\right]爲直線的法向量。

最後結果爲:
x0=xˉx_0=\bar{x}y0=yˉy_0=\bar{y}

擬合直線的法向量v=[ab]\bm{v}=\left[ \begin{matrix} a\\ b \end{matrix}\right]爲矩陣S=[sxxsxysxysyy]\bm{S}= \left[ \begin{matrix} \bm{s}_{xx} & \bm{s}_{xy}\\ \bm{s}_{xy} & \bm{s}_{yy} \end{matrix} \right]的最小特徵值對應的特徵向量。

幾何意義

從正交回歸的直觀上的理解是:在二維平面上找到一條直線,使得每個點到直線的垂直距離之和最小。也就是說,正交回歸優化的是垂直距離。
正交回歸誤差描述

上圖中紅色線段即爲每個點的豎直誤差,正交回歸就是找到這樣一條直線,使得紅色線段的和最小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章