QR分解与线性回归

802 阅读2分钟

1 一元回归与多元回归

任何一本初级水平的计量经济学、统计学或机器学习相关书籍,都会详细推导多元线性线性回归的解,在这里就不再赘述。

我们给出本文用到的一些设定。yy为NN维因变量向量,假设y=Xβ+ϵy=X\beta+\epsilon,如果自变量为pp维,将XX排为N×(p+1)N\times (p+1)矩阵,其中第一列x⋅0=1Nx_{\cdot 0}=1_N为全是11的截距项,我们有最小二乘估计:

β^=(X′X)−1X′y\hat \beta = (X'X)^{-1}X'y

如果是单变量回归,并且没有截距项的话,将自变量记为NN维向量xx,y=x′βy=x'\beta中β\beta的最小二乘估计为

β^=x′yx′x\hat\beta=\dfrac{x'y}{x'x}

二者有何联系?如果在多变量回归中,XX的列向量相互正交即X′XX'X为对角矩阵,则可以得出,每个系数的估计值为β^j=x⋅j′yx⋅j′x⋅j\hat\beta_j=\dfrac{x_{\cdot j}'y}{x_{\cdot j}'x_{\cdot j}}。

这给了我们一种启示,能否构造出相互正交的一些维度?

2 Gram–Schmidt过程

我们用如下过程计算β^p\hat\beta_p:

  1. z⋅0=x⋅0=1Nz_{\cdot 0}=x_{\cdot 0}=1_N;
  2. 遍历j=1,…,pj = 1,\ldots,p:用x⋅jx_{\cdot j}对l=0,…,j−1l=0,\ldots, j-1的每个z⋅lz_{\cdot l}分别做无截距项的一元线性回归,分别得到系数γ^lj=z⋅l′x⋅jz⋅l′z⋅l\hat\gamma_{lj}=\dfrac{z_{\cdot l}'x_{\cdot j}}{z_{\cdot l}'z_{\cdot l}},最后得到z⋅j=x⋅j−∑k=0j=1γ^kjz⋅kz_{\cdot j}=x_{\cdot j}-\sum_{k=0}^{j=1}\hat\gamma_{kj}z_{\cdot k};
  3. 再用yy对z⋅pz_{\cdot p}做无截距项的一元回归,得到最终的β^p=z⋅p′yz⋅p′z⋅p\hat\beta_p=\dfrac{z_{\cdot p}'y}{z_{\cdot p}'z_{\cdot p}}。

由于x⋅px_{\cdot p}只在z⋅pz_{\cdot p}中出现,并且与z⋅0,…,z⋅p−1z_{\cdot 0},\ldots,z_{\cdot p-1}均正交,因此有以上结果。若ϵ∼N(0,σ2IN)\epsilon\sim N(0,\sigma^2 I_N),则该估计的方差可以写为

Var(β^p)=z⋅p′z⋅p′z⋅pVar(y)z⋅pz⋅p′z⋅p=σ2z⋅p′z⋅p\text{Var}(\hat\beta_p)=\dfrac{z_{\cdot p}'}{z_{\cdot p}'z_{\cdot p}} \text{Var}(y) \dfrac{z_{\cdot p}}{z_{\cdot p}'z_{\cdot p}} = \dfrac{\sigma^2}{z_{\cdot p}'z_{\cdot p}}

注意到,每一个维度都可以作为第pp维,因此,每一个β^j\hat\beta_j都可以用这样的方法得出。

3 QR分解

如果补充上γ^jj=0\hat\gamma_{jj}=0,其中j=0,…,pj=0,\ldots,p,将所有的γ^ij\hat\gamma_{ij}排成(p+1)×(p+1)(p+1)\times (p+1)的上三角矩阵Γ\Gamma,同时再记Z=(z⋅0,z⋅1,…,z⋅p)Z=(z_{\cdot 0}, z_{\cdot 1},\ldots, z_{\cdot p}),则有

X=ZΓX=Z\Gamma

再构造一个(p+1)×(p+1)(p+1)\times (p+1)的对角矩阵DD,对角线元素为Dii=∥z⋅i∥D_{ii}=\Vert z_{\cdot i}\Vert,即Z′Z=D2Z'Z=D^2,在上式中间插入D−1D=Ip+1D^{-1}D=I_{p+1},则有

X=ZΓ=ZD−1DΓX=Z\Gamma = ZD^{-1}D\Gamma

记Q=ZD−1Q=ZD^{-1},R=DΓR=D\Gamma,这就是矩阵XX的QR分解:X=QRX=QR。

由于ZZ的列向量相互正交,因此Q′Q=D−1Z′ZD=Ip+1Q'Q=D^{-1}Z'ZD=I_{p+1},而RR还是一个上三角矩阵。利用QR分解,我们可以将最小二乘估计写为

β^=R−1Q′y\hat\beta = R^{-1}Q'y

并有拟合值

y^=QQ′y\hat y=QQ'y

由于RR是上三角矩阵,且最后一行为(0,…,0,∥z⋅p∥)(0,\ldots,0,\Vert z_{\cdot p}\Vert),因此R−1R^{-1}也是上三角矩阵,且最后一行为(0,…,0,1/∥z⋅p∥)(0,\ldots,0,1/\Vert z_{\cdot p}\Vert)。再利用Q=(z⋅0/∥z⋅0∥,z⋅1/∥z⋅1∥,…,z⋅p/∥z⋅p∥)Q=(z_{\cdot 0}/\Vert z_{\cdot 0}\Vert, z_{\cdot 1}/\Vert z_{\cdot 1}\Vert,\ldots, z_{\cdot p}/\Vert z_{\cdot p}\Vert),可得出R−1Q′R^{-1}Q'的最后一行为z⋅p′/∥z⋅p∥2z_{\cdot p}'/\Vert z_{\cdot p}\Vert^2,因此,有

β^p=z⋅p′y/∥z⋅p∥2\hat\beta_p=z_{\cdot p}'y/\Vert z_{\cdot p}\Vert^2

这也与第2节的结果一致。

参考文献

  • Hastie, Trevor, Robert Tibshirani, and Jerome Friedman. The elements of statistical learning: data mining, inference, and prediction. Springer Science & Business Media, 2009.