QR分解与线性回归

504 阅读2分钟

1 一元回归与多元回归

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

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

β^=(XX)1Xy\hat \beta = (X'X)^{-1}X'y

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

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

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

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

2 Gram–Schmidt过程

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

  1. z0=x0=1Nz_{\cdot 0}=x_{\cdot 0}=1_N
  2. 遍历j=1,,pj = 1,\ldots,p:用xjx_{\cdot j}l=0,,j1l=0,\ldots, j-1的每个zlz_{\cdot l}分别做无截距项的一元线性回归,分别得到系数γ^lj=zlxjzlzl\hat\gamma_{lj}=\dfrac{z_{\cdot l}'x_{\cdot j}}{z_{\cdot l}'z_{\cdot l}},最后得到zj=xjk=0j=1γ^kjzkz_{\cdot j}=x_{\cdot j}-\sum_{k=0}^{j=1}\hat\gamma_{kj}z_{\cdot k}
  3. 再用yyzpz_{\cdot p}做无截距项的一元回归,得到最终的β^p=zpyzpzp\hat\beta_p=\dfrac{z_{\cdot p}'y}{z_{\cdot p}'z_{\cdot p}}

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

Var(β^p)=zpzpzpVar(y)zpzpzp=σ2zpzp\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=(z0,z1,,zp)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=ziD_{ii}=\Vert z_{\cdot i}\Vert,即ZZ=D2Z'Z=D^2,在上式中间插入D1D=Ip+1D^{-1}D=I_{p+1},则有

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

Q=ZD1Q=ZD^{-1}R=DΓR=D\Gamma,这就是矩阵XXQR分解X=QRX=QR

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

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

并有拟合值

y^=QQy\hat y=QQ'y

由于RR是上三角矩阵,且最后一行为(0,,0,zp)(0,\ldots,0,\Vert z_{\cdot p}\Vert),因此R1R^{-1}也是上三角矩阵,且最后一行为(0,,0,1/zp)(0,\ldots,0,1/\Vert z_{\cdot p}\Vert)。再利用Q=(z0/z0,z1/z1,,zp/zp)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),可得出R1QR^{-1}Q'的最后一行为zp/zp2z_{\cdot p}'/\Vert z_{\cdot p}\Vert^2,因此,有

β^p=zpy/zp2\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.