主要分享计量的多元线性回归模型及离差形式系数的求解过程,在学习完多元线性回归之后一时兴起用了一个小时在本子上写出了公式的推导,回到宿舍后为了方便npy看花费了两个小时转成了数学公式(主要是自己写的公式区分度不高,mathpix看了落泪),排版的过程中顿觉markdown的苍白无力,latex的交叉引用是真的好用,但因为种种原因最后还是选择了markdown作为自己写笔记的主要工具,好像也没有什么办法,毕竟不可能事事尽善尽美。

模型

\begin{equation} \begin{aligned} Y_i &=\beta_0+\beta_1 X_{i 1}+\beta_2 X_{i 2}+\ldots \beta_k X_{i k}+\mu_i \\ &=\left[\begin{array}{lllll} 1 & X_{i 1} & X_{i 2} & \ldots & X_{i k} \end{array}\right]\left(\begin{array}{c} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots\\ \beta_k \end{array}\right)+\mu_i \end{aligned} \end{equation}

类似的,将所有样本的观测值写在一起有:

[Y1Y2Yn]=[1X11X12X1kX21X22X2k1Xn1Xn2Xnk](β0β1β2βk)+[μ1μ2μn]\left[\begin{array}{c} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{array}\right]=\left[\begin{array}{ccccc} 1 & X_{11} & X_{12} & \cdots & X_{1 k} \\ \vdots & X_{21} & X_{22} & \cdots & X_{2 k} \\ \vdots & \vdots & \vdots & & \vdots \\ 1 & X_{n 1} & X_{n 2} & \cdots & X_{n k} \end{array}\right] \cdot\left(\begin{array}{c} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_k \end{array}\right)+\left[\begin{array}{c} \mu_1 \\ \mu_2 \\ \vdots \\ \mu_n \end{array}\right]

于是可以得到多元线性回归方程的矩阵表示形式:

\begin{equation} \boldsymbol{Y}=\boldsymbol{X} \boldsymbol{\beta}+\boldsymbol{\mu} \end{equation}

参数估计

对线性回归模型参数的估计,可以采用的方法有最小二乘估计、矩估计以及MLE估计(频率学派视角之下),这里只对OLS估计方法的过程加以叙述:

\begin{equation} \begin{aligned} Q&=\sum e_i^2\\ &=\sum\left(Y_i-\hat{Y}_i\right)^2\\ &=\sum\left(Y_i-\hat{\beta}_0-\hat{\beta}_1 X_{i 1}-\ldots \hat{\beta}_k X_{i k}\right)^2 \end{aligned} \end{equation}

对系数求偏导有:

\begin{equation} \left\{\begin{array}{l} \sum\left(Y_i-\hat{\beta}_0-\hat{\beta}_1 X_{i 1}-\hat{\beta}_2 X_{i 2}-\ldots \hat{\beta_k} X_{i k}\right)=0 \\ \sum X_{i 1}\left(Y_i-\hat{\beta}_0-\hat{\beta_1} X_{i 1}-\ldots \hat{\beta_k} X_{i k}\right)=0 \\ \dots \\ \sum X_{i k}\left(Y_i-\hat{\beta}_0-\hat{\beta}_1 X_{i 1}-\cdots \hat{\beta}_k X_{i k}\right)=0 \end{array}\right. \end{equation}

进一步化简有:

\begin{equation} \begin{aligned} &\sum \hat{\beta}_0+\sum X_{i1} \cdot \hat{\beta}_1+\sum X_{i2} \cdot \hat{\beta}_2+\ldots \sum X_{i k} \cdot \hat{\beta}_k=\sum Y_i\\ &\sum X_{i 1} \cdot \hat{\beta}_0+\sum X_{i1}^2 \cdot \hat{\beta}_1+\sum X_{i 1} X_{i2} \cdot \hat{\beta}_2+\ldots \sum X_{i1} X_{i k} \cdot \hat{\beta}_k=\sum X_{i 1} \cdot Y_i\\ &\sum X_{i k} \cdot \hat{\beta}_0+\sum X_{i k} X_{i1} \hat{\beta}_1+\sum X_{i k} X_{i2} \hat{\beta}_2+\ldots \sum X_{i k}^2 \cdot \hat{\beta}_k=\sum X_{i k} \cdot Y_i\\ \end{aligned} \end{equation}

接着化简会得到:

\begin{equation} \begin{aligned} &\left[\begin{array}{cccc} n & \sum X_{i 1} & \cdots & \sum X_{i k} \\ \sum X_{i 1} & \sum X_{i 1}^2 & \cdots& \sum X_{i 1} X_{i k} \\ \vdots & \vdots&&\vdots \\ \sum X_{i k} & \sum X_{i 1} X_{i k } & \cdots & \sum X_{i k}^2 \end{array}\right]&\left(\begin{array}{c} \hat{\beta_0} \\ \hat{\beta_1} \\ \hat{\beta_2} \\ \vdots\\ \hat{\beta_k} \end{array}\right)& =&\left[\begin{array}{cccc} 1 & 1 & \cdots & 1 \\ X_{11} & X_{21} & \cdots & X_{n 1} \\ \vdots & \vdots&&\vdots \\ X_{1k} & X_{2k } & \cdots & X_{n k} \end{array}\right] \cdot&\left(\begin{array}{c} Y_1 \\ Y_2 \\ \vdots\\ Y_n \end{array}\right)\\ &\boldsymbol{X'}\boldsymbol{X}&\boldsymbol{\beta}&=&\boldsymbol{X'}&\boldsymbol{y} \end{aligned} \end{equation}

两边乘一个逆矩阵可以解得:

\begin{equation} \boldsymbol{\beta}=\left(\boldsymbol{X'}\boldsymbol{X}\right)^{-1}\boldsymbol{X'}\boldsymbol{y} \end{equation}

离差形式

首先证明残差和ei=0\displaystyle \sum e_i=0。根据式(4)(4)可以得到:

\begin{equation} \left\{\begin{array}{l} \sum e_i=0 \\ \displaystyle\sum_i X_{i j} e_i=0(j=1,2, \ldots k) \end{array}\right. \end{equation}

书上这里是直接写成了矩阵形式,稍微有一点抽象,这里就不做说明了。
于是可以得到残差的平均值为0,接下来求解多元线性回归模型的离差形式。

\begin{align} &Y_i=X_i \cdot \hat{\beta}+e_i \\ &\sum Y_i=\sum X_i \cdot \hat{\beta}+\Sigma e_i \\ &\bar{Y}=\bar{X} \cdot \hat{\beta}+\bar{e} \end{align}

其中有:

Yˉ=Yin,Xˉ=(1,Xi1n,Xi2n,Xikn)\bar{Y}=\frac{\sum Y_i}{n}, \bar{X}=\left(1, \frac{\sum X_{i 1}}{n}, \frac{\sum X_{i 2}}{n}, \cdots \frac{\sum X_{i k}}{n}\right)

由(8)-(10)得离差形式:

\begin{equation} \begin{aligned} &Y_i-\bar{Y}=\left(X_i-\bar{X}\right) \cdot \hat{\beta}+e_i-\bar{e}\\ &y_i=x_i \cdot \beta+e_i\\ y_i&=\left[0, x_{i 1}, x_i, \cdots x_{i k}\right] \cdot\left(\begin{array}{c} \hat{\beta_1} \\ \hat{\beta}_2 \\ \vdots\\ \hat{\beta}_k \end{array}\right) + e_i\\ &=\left[x_{i 1}, x_{i 2}, \ldots x_{i k}\right]\left(\begin{array}{c} \hat{\beta}_0 \\ \hat{\beta_1} \\ \vdots\\ \hat{\beta}_k \end{array}\right)+e_i\\ &=\boldsymbol{x}_k^* \boldsymbol{\hat{\beta}}^*+e_i \end{aligned} \end{equation}

这里将xxβ\beta写成xk,β^x_k^*,\boldsymbol{\hat{\beta}}^*和前边的符号区分开。
将n组数据拼在一起,于是离差形式可以写为:

\begin{equation} y=\boldsymbol{x}^* \boldsymbol{\hat{\beta}}^*+e \end{equation}

注意这里的β^\boldsymbol{\hat{\beta}}k×1k\times 1
接着解出离差形式的系数值:
首先由式8可以得到:

\begin{equation} \boldsymbol{X'}\boldsymbol{e}=\boldsymbol{0} \end{equation}

又因为ei=0\sum e_i=0可以得到:

\begin{equation} (\boldsymbol{X'}-\boldsymbol{\bar{X}})\boldsymbol{e}=\boldsymbol{0} \end{equation}

严格来说这里的X\boldsymbol{X}'Xˉ\boldsymbol{\bar{X}}并不同型,思路是将X\boldsymbol{X}'离差化,这里就不再赘述了。
记离差化的矩阵为xx',因为第一行值为0,所以这里略去第一行,简单记为x\boldsymbol{x'},于是就有xe=0\boldsymbol{x'}e=0。然后开始处理13式。首先乘向量e\boldsymbol{e}将残差项消去。

\begin{equation} \begin{aligned} x' y=x' x \cdot \boldsymbol{\beta}^*+x'e\\ \boldsymbol{\beta^*}=\left(x'x \right)^{-1} x' y \end{aligned} \end{equation}

多重共线性问题

\begin{equation} \boldsymbol{\hat{\beta}}=\left(\boldsymbol{X'}\boldsymbol{X}\right)^{-1}\boldsymbol{X'}\boldsymbol{Y} \end{equation}

从多元回归模型的估计结果中可以发现,如果样本矩阵XX出现N<<pN<<p时,模型将无法得到估计结果(XX\boldsymbol{X'}\boldsymbol{X}不可逆)。这种情况下一般回归模型容易出现过拟合的现象,对此,有三种常用的解决办法:

  • 增加样本数量
  • 特征降维/特征选择
  • 正则化(一种数学上的处理方法使得矩阵重新可逆,如岭回归,l2范数正则化)