线性代数二三事

第7章:线性回归分析初步

7.2 线性回归与最小二乘

第7章 线性回归分析初步

数据在我们的生活中随处可见. 我们想要通过建立模型来捕捉变量之间的关系, 并且用我们的模型进行预测. 我们假设获得的一组数据为

Dn:={(x1,y1),(x2,y2),,(xn,yn)},D_n := \{ (\vec x_1, y_1), (\vec x_2,y_2),\cdots,(\vec x_n,y_n) \},

而我们的目标便是尝试建立xi\vec x_iyiy_i之间的联系. 我们将xi=(xi1xi2xim)Rm\vec x_i= \begin{pmatrix} x_{i1} & x_{i2} & \cdots & x_{im} \end{pmatrix}^\top \in \mathbb{R}^m称作是协变量向量 (Covariates) (也可叫做特征 (Features)), 其中xijx_{ij}代表数据xi\vec x_i的第jj个协变量. 我们还定义yiRy_i \in \mathbb{R}响应变量 (Response Variable), 即我们感兴趣的研究对象. 协变量和响应变量的选择取决于我们的研究对象和研究目的. 在线性回归下, 我们希望建立响应变量yiy_i与协变量xi\vec x_i之间的线性关系. 即我们希望求出常数β0,β1,,βmR\beta_0,\beta_1,\cdots,\beta_m \in \mathbb{R}, 使得

yi=β0+β1xi1+β2xi2++βmxim+εi,(7.1)y_i = \beta_0 + \beta_1 x_{i1} +\beta_2 x_{i2} +\cdots+\beta_mx_{im}+\epsilon_i,\tag{7.1}

其中β0\beta_0被称作该模型的截距 (Intercept), εi\epsilon_i被我们称作是模型的噪声 (Noise), 即无法用线性模型解释的波动因素, 它可以视作为误差, 噪声, 遗漏因素或随机扰动. 我们假设这些噪声为相互独立的随机变量, 且它们的均值为00, 方差为σi2\sigma^2_i. 对于这些相互独立的噪声而言, 它们可以简要分为两种情况: 同方差性 (Homoskedasticity)异方差性 (Heteroskedasticity). 对于同方差性而言, 我们假设所有的噪声均为独立同分布的样本, 即它们的方差为一常数σ2\sigma^2. 而异方差性假设这些噪声的方差互不相同. 在接下来的讨论中, 我们默认模型的噪声满足同方差性.

如果我们考虑对所有的(xi,yi)(\vec x_i,y_i)使用等式(7.1), 我们便可以得到一个线性方程组:

(y1y2yn)=(1x11x12x1m1x21x22x2m1xn1xn2xnm)(β0β1β2βm)+(ε1ε2εn).\begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{pmatrix} = \begin{pmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1m} \\ 1 & x_{21} & x_{22} & \cdots & x_{2m} \\ \vdots & \vdots & \vdots & &\vdots\\ 1 & x_{n1} & x_{n2} & \cdots & x_{nm} \end{pmatrix} \begin{pmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_m \end{pmatrix}+\begin{pmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{pmatrix}.

我们也将上式简写为y=Xβ+ε\vec y = \vec X\vec\beta+\vec\epsilonyi=xiβ+εiy_i = \vec x_i^\top\vec\beta+\epsilon_i, 其中y\vec y响应向量 (Response Vector), XMn×(m+1)(R)\vec X \in M_{ n\times(m+1)}(\mathbb{R})设计矩阵 (Design Matrix), β\vec\beta参数向量 (Coefficient Vector), ε\vec\epsilon噪声向量 (Noise Vector). 我们的目标即为求解β\vec\beta, 从而便能得到yiy_ixi\vec x_i之间的关系. 在本节的学习中, 我们规定设计矩阵X\vec X满足固定设计 (Fixed Design), 即X\vec X中的元素均为已知量, 模型中的随机性仅来源于噪声;我们同时规定设计矩阵X\vec X满列秩, 即X\vec X的列向量彼此线性无关. 那么此时由于xi\vec x_i的维数为m+1m+1, 它们之间彼此线性无关也就说明了m+1nm+1\leq n. 即样本点要足够多. 这对我们随后构建最小二乘有着至关重要的意义.

*{最小二乘估计量及其性质}

我们发现, 如果m+1<nm+1<n, 那么便代表了在y=Xβ+ε\vec y = \vec X\vec\beta+\vec\epsilon中方程的数量多于未知数的数量. 回顾第一章, 第一节的知识, 此时的方程很可能是无解的. 那么我们能不能尝试求出一个“近似解”呢? 即求出满足y\vec yXβ\vec X\beta非常接近的参数向量. 在向量中, “非常接近”便对应了向量差值的模非常小. 因此我们希望yXβ||\vec y - \vec X\beta||非常小, 即噪声非常小 . 由此我们也就引出了最小二乘 (Least Squares): 即求出优化问题 argminβRm+1yXβ2\arg\min_{\vec\beta \in \mathbb{R}^{m+1}}||\vec y - \vec X\vec\beta||^2 的解β^\hat{\vec\beta}.

定理 7.1

y=Xβ+ε\vec y=\vec X\vec\beta+\vec\epsilon中, 若设计矩阵满列秩, 那么最小二乘的解β^\hat{\vec\beta}存在且唯一, 且

β^=(XX)1Xy.\hat{\vec\beta} = \Big(\vec X^\top \vec X\Big)^{-1}\vec X^\top\vec y.

我们做一个大致证明: 严格的证明依赖于严格凸函数的性质.

证明

根据定义, 我们有

yXβ2=(yXβ)(yXβ)=yyyXβ(Xβ)y+(Xβ)(Xβ)=yy2yXβ+βXXβ.\begin{aligned} ||\vec y - \vec X\vec\beta||^2 &= (\vec y - \vec X\vec\beta)^\top(\vec y - \vec X\vec\beta)\\ &=\vec y^\top\vec y -\vec y^\top\vec X\vec\beta - (\vec X\vec\beta)^\top\vec y+ (\vec X\vec\beta)^\top(\vec X\vec\beta)\\ &=\vec y^\top\vec y - 2\vec y^\top\vec X\vec\beta+\vec\beta^\top\vec X^\top\vec X\vec\beta. \end{aligned}

F(β)=yy2yXβ+βXXβF(\vec\beta) = \vec y^\top\vec y - 2\vec y^\top\vec X\vec\beta+\vec\beta^\top\vec X^\top\vec X\vec\beta. 其梯度为

F(β)=2Xy+2XXβ.\nabla F(\vec\beta) = -2\vec X^\top\vec y + 2\vec X^\top\vec X\vec\beta.

利用严格凸函数的性质, F(β)=0\nabla F(\vec\beta)=\vec 0的点对应唯一的极小值, 因此我们有Xy=XXβ\vec X^\top\vec y = \vec X^\top\vec X\vec\beta. 该方程也被称为正规方程 (Normal Equation). 由于X\vec X满列秩, 因此XX\vec X^\top\vec X可逆. 则

β^=(XX)1Xy.\hat{\vec\beta} = \Big(\vec X^\top \vec X\Big)^{-1}\vec X^\top\vec y.

此时的β^\hat{\vec\beta}被我们称作普通最小二乘估计量 (Ordinary Least Squares Estimator), 或简称为OLS估计量. 我们有时候将其记作β^OLS\hat{\vec\beta}_{OLS}, 或β^\hat{\vec\beta}. 求解完β^\hat{\vec\beta}, 我们便可以用得到的参数来对我们的模型进行检验和预测.

定理 7.2

最小二乘估计量β^\hat{\vec\beta}为关于β\vec\beta的条件无偏估计量, 即E[β^X]=β\E[\hat{\vec\beta}|\vec X]=\vec\beta. 特别地, 当我们假设噪声符合同方差性时(即E[εi]=0,Var(εi)=σ2\E[\epsilon_i]=0,\Var(\epsilon_i) = \sigma^2),

Var(β^X)=(XX)1σ2.\Var(\hat{\vec\beta} | \vec X) = (\vec X^\top \vec X)^{-1}\sigma^2.
该定理的证明涉及到一些没有在本章第一节提及的概率论知识, 感兴趣的读者欢迎阅读.

证明

我们首先证明最小二乘的无偏性. 不难发现

E[β^X]=E[(XX)1XyX]=(XX)1XE[yX],\E[ \hat{\vec\beta} | \vec X ] = \E[(\vec X^\top\vec X)^{-1}\vec X^\top \vec y | \vec X] = (\vec X^\top\vec X)^{-1}\vec X^\top \E[\vec y | \vec X],

再由y=Xβ+ε\vec y = \vec X\vec\beta+\vec\epsilon可知

E[yX]=E[Xβ+εX]=XE[βX]+0=Xβ,\E[\vec y | \vec X] = \E[\vec X\vec\beta + \vec\epsilon |\vec X]= \vec X\E[\vec\beta | \vec X] + \vec 0=\vec X\vec\beta,

这是因为ε\vec\epsilon的期望为零, 同时β\vec\beta为一常数向量, 因此其期望等于自身. 那么结合上面两式我们不难得到

E[β^X]=β.\E[\hat{\vec\beta} | \vec X] = \vec\beta.

对于其方差而言, 通过计算我们得到

Var(β^nX)=Var((XX)1XyX)=((XX)1X)Var(yX)((XX)1X)=(XX)1Xσ2X(XX)1=(XX)1σ2.\begin{aligned} \Var\Big( \hat{\vec\beta}_n \Big| \vec X\Big) &= \Var\Big((\vec X^\top \vec X)^{-1} \vec X^\top \vec y \Big| \vec X \Big)\\ &=\Big((\vec X^\top\vec X)^{-1} \vec X^\top\Big) \cdot \Var(\vec y|\vec X)\cdot \Big((\vec X^\top\vec X)^{-1} \vec X^\top\Big)^\top\\ &=(\vec X^\top \vec X)^{-1} \vec X^\top \cdot \sigma^2\cdot \vec X(\vec X^\top\vec X)^{-1}\\ &=(\vec X^\top \vec X)^{-1} \sigma^2. \end{aligned}

实际上, 我们可以根据条件无偏性得到无偏性. 这是因为E[β^]=E[E[β^X]]\E[\hat{\vec\beta}] = \E[\E[\hat{\vec\beta} | \vec X]], 因此我们也称β^\hat{\vec\beta}为一无偏估计量. 对于方差而言, 根据公式

Var(β^)=E[Var(β^X)]+Var(E[β^X])=σ2E[(XX)1]=σ2(XX)1,\Var(\hat{\vec\beta}) = \E[\Var(\hat{\vec\beta}|\vec X)] + \Var(\E[\hat{\vec\beta} | \vec X]) = \sigma^2 \E\Big[ \Big(\vec X^\top \vec X\Big)^{-1} \Big] = \sigma^2\cdot(\vec X^\top\vec X)^{-1},

我们可以得到相似的结果. 在所有的无偏估计量中, 我们的目标是寻找方差最小的一个估计量. 这一估计量其实就是最小二乘估计量. 该定理被称作Gauss-Markov定理 (Gauss-Markov Theorem):

定理 7.3

在模型y=Xβ+ε\vec y = \vec X\vec\beta + \vec\epsilon中, 若设计矩阵X\vec X满列秩, 且噪声满足同方差性, 那么最小二乘估计量β^\hat{\vec\beta}为所有关于β\vec\beta的线性无偏估计量中方差最小的. 我们也称最小二乘估计量为BLUE 估计量 (Best Linear Unbiased Estimator).

该定理的证明略.

在模型y=Xβ+ε\vec y = \vec X\vec\beta+\vec\epsilon中, 数据的残差 (Residual)εi=yixiβ\epsilon_i = y_i - \vec x_i^\top\vec\beta. 对于最小二乘估计量β^\hat{\vec\beta}, 我们称y^i=xiβ^\hat{y}_i = \vec x_i^\top \hat{\vec\beta}为数据点(xi,yi)(\vec x_i,y_i)拟合值 (Fitted Value). 观测值yiy_i和拟合值y^i\hat{y}_i的差εi^=yixiβ^\hat{\epsilon_i} = y_i - \vec x_i^\top \hat{\vec\beta}被称作该数据点的残差估计量 (Estimated Residual). 那么如果我们有一个新的数据点x0\vec x_0, 我们便可以用公式y^0=x0β\hat{y}_0 = \vec x_0^\top \vec\beta求出此时响应变量的拟合值. 随后我们便可以构建置信区间来检验拟合的精确性. 由于本书中缺乏对概率论与数理统计的深入讨论, 因此有关置信区间的构建我们在此不作涉及.

定理 7.4

利用最小二乘得到的残差估计量εi^=yixiβ^\hat{\epsilon_i} = y_i - \vec x_i^\top \hat{\vec\beta}的期望为零. 即E[ε^i]=0\E[\hat{\epsilon}_i ] = 0.

证明

不难发现,

E[ε^i]=E[yixiβ^]=E[xiβ+εixi(XX)1Xy]=E[xiβ+εixi(XX)1X(Xβ+ε)]=0.\begin{aligned} \E[\hat{\epsilon}_i] &= \E[y_i - \vec x_i^\top\hat{\vec\beta}]\\ &=\E[\vec x_i^\top\vec\beta + \epsilon_i - \vec x_i^\top (\vec X^\top\vec X)^{-1}\vec X^\top \vec y ]\\ &=\E[\vec x_i^\top\vec\beta + \epsilon_i - \vec x_i^\top(\vec X^\top\vec X)^{-1}\vec X^\top(\vec X\vec\beta+\vec\epsilon)]\\ &=0. \end{aligned}

当我们初步了解完最小二乘的性质之后, 我们给出两个矩阵的定义: 它们分别为帽子矩阵 (Hat Matrix)残差生成矩阵 (Annihilator Matrix).

定义 7.1

X\vec X为设计矩阵, 那么帽子矩阵H\vec H与残差生成矩阵M\vec M分别为

H=X(XX)1X,M=IH.\vec H = \vec X(\vec X^\top \vec X)^{-1} \vec X^\top, \quad \vec M = \vec I - \vec H.

对于帽子矩阵而言, 我们不难发现

Hy=X(XX)1Xy=Xβ^=y^,\vec H\vec y = \vec X(\vec X^\top\vec X)^{-1}\vec X^\top\vec y = \vec X\hat{\vec\beta} = \hat{\vec y},

而对于残差生成矩阵, 同样地我们有

My=yy^=ε^.\vec M\vec y = \vec y - \hat{\vec y} = \hat{\vec \epsilon}.

本节的课后练习题中会有更多关于帽子矩阵和残差生成矩阵的性质等待读者去探索. 在普通最小二乘中,我们通过最小化 i=1n(yixiβ)2\sum_{i=1}^n (y_i-x_i^\top\vec\beta)^2 来选择参数β\vec\beta. 这相当于认为每一个观测点的误差εi\epsilon_i都具有相同的重要性. 然而在实际问题中, 不同数据点的可靠程度可能并不相同. 例如:有些观测值测量误差较小,因此相对更值得信任; 有些观测值噪声较大,因此不应对模型产生过强影响. 为了反映这种差异, 我们可以引入一个权函数 (Weight Function), 使得在观测点xi\vec x_i处的权重为wi>0w_i>0. 权重越大, 则表示该观测点在拟合中越重要;权重越小,则表示该观测点对最终模型的影响较弱. 因此我们此时的最小二乘优化的便是 i=1nwi(yixiβ)2\sum_{i=1}^n w_i(y_i - \vec x_i^\top\vec\beta)^2 的最小值.

定理 7.5

在加权线性回归中, 记W=diag(w1wn)\vec W=\diag\begin{pmatrix} w_1 & \cdots & w_n \end{pmatrix}为每一个观测点对应的权重的对角矩阵, X\vec X为设计矩阵. 若X\vec X列满秩, 那么此时最小二乘的解β^\hat{\vec\beta}存在且唯一. 且

β^=(XWX)1XWy.\hat{\vec\beta} = \Big(\vec X^\top \vec W \vec X\Big)^{-1} \vec X^\top \vec W \vec y.

不难发现, 一般情况下的线性回归即对应了权函数wi1w_i\equiv 1. 最小二乘有什么几何意义呢? 由于我们知道n>m+1n>m+1, 也就是说y\vec y的维数大于X\vec X的列空间的位数. 此时可以将最小二乘其视作响应变量y\vec y在设计矩阵X\vec X的列空间上的正交投影. 此时y\vec y满足正交分解y=Xβ+(yXβ)\vec y = \vec X\vec\beta + (\vec y - \vec X\vec\beta), yXβIm(X)\vec y - \vec X\vec\beta \in \image(\vec X)^\perp. 回顾我们在内积空间中提出的定理: Im(X)=Ker(X)\image(\vec X)^\perp = \Ker(\vec X^\top). 因此yXβKer(X)\vec y - \vec X\vec\beta \in \Ker(\vec X^\top), 即

X(yXβ)=0.\vec X^\top (\vec y - \vec X\vec\beta)=\vec 0.

将其展开我们便得到了系统的正规方程: Xy=XXβ\vec X^\top\vec y = \vec X^\top\vec X\vec\beta. 当设计矩阵满列秩时我们便得到了前面推出的β^=(XX)1Xy\hat{\vec\beta} = (\vec X^\top\vec X)^{-1}\vec X^\top\vec y. 下面的图便很好地展示了这一几何关系:

*{多项式回归}

值得我们注意的是, 线性回归仅代表我们的模型关于参数向量β\vec\beta是线性的, 而关于协变量x\vec x则不需要满足线性关系. 比如我们完全可以设x=(xx2xm)\vec x = \begin{pmatrix} x & x^2 & \cdots & x^m \end{pmatrix}^\top, 这样一来我们得到的模型便为

y=β0+β1x+β2x2++βmxm,y = \beta_0+\beta_1x+\beta_2 x^2+\cdots+\beta_m x^m,

其中yy是关于xx的多项式. 我们也把这类问题称作是多项式回归 (Polynomial Regression). 给出数据点Dn={(x1,y1),,(xn,yn)}D_n = \{ (x_1, y_1),\cdots,(x_n,y_n)\}, 假设我们将使用关于xxmm次多项式去估计yy, 那么此时我们有

(y1y2yn)=(1x1x12x1m1x2x22x2m1xnxn2xnm)(β0β1βm)+(ε1ε2εn).\begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{pmatrix} = \begin{pmatrix} 1 & x_1 & x_1^2 & \cdots & x_1^m \\ 1 & x_2 & x_2^2 & \cdots & x_2^m\\ \vdots & \vdots & \vdots & &\vdots \\ 1 & x_n & x_n^2 & \cdots & x_n^m \end{pmatrix}\begin{pmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_m \end{pmatrix}+\begin{pmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{pmatrix}.

此时的的最小二乘为

i=1nyi(β0+β1x+β2x2++βmxm).\sum_{i=1}^n |y_i - (\beta_0+\beta_1x+\beta_2 x^2+\cdots+\beta_mx^m)|.

类似地, 如果我们假设的模型为

y=β0f0(x)+β1f1(x)++βmfm(x),y= \beta_0 f_0(x) + \beta_1 f_1(x)+\cdots+\beta_m f_m(x),

那么我们有

(y1y2yn)=(f0(x1)f1(x1)f2(x1)fm(x1)f0(x2)f1(x2)f2(x2)fm(x2)f0(xn)f1(xn)f2(xn)fm(xn))(β0β1βm)+(ε1ε2εn).\begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{pmatrix} = \begin{pmatrix} f_0(x_1) & f_1(x_1) & f_2(x_1) & \cdots & f_m(x_1) \\ f_0(x_2) & f_1(x_2) & f_2(x_2) & \cdots & f_m(x_2)\\ \vdots & \vdots & \vdots & &\vdots \\ f_0(x_n) & f_1(x_n) & f_2(x_n) & \cdots & f_m(x_n) \end{pmatrix}\begin{pmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_m \end{pmatrix}+\begin{pmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{pmatrix}.

此时我们考虑多项式回归中的一个特殊情况: 假设m=1m=1, 此时的最小二乘可以写作

(β^0,β^1)=argminβ0,β1i=1n{yi(β0+β1xi)}2=argminβ0,β11ni=1n{yi2+β02+2β0β1xi+β12xi22yiβ02β1yixi}.\begin{aligned} (\hat{\beta}_0,\hat{\beta}_1)&=\arg\min_{\beta_0,\beta_1} \sum_{i=1}^n\{ y_i - (\beta_0+\beta_1x_i)\}^2\\ &=\arg\min_{\beta_0,\beta_1}\frac{1}{n} \sum_{i=1}^n\{y_i^2 +\beta_0^2+2\beta_0\beta_1 x_i+\beta_1^2x_i^2 -2y_i\beta_0-2\beta_1y_ix_i \}. \end{aligned}

我们令

1ni=1nxi:=xˉn1ni=1nyi:=yˉn,\frac{1}{n}\sum_{i=1}^n x_i := \bar{x}_n \hspace{1cm} \frac{1}{n} \sum_{i=1}^n y_i :=\bar{y}_n,

由此我们进一步将原式化简为

(β^0,β^1):=argminβ0,β1{β02+1ni=1nxi2β12+2xˉnβ0β12yˉnβ02ni=1nxiyiβ1}.(\hat{\beta}_0,\hat{\beta}_1) := \arg\min_{\beta_0,\beta_1} \left\{ \beta_0^2+\frac{1}{n}\sum_{i=1}^n x_i^2 \beta_1^2 +2\bar{x}_n\beta_0\beta_1-2\bar{y}_n \beta_0 - \frac{2}{n}\sum_{i=1}^n x_i y_i \beta_1 \right\}.

我们定义关于β0,β1\beta_0,\beta_1的二元函数

f(β0,β1)=β02+1ni=1nxi2β12+2xˉnβ0β12yˉnβ02ni=1nxiyiβ1,f(\beta_0,\beta_1)=\beta_0^2+\frac{1}{n}\sum_{i=1}^n x_i^2 \beta_1^2 +2\bar{x}_n\beta_0\beta_1-2\bar{y}_n \beta_0 - \frac{2}{n}\sum_{i=1}^n x_i y_i \beta_1,

因此ff的梯度为

f=(fβ0,fβ1)=(2β0+2xˉnβ12yˉn,2ni=1nxi2β1+2xˉnβ02ni=1nxiyi).\nabla f =\left( \frac{\partial f}{\partial \beta_0}, \frac{\partial f}{\partial \beta_1} \right)= \left( 2\beta_0+2\bar{x}_n \beta_1-2\bar{y}_n\hspace{0.2cm}, \hspace{0.2cm}\frac{2}{n}\sum_{i=1}^n x_i^2 \beta_1 +2\bar{x}_n\beta_0-\frac{2}{n}\sum_{i=1}^n x_iy_i\right).

f=0\nabla f = 0, 则我们有

{2β0+2xˉnβ12yˉn=02ni=1nxi2β1+2xˉnβ02ni=1nxiyi=0.\begin{cases} 2\beta_0+2\bar{x}_n \beta_1-2\bar{y}_n &=0\\ \frac{2}{n}\sum_{i=1}^n x_i^2 \beta_1 +2\bar{x}_n\beta_0-\frac{2}{n}\sum_{i=1}^n x_iy_i&=0 \end{cases}.

其中不难发现

β^0=yˉnxˉnβ^1.(7.2)\hat{\beta}_0 = \bar{y}_n - \bar{x}_n\hat{\beta}_1. \tag{7.2}

然后利用(7.2)中β^0\hat{\beta}_0的取值带入另外一式求出β1\beta_1:

1ni=1nxi2β^1+xˉn(yˉnxˉnβ^1)1ni=1nxiyi=0,\frac{1}{n}\sum_{i=1}^n x_i^2 \hat{\beta}_1 + \bar{x}_n (\bar{y}_n - \bar{x}_n\hat{\beta}_1) - \frac{1}{n}\sum_{i=1}^n x_i y_i = 0,

β^1=i=1nxiyinxˉnyˉni=1n(xixˉn)2.\hat{\beta}_1 = \frac{\sum_{i=1}^n x_i y_i - n\bar{x}_n \bar{y}_n}{\sum_{i=1}^n (x_i - \bar{x}_n)^2}.

我们将这一发现总结成下面的推论:

推论 7.1

设数据D:={(x1,y1),,(xn,yn)}\mathcal{D}:= \{ (x_1,y_1) ,\cdots,(x_n,y_n)\} ((xi,yi)R2(x_i,y_i) \in \mathbb{R}^2)和线性回归模型 y=β0+β1x+εy = \beta_0+\beta_1 x+\epsilon. 则β1,β2\beta_1,\beta_2的最小二乘估计为

β^0=yˉnxˉnβ^1,β^1=i=1nxiyinxˉnyˉni=1n(xixˉn)2.\hat{\beta}_0 = \bar{y}_n - \bar{x}_n \hat{\beta}_1, \quad\hat{\beta}_1 = \frac{\sum_{i=1}^n x_i y_i - n\bar{x}_n \bar{y}_n}{\sum_{i=1}^n (x_i - \bar{x}_n)^2}.

此时读者会想: 如果我们有nn组数据(x1,y1),,(xn,yn)(x_1,y_1),\cdots,(x_n,y_n), 且这些xix_i互不相同, 那么根据Lagrange多项式, 我们可以找到一个(n1)(n-1)次多项式p(x)p(x), 使得p(xi)=yip(x_i)=y_i. 也就是说, 理论上完全存在这样的函数, 使得这个函数能够与数据完美吻合, 那么我们还干嘛费尽心思地去用最小二乘求解呢? 我们不妨来看下图:

在回归分析中, 我们关注的不仅仅是模型在以观测到的数据集上的表现, 我们还要求模型要有精准的预测能力. 在Lagrange多项式拟合的结果中, 虽然拟合函数精确地穿过了每一个数据点, 做到了零误差, 但我们看到得到的函数在数据点之间会来回大幅度地波动, 并且在xx坐标相距很近的情况下对应的响应变量yy却有天壤之别. 因此Lagrange多项式的拟合结果显然没有捕捉到数据之间的大致变动趋势. 相反, 红色的线性函数虽然没有精确地穿过每一个数据点, 但它在一定程度上反映出了x,yx,y之间的变化趋势. 这个例子说明: 复杂的模型并不一定意味着预测效果越好. 若模型过度追逐训练数据中的偶然波动或噪声, 就可能在已有数据上表现很好, 却在新的数据上表现较差. 这种现象称为过拟合 (Overfitting).

为避免过拟合的发生, 我们通常把数据集分成训练集 (Training Set)检验集 (Testing Set). 即我们利用训练集中的数据构造设计矩阵, 进行回归分析. 然后再用得到的参数估计去拟合检验集中的数据, 然后比较误差. 不过, 当数据较少时, 单纯划分一次训练集和检验集会产生一定程度的数据浪费, 因此我们也可以使用交叉验证 (Cross Vaildation)的方法. 交叉验证的基本逻辑是通过重复实验, 多次改变训练集和检验集, 使得每一个数据都能被最大程度地利用. 常见的交叉验证方法有K折交叉验证 (K-fold Cross Validation), 即将数据分成KK份, 其中K1K-1份作为训练集, 剩下的一份作为检验集, 然后重复实验KK次, 取模型的平均检验误差. 这样一来每一份数据都能够作为检验集, 通过平均, 这样得到的误差通常比单次划分更加稳定.

此时, 如果我们的数据如果不再是离散的数据点(xi,yi)(x_i,y_i), 而是一整个连续的区间(a,b)(a,b), 那么在这个区间上我们能否也类比最小二乘的知识呢? 此时我们会联想到积分的知识. 即当我们在区间(a,b)(a,b)上用多项式p(x)=β0+β1x++βmxmp(x) = \beta_0+\beta_1x+\cdots+\beta_mx^m去近似y=f(x)y=f(x)时, 我们所要优化的便是积分

f(β0,,βm)=abf(x)p(x)2dx=ab(f(x)i=0mβixi)2dx.f(\beta_0,\cdots,\beta_m) = \int_a^b | f(x) - p(x)|^2dx = \int_a^b \left( f(x) - \sum_{i=0}^m \beta_i x^i \right)^2 dx.

我们此时求出ff关于βi\beta_i的偏导数, 得到

fβi=βiab(f(x)i=0mβixi)2dx=abddβi[f2(x)2f(x)i=0mβixi+(i=0mβixi)2]dx=ab2f(x)xi+2xij=0mβjxjdx.\begin{aligned} \frac{\pl f}{\pl \beta_i} &= \frac{\pl}{\pl\beta_i}\int_a^b\left( f(x) - \sum_{i=0}^m \beta_i x^i \right)^2 dx\\ &= \int_a^b \frac{d}{d\beta_i}\left[ f^2(x) - 2f(x)\sum_{i=0}^m \beta_i x^i + \left( \sum_{i=0}^m \beta_i x^i \right)^2 \right]dx\\ &=\int_a^b -2f(x)x^i+2x^i\sum_{j=0}^m\beta_jx_j dx. \end{aligned}

在极小值处, 我们令fβi=0\frac{\pl f}{\pl \beta_i}=0, 我们因此得到此时的正规方程:

abxif(x)dx=j=0mβjxi+jdx,i=0,1,,m.\int_a^b x^if(x) dx = \sum_{j=0}^m \beta_j \int x^{i+j} dx, \quad i=0,1,\cdots,m.

由此我们便得到了如下的矩阵形式:

(abf(x)abxf(x)dxabxmf(x)dx)=(ab1dxabxdxabx2dxabxmdxabxdxabx2dxabx3dxabxm+1dxabxmdxabxm+1dxabxm+2dxabx2mdx)(β0β1β2βm),\begin{pmatrix} \int_a^b f(x)\\ \int_a^b x f(x) dx \\ \vdots \\ \int_a^b x^mf(x)dx \end{pmatrix} = \begin{pmatrix} \int_a^b 1 dx & \int_a^b xdx & \int_a^b x^2 dx & \cdots & \int_a^b x^m dx\\ \int_a^b xdx & \int_a^b x^2 dx & \int_a^b x^3 dx & \cdots & \int_a^b x^{m+1}dx\\ \vdots & \vdots & \vdots & &\vdots\\ \int_a^b x^m dx & \int_a^b x^{m+1}dx & \int_a^b x^{m+2}dx & \cdots & \int_a^b x^{2m} dx \end{pmatrix} \begin{pmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_m \end{pmatrix},

其中等式右边的(m+1)×(m+1)(m+1)\times(m+1)矩阵被称作Gram 矩阵. Gram矩阵的列向量彼此线性无关(这一点读者不妨自行验证), 因此上面的系统便存在唯一解. 此时对于确定的f(x),m,a,bf(x),m,a,b, 我们便可以求出每一个积分的值. 随后我们便可以运用求解线性方程组的方法去求解β0,,βm\beta_0,\cdots,\beta_m了.

{7.2 练习}

1.XMn(m+1)(R)\vec X \in M_{n(m+1)}(\mathbb{R})为设计矩阵, 帽子矩阵为H=X(XX)1X\vec H = \vec X(\vec X^\top\vec X)^{-1}\vec X^\top; 残差生成矩阵为M=IH\vec M = \vec I - \vec H.

(i) 证明: H,M\vec H, \vec M均为对称矩阵;

(ii) 证明: H,M\vec H, \vec M均为投影矩阵, 即H2=H,M2=M\vec H^2 = \vec H, \vec M^2 = \vec M;

(iii) 证明: tr(H)=m+1\tr(\vec H)=m+1, tr(M)=nm1\tr(\vec M) = n-m-1.

(iv) 对于样本xi\vec x_i而言, 我们定义其杠杆值 (Leverage)hii=xi(XX)1xih_{ii} = \vec x_i^\top (\vec X^\top \vec X)^{-1}\vec x_i. 证明: 0hii10 \leq h_{ii} \leq 1.

(v) 我们假设样本中的噪声满足同方差性, 证明Var(ε^i)=σ2(1hii)\Var(\hat{\epsilon}_i) = \sigma^2(1-h_{ii}).

2.XMn(m+1)(R)\vec X \in M_{n(m+1)} (\mathbb{R})为设计矩阵, 我们假设X\vec X从左往右的的第一列为截距列, 即第一列所有元素为11. 样本xi\vec x_i的第一个协变量也为截距项11.

(i) 对于任意的样本xi\vec x_i, 证明j=1nxi(XX)1xj=1\sum_{j=1}^n \vec x_i^\top (\vec X^\top \vec X)^{-1} \vec x_j =1.

(ii) 证明

i=1nε^i=0.\sum_{i=1}^n \hat{\epsilon}_i = 0.

3.XMn(m+1)\vec X \in M_{n(m+1)}为设计矩阵, ε^=yXβ^\hat{\vec \epsilon} = \vec y - \vec X\hat{\vec\beta}, ε=yXβ\vec\epsilon = \vec y - \vec X\vec\beta. H\vec H为帽子矩阵, M\vec M为残差生成矩阵. 证明ε^ε^=εMε\hat{\vec\epsilon}^\top\hat{\vec\epsilon} = \vec\epsilon^\top\vec M\vec\epsilon.

4. 当我们假设线性模型yi=xiβ+εiy_i = \vec x_i^\top\vec\beta + \epsilon_i时, 若噪声满足同方差性且服从正态分布εiN(0,σ2)\epsilon_i \sim N(0,\sigma^2), 我们可以将样本的似然函数写作

L(β,σ2)=1(2πσ2)n/2exp(i=1n(yixiβ)22σ2).L(\vec\beta, \sigma^2) = \frac{1}{(2\pi\sigma^2)^{n/2}} \cdot\exp\left( -\sum_{i=1}^n \frac{(y_i - \vec x_i^\top \vec\beta)^2}{2\sigma^2} \right).

求出在此情况下β\vec\betaσ2\sigma^2的最大似然估计.

5. 在以下的回归分析问题中, 我们假设有且仅有一个分类项作为协变量. 分类项中我们假设含有KK个不同的种类. 定义1xi=g\mathbb{1}_{\vec x_i = g}为样本xi\vec x_i是否属于种类gg示性函数 (Indicator Function), 即

1xi=g={1 若样本xi属于种类g0 若样本xi不属于种类g.\mathbb{1}_{\vec x_i=g} = \begin{cases} 1 & \text{ 若样本} \vec x_i \text{属于种类} g \\ 0 & \text{ 若样本} \vec x_i \text{不属于种类} g \end{cases}.

我们定义zi=(1xi=11xi=21xi=K)\vec z_i = \begin{pmatrix} \mathbb{1}_{\vec x_i=1} \\ \mathbb{1}_{\vec x_i=2} \\ \vdots \\ \mathbb{1}_{\vec x_i = K} \end{pmatrix}, 设计矩阵Z=(z1z2zn)\vec Z=\begin{pmatrix} \vec z_1^\top \\ \vec z_2^\top \\ \vdots \\ \vec z_n^\top \end{pmatrix}. 设ngn_g为属于种类gg的样本数, 证明此时在模型y=Zβ+ε\vec y = \vec Z\vec\beta+\vec\epsilonβ\vec\beta的最小二乘估计量β^\hat{\vec\beta}

β^=(1n1yn1y1n2yn2y1nKynKy).\hat{\vec\beta} = \begin{pmatrix} \frac{1}{n_1}\sum_{y \in n_1} y \\ \frac{1}{n_2} \sum_{y \in n_2} y \\ \vdots \\ \frac{1}{n_K} \sum_{y \in n_K} y \end{pmatrix}.

6. 在加权线性回归中, 给出设计矩阵X\vec X和权函数矩阵W\vec W我们得到的关于β\vec\beta的加权最小二乘估计量为

β^GLS=(XWX)1XWy.\hat{\vec\beta}_{GLS} = \Big( \vec X^\top \vec W \vec X\Big)^{-1}\vec X^\top \vec W\vec y.

假设噪声相互独立,现给出两个不同条件: 噪声满足同方差性 (M1); 噪声满足异方差性 (M2).

(i) 证明: 在(M1), (M2)条件下均有 E[β^GLSX]=β\E[\hat{\vec\beta}_{GLS}|\vec X] = \vec \beta;

(ii) 在(M1)条件下证明

Var(β^GLSX)=σ2(XX)1;\Var(\hat{\vec\beta}_{GLS} | \vec X) = \sigma^2 (\vec X^\top\vec X)^{-1};

(iii) 在(M2)条件下, 假设Var(εiX)=σi2\Var(\epsilon_i|\vec X) = \sigma_i^2, 证明

Var(β^GLSX)=(XX)1Xdiag(σ12σ22σn2).\Var(\hat{\vec\beta}_{GLS}|\vec X) = (\vec X^\top\vec X)^{-1} \vec X^\top \diag\begin{pmatrix} \sigma_1^2 & \sigma_2^2 & \cdots & \sigma_n^2 \end{pmatrix}.

(iv) 在(M2)条件下, 我们假设Var(εX)=σ2Σ\Var(\vec\epsilon | \vec X) = \sigma^2 \vec\Sigma, 其中Σ\vec\Sigma为对角矩阵. 设模型

y~=X~β+ε~,\widetilde{\vec y} = \widetilde{\vec X} \vec\beta + \widetilde{\vec\epsilon},

其中y~=Σ1/2y\widetilde{\vec y} = \vec\Sigma^{-1/2} \vec y, X~=Σ1/2X\widetilde{\vec X} = \vec\Sigma^{-1/2} \vec X, ε~=Σ1/2ε\widetilde{\vec\epsilon} = \vec\Sigma^{-1/2} \vec\epsilon. 此时的最小二乘估计为β~=(X~X~)1X~y~\widetilde{\vec\beta} = (\widetilde{\vec X}^\top \widetilde{\vec X})^{-1} \widetilde{\vec X}^\top \widetilde{\vec y}. 求出E[β~X~]\E[\widetilde{\vec\beta}|\widetilde{\vec X}]Var(β~X~)\Var(\widetilde{\vec\beta} | \widetilde{\vec X}).

7. 在线性模型y=xβ+εy=\vec x^\top\vec\beta+\epsilon中我们假设噪声满足同方差性, 设计矩阵为固定设计且满列秩. 现有观测数据

D={(x1,y1),(x2,y2),,(xn,yn)},D=\{ (\vec x_1, y_1), (\vec x_2, y_2),\cdots, (\vec x_n,y_n)\},

我们将采用留一交叉验证 (Leave One Out Cross Validation)对最小二乘估计量进行分析. 在留一交叉验证中, 我们将原数据复制nn份, 在每一份中采用n1n-1个数据作为训练集, 随后剩余的一个数据作为检验集. 这样一来每一个数据都可以作为检验集. 我们定义集合EiDE_i \subset D为除去原数据中除去第ii个样本之后得到的新数据集, 即Ei=D{(xi,yi)}E_i = D\setminus \{ (\vec x_i,y_i)\}. 那么在数据集EiE_i上关于β\vec\beta的最小二乘估计量为

β^(i)=argminβ1n1ji(yixiβ)2.\hat{\vec\beta}^{(i)} = \arg\min_{\vec\beta} \frac{1}{n-1}\sum_{j \neq i} (y_i - \vec x_i^\top\vec\beta)^2.

(i) 利用Sherman-Morrison公式:

(A+uv)1=A1A1uvA11+vA1u,(\vec A+\vec u \vec v^\top )^{-1} = \vec A^{-1} - \frac{\vec A^{-1} \vec u \vec v^\top \vec A^{-1}}{1+\vec v^\top\vec A^{-1}\vec u},

证明此时的最小二乘估计量β^(i)\hat{\vec\beta}^{(i)}满足

β^(i)=β^(XX)1xiε^i1hii.\hat{\vec\beta}^{(i)} = \hat{\vec\beta} - \frac{(\vec X^\top\vec X)^{-1}\vec x_i \hat{\epsilon}_i}{1-h_{ii}}.

其中β^=(XX)1Xy=(i=1nxixi)1(i=1nxiyi)\displaystyle{\hat{\vec\beta} = (\vec X^\top\vec X)^{-1}\vec X^\top\vec y = \left(\sum_{i=1}^n \vec x_i \vec x_i^\top \right)^{-1} \cdot \left( \sum_{i=1}^n \vec x_i y_i \right)}为普通最小二乘估计量, ε^i=yixiβ^\hat{\epsilon}_i = y_i - \vec x_i^\top \hat{\vec\beta}.

(ii) 证明: ε^i(i)=yixiβ^(i)=ε^i1hii\displaystyle{\hat{\epsilon}_i^{(i)} = y_i - \vec x_i^\top \hat{\vec\beta}^{(i)} = \frac{\hat{\epsilon}_i}{1- h_{ii}}}.

8. 在推论7.17.1中, 证明β^1\hat{\beta}_1的估计还可以写作

β^1=i=1n(xixˉn)(yiyˉn)i=1n(xixˉn)2.\hat{\beta}_1 = \frac{\sum_{i=1}^n(x_i - \bar{x}_n)(y_i - \bar{y}_n)}{\sum_{i=1}^n(x_i - \bar{x}_n)^2}. 9.

(i) 设函数f(x)=1xf(x)=\frac{1}{x}, 1x31\leq x\leq 3. 利用Gram矩阵, 求出在该区间上满足最小二乘条件的二次多项式p(x)=β0+β1x+β2x2p(x)=\beta_0+\beta_1x+\beta_2x^2;

(ii) 设A=(1,0),B=(0,1),C=(1,4)A=(-1,0),B=(0,1),C=(1,4). 以y=β0x+β12xy = \beta_0 x + \beta_1 2^x为模型, 利用最小二乘求出此时的参数β0,β1\beta_0,\beta_1.