【更新日志】
3/3/2020 对部分公式中出现的错误进行了修正
4/5/2020 修改了文章标题
在上一篇文章中,我们建立了多元线性回归模型,以及模型的相关假设,并给出了对应的样本模型(详情请见:【统计学习系列】多元线性回归模型(一)——模型的建立与基本假设)(别问我为什么点开404,因为这一章的内容太多我还在补充中,暂未开放):
y i = β 0 + ∑ j = 1 p x i j β j + ϵ i , i = 1 , . . . , N y_i= \beta_0 + \sum_{j=1}^{p} x_{ij} \beta_j + \epsilon_i , \ i=1,...,N yi=β0+j=1∑pxijβj+ϵi, i=1,...,N其中:
ϵ = ( ϵ i ) N × 1 ∼ N ( 0 , I n σ 2 ) \bm{\epsilon} = (\epsilon_i)_{N \times 1} \thicksim N(0,\bm{I_n}\sigma^2) ϵ=(ϵi)N×1∼N(0,Inσ2)
因此,需要估计的参数有 p + 2 个:β0, β1, …, βp, σ。我们如何利用样本来估计模型参数呢?我们的一般思路是:1)制定评价标准,2)在给定标准下寻找最优参数。这篇文章主要介绍最小二乘估计法和极大似然估计法这两种方法。话不多说,让我们开始探寻参数估计的秘密吧!
注:本篇涉及大量数学定理推导。尽管作者力求内容通俗易懂,但同时也希望保证证明的严谨性。因此在参数估计的推导中,我会把证明思路与过程尽可能清晰、完整地展示出来,这可能需要读者具有一定程度的凸优化问题求解和线性代数的基础。实操应用类读者可直接跳过2、3两章,而直接阅读第4章结论。
如果将 N 组样本对 (yi, xi) 看做是一个 p+1 维实空间中的N个点,那么我们现在要做的就是在空间中找到一个 p 维超平面,来尽可能“好”的拟合空间中的这N个样本的点。什么样的指标可以衡量这种拟合的好坏呢?样本点到拟合平面的距离则是一个衡量拟合好坏的测量工具:当点到平面距离和越小,说明估计量与真实值之间的“距离”越小(离得越近),模型对样本数据的拟合情况越好;而点到平面距离和越大,说明估计量与真实值之间的“距离”越大(离得越远),模型对样本数据的拟合情况越差。而对于距离的度量,我们可以使用两点差值的平方这一指标:
d i s t a n c e ( y i , y ^ i ) = ( y i − y ^ i ) 2 distance(y_i, \hat{y}_i) = (y_i - \hat{y}_i)^2 distance(yi,y^i)=(yi−y^i)2
注1:使用平方而非绝对值是为了后边方便求导。
注2:这里的表述并不严谨。作为距离的测度,我们应该使用范数(例如2-范数)。其本质是因为定义范数作为距离的欧式空间是一个赋范线性空间。
最小二乘估计法的核心思想是:找到一组参数 β ,使得“样本点到平面的距离和最小”,或者说最小化残差平方和。用数学语言可以表示为:
min β 0 , β 1 , . . . , β p R S S ( β 0 , β 1 , . . . , β p ) = ∑ i = 1 N ( y i − f ( x i ) ) 2 = ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 \min_{\beta_0, \beta_1,...,\beta_p} RSS(\beta_0, \beta_1,...,\beta_p) \\ \hskip{1.5em} = \sum_{i=1}^{N}(y_i - f(\bm{x_i} ))^2 \\ \hskip{5em} = \sum_{i=1}^{N}(y_i - \beta_0 - \sum_{j=1}^{p} x_{ij} \beta_j)^2 β0,β1,...,βpminRSS(β0,β1,...,βp)=i=1∑N(yi−f(xi))2=i=1∑N(yi−β0−j=1∑pxijβj)2
注1:利用这一准则成立的合理前提是:(xi, yi)是从总体一种独立抽取的随机样本。若样本不满足随机性,yi与xi也应该条件独立。
注2:在利用这一准则进行参数估计时,其过程本身并不蕴含任何假设条件(即该过程并不蕴含模型的有效性假设)
为方便计算,我们首先将RSS的表达式改写为矩阵运算形式:
R S S ( β ) = ( y − X β ) T ( y − X β ) RSS( \bm{\beta} ) = (\bm{y} - \bm{X} \bm{\beta} )^T (\bm{y} - \bm{X} \bm{\beta} ) RSS(β)=(y−Xβ)T(y−Xβ)
其中:
β = [ β 0 β 1 ⋮ β p ] ( p + 1 ) × 1 , y = [ y 0 y 1 ⋮ y N ] N × 1 , X = [ 1 x 11 … x 1 p 1 x 21 … x 2 p ⋮ ⋮ ⋱ ⋮ 1 x N 1 … x N p ] N × ( p + 1 ) \bm{\beta} = \begin{bmatrix} \beta_0 \\ \beta_1 \\ \vdots\\ \beta_p \end{bmatrix}_{(p+1) \times1}, \space \space \space \space \space \bm{y} = \begin{bmatrix} y_0 \\ y_1 \\ \vdots\\ y_N \end{bmatrix}_{N \times1}, \space \space \space \space \space \bm{X} = \begin{bmatrix} \space 1 \space\space x_{11} \space\space \dots \space\space x_{1p} \\ \space 1 \space\space x_{21} \space\space \dots \space\space x_{2p} \\ \vdots \space \space\space \space \space \vdots \space \space \space \space \space ⋱ \space \space \space \space \vdots\\ \space 1 \space\space x_{N1} \space\space \dots \space\space x_{Np} \end{bmatrix}_{N \times (p+1)} β=⎣⎢⎢⎢⎡β0β1⋮βp⎦⎥⎥⎥⎤(p+1)×1, y=⎣⎢⎢⎢⎡y0y1⋮yN⎦⎥⎥⎥⎤N×1, X=⎣⎢⎢⎢⎡ 1 x11 … x1p 1 x21 … x2p⋮ ⋮ ⋱ ⋮ 1 xN1 … xNp⎦⎥⎥⎥⎤N×(p+1)
由于问题(I)可以视为无约束优化问题,分别对目标函数求其一阶和二阶导数,则有:
∂ R S S ( β ) ∂ β = − 2 X T ( y − X β ) \frac{ \partial RSS( \bm{\beta} ) } { \partial \bm{\beta} } = -2 \bm{X}^T ( \bm{y} - \bm{X} \bm{\beta}) ∂β∂RSS(β)=−2XT(y−Xβ) ∂ 2 R S S ( β ) ∂ β 2 = 2 X T X ≽ 0 \frac{ \partial^2 RSS( \bm{\beta} ) } { \partial \bm{\beta}^2 } = 2 \bm{X}^T \bm{X} \succcurlyeq 0 ∂β2∂2RSS(β)=2XTX≽0
由线性代数和凸优化问题(或多元函数极值问题)基础知识可知:RSS(β)为向量 β 的半正定二次型,同时RSS(β)是定义在 Rp+1 上的凸函数。
当 XTX 满秩(亦称非奇异)时,RSS(β)为向量 β 的正定二次型,因此RSS(β)是定义在 Rp+1 上的严格凸函数。由严格凸函数性质可知,RSS(β)最小值点存在且唯一,且其取得最小值满足的充分必要条件是:RSS(β)关于向量 β 的一阶导函数为0。
根据上述结论,该最优化问题的解满足: X T ( y − X β ^ ) = 0 \bm{X}^T ( \bm{y} - \bm{X} \bm{ \hat\beta}) = 0 XT(y−Xβ^)=0
移项得: X T X β ^ = X T y \bm{X}^T \bm{X} \bm{\hat\beta} = \bm{X}^T \bm{y} XTXβ^=XTy
当自变量不存在多重共线性时, XTX 矩阵非奇异,因此其逆矩阵存在,因此解得优化问题的解:
β ^ = ( X T X ) − 1 X T y \bm{\hat\beta} = ( \bm{X}^T \bm{X} )^{-1} \bm{X}^T \bm{y} β^=(XTX)−1XTy
注1:矩阵 XTX 非奇异, 等价于 样本资料阵 X 列满秩,等价于模型自变量不存在多重共线性。这部分证明请参考文献[1]《高等代数(第二版)上册 》 ;
注2:关于矩阵函数的代数运算,例如乘法运算、逆运算、求导运算等更多细节,请参考文献[1]《高等代数(第二版)上册 》 ;
注3:关于凸规划问题的相关基础知识,请参考文献[2]《数值最优化》 。
将估计参数 β 带入模型中,可以得到学习样本的拟合值:
y ^ = X β ^ = X ( X T X ) − 1 X T y = d e f H y \bm{\hat y} = \bm{X} \bm{\hat\beta} = \bm{X} ( \bm{X}^T \bm{X} )^{-1} \bm{X}^T \bm{y} \xlongequal{def} \bm{H} \bm{y} y^=Xβ^=X(XTX)−1XTydefHy其中,矩阵 H : H = X ( X T X ) − 1 X T \bm{H} = \bm{X} ( \bm{X}^T \bm{X} )^{-1} \bm{X}^T H=X(XTX)−1XT被称为“帽子矩阵”(仿佛给 y 带了一个帽子)。
参数 σ 表示误差项的波动率。我们可以把残差序列作为误差项的估计量,因此可以使用残差序列的样本标准差对 σ 进行估计:
σ ^ = ( y − y ^ ) T ( y − y ^ ) N − p − 1 = ∑ i = 1 N ( y i − y ^ i ) 2 N − p − 1 \bm{\hat \sigma} = \sqrt{ \frac {( \bm{y} - \bm{\hat{y}} )^T ( \bm{y} - \bm{\hat{y}} ) } {N-p-1} } = \sqrt{ \frac { \sum _{i=1}^{N} (y_i - \hat{y}_i)^2} {N-p-1} } σ^=N−p−1(y−y^)T(y−y^)=N−p−1∑i=1N(yi−y^i)2
注:这里分母使用 N-p-1 是为了确保该方差估计量的无偏性,其具体论证我将在下一篇文章中进行说明。
在上一章使用最小二乘法对模型参数进行估计时,我们采用了用“残差平方和”作为评判模型拟合的好坏,其实质是希望找到一个拟合超平面(即为一个线性模型),使得所有样本到超平面的距离和最短(也就是最接近)。因此,这种评估方法是站在几何学的角度上进行的。除此之外,我们还有没有其他衡量拟合好坏的角度呢?
首先我们知道,样本具有“二元性” :当在抽样之前,样本可以视为一个 随机变量(或随机向量);而抽样之后,样本的取值被固定,因此又可以视为一个常数(或常向量)。因此,在抽样之前,N 个来自于总体的独立随机样本应该有联合分布,这是随机变量的特征决定的。若多元线性回归模型的正态性假设成立,那么N 个样本的因变量 y 的条件分布应满足:
y ∼ N ( X β , I n σ 2 ) \bm{y} \thicksim N(\bm{X} \bm{\beta},\bm{I_n}\sigma^2) y∼N(Xβ,Inσ2)
其联合概率密度函数存在,有:
f ( y 1 , . . . , y N ; x 1 , . . . , x N , β , σ ) = ∏ i = 1 N 1 2 π σ exp { − 1 2 σ 2 ( y i − β 0 − β 1 x i 1 − ⋯ − β p x i p ) 2 } = 1 ( 2 π σ ) N × exp { − ∑ i = 1 N 1 2 σ 2 ( y i − β 0 − β 1 x i 1 − ⋯ − β p x i p ) 2 } = ( 2 π σ ) − N × exp { − 1 2 σ 2 ( y − X β ) T ( y − X β ) } f ( y_1, ..., y_N; \bm{x_1} , ..., \bm{x_N}, \bm{\beta }, \sigma ) \\ \hspace{4.5em} = \prod_{i=1}^{N} \frac {1} {\sqrt{2\pi}\sigma} \exp\{ - \frac{1}{2\sigma^2} (y_i - \beta_0 - \beta_1 x_{i1}- \dots - \beta_p x_{ip})^2 \} \\ \hspace{4.5em} = \frac {1} { ( \sqrt{2\pi}\sigma ) ^ N} \times \exp\{ - \sum_{i=1}^N \frac{1}{2\sigma^2}(y_i - \beta_0 - \beta_1 x_{i1}- \dots - \beta_p x_{ip} ) ^2 \} \\ \hspace{4.5em} =( \sqrt{2\pi}\sigma ) ^ {-N} \times \exp \{ - \frac{1}{2\sigma^2} (\bm{y} - \bm{X} \bm{\beta} )^ T(\bm{y} - \bm{X} \bm{\beta} ) \} f(y1,...,yN;x1,...,xN,β,σ)=i=1∏N2πσ1exp{−2σ21(yi−β0−β1xi1−⋯−βpxip)2}=(2πσ)N1×exp{−i=1∑N2σ21(yi−β0−β1xi1−⋯−βpxip)2}=(2πσ)−N×exp{−2σ21(y−Xβ)T(y−Xβ)}其中: φ(x) 为一元标准正态分布的分布函数。
注:关于随机变量与分布更多的资料请参考文献[3]《测度论与概率论基础》
在抽样之后,样本被固定,联合概率密度函数变成了关于总体参数 β 的函数。我们重新定义这个函数,称这一函数为“似然函数”(Likelihood Function),并记为 L (β),其表达式为:
L ( β , σ ; ( y 1 , x 1 ) , . . . , ( y N , x N ) ) = ( 2 π σ ) − N × exp { − 1 2 σ 2 ( y − X β ) T ( y − X β ) } L( \bm{\beta } , \sigma; \space (y_1, \bm{x_1}), ..., (y_N, \bm{x_N}) ) =( \sqrt{2\pi}\sigma ) ^ {-N} \times \exp \{ - \frac{1}{2\sigma^2} (\bm{y} - \bm{X} \bm{\beta} )^ T(\bm{y} - \bm{X} \bm{\beta} ) \} L(β,σ; (y1,x1),...,(yN,xN))=(2πσ)−N×exp{−2σ21(y−Xβ)T(y−Xβ)}
注:似然函数与联合概率密度函数在表达形式上一致,但是似然函数是关于总体参数 β 的函数,而概率密度函数是关于随机变量序列(即样本序列)( yi, xi ), i = 1, …, N 的函数。
为什么称他为似然函数呢?我们知道,概率密度函数展现了的随机变量发生的可能性的大小。因此似然函数的意义是:若我们已经抽出来了一组样本,那么这组样本来自参数为 β 的总体的可能性是多少?
注:这个说法不够严谨,但这是我能想到的最容易理解的表达了。。。
那么我们如何利用似然函数来估计参数呢?我们期望:“在一次试验中,若某一事件发生了,那么这一事件最有可能来自于发生可能性最大的哪一种情形”,或者说“发生概率最高的事件在一次实验中最有可能发生”。
这听起来完全就是废话啊!我们不妨举一个简单的例子:
例:一个箱子里有十个球,这十个球有可能是下面三种情况:
情况 1:十个球中,一个红球,九个白球;
情况 2:十个球中,五个红球,五个白球;
情况 3:十个球中,九个红球,一个白球;
已知有放回地随机抽,每次抽一个,结果三次都抽中了红球。请问,箱子里最有可能是这三种情况中的哪一种?
分别计算这三种情况所发生“有放回三次都抽中红球”这一事件的概率,可以知道情况3发生的可能性最大。因此我们可以认为箱子里装有九个红球和一个白球。
注:对一思想进行严格说明需要涉及贝叶斯决策,有兴趣的读者可自行查阅更多资料
通过这个例子的说明可知:我们需要找到一组参数,使得在这组参数下,样本的联合概率密度达到最大。因此,这个问题就变成了:在所有有可能的参数取值中(专业说法:在参数空间中),所抽中的样本来自哪一组参数的可能性最高?
至此,我们将问题抽象成了一个无约束优化问题,这与最小二乘估计的手段十分相似。但是由于似然函数是连乘运算,这在求导的过程中不够方便,因此我们对似然函数其进行对数化处理,得到“对数似然函数”(Logarithm Likelihood Function ),并记为 l (β)。因此,这一优化问题转化为了:
min β l ( β , σ ; ( y 1 , x 1 ) , ( y 2 , x 2 ) , . . . , ( y N , x N ) ) = − N ln 2 π σ − 1 2 σ 2 ( y − X β ) T ( y − X β ) \min_ \bm{\beta} l( \bm{\beta }, \sigma;\space (y_1, \bm{x_1}), ( y_2, \bm{x_2}), ... , (y_N, \bm{x_N}) ) = -N \ln { \sqrt{2\pi}\sigma } - \frac{1}{2\sigma^2} ( \bm{y} - \bm{X} \bm{\beta} )^ T(\bm{y} - \bm{X} \bm{\beta} ) βminl(β,σ; (y1,x1),(y2,x2),...,(yN,xN))=−Nln2πσ−2σ21(y−Xβ)T(y−Xβ)
注:不难证明:对数似然函数与似然函数取最小值时,β 相等。
与第2部分过程相仿,其一阶导函数有:
∂ l ( β , σ ) ∂ β = − 2 X T ( y − X β ) = 0 \frac{ \partial l( \bm{\beta},\sigma ) } { \partial \bm{\beta} } = -2 \bm{X}^T ( \bm{y} - \bm{X} \bm{\beta}) = 0 ∂β∂l(β,σ)=−2XT(y−Xβ)=0 ∂ l ( β , σ ) ∂ σ = − N σ + 1 σ 3 ( y − X β ) T ( y − X β ) = 0 \frac{ \partial l( \bm{\beta},\sigma) } { \partial \sigma } = -\frac{N}{\sigma} + \frac{1}{\sigma^3} ( \bm{y} - \bm{X} \bm{\beta} )^ T(\bm{y} - \bm{X} \bm{\beta} ) = 0 ∂σ∂l(β,σ)=−σN+σ31(y−Xβ)T(y−Xβ)=0
解得:
β ^ = ( X T X ) − 1 X T y \bm{\hat\beta} = ( \bm{X}^T \bm{X} )^{-1} \bm{X}^T \bm{y} β^=(XTX)−1XTy σ ^ = 1 N ( y − X β ) T ( y − X β ) \hat{\sigma} = \sqrt { \frac{1}{N} ( \bm{y} - \bm{X} \bm{\beta} )^ T(\bm{y} - \bm{X} \bm{\beta} ) } σ^=N1(y−Xβ)T(y−Xβ)
基于第2部分和第3部分的讨论,我们知道:基于最小二乘法和极大似然估计法两种方法得到的参数估计结果是一致的(有没有一种殊途同归的艺术感!),估计值为:
β ^ = ( X T X ) − 1 X T y \bm{\hat\beta} = ( \bm{X}^T \bm{X} )^{-1} \bm{X}^T \bm{y} β^=(XTX)−1XTy
其中:
β = [ β 0 β 1 ⋮ β p ] ( p + 1 ) × 1 , y = [ y 0 y 1 ⋮ y N ] N × 1 , X = [ 1 x 11 … x 1 p 1 x 21 … x 2 p ⋮ ⋮ ⋱ ⋮ 1 x N 1 … x N p ] N × ( p + 1 ) \bm{\beta} = \begin{bmatrix} \beta_0 \\ \beta_1 \\ \vdots\\ \beta_p \end{bmatrix}_{(p+1) \times1}, \space \space \space \space \space \bm{y} = \begin{bmatrix} y_0 \\ y_1 \\ \vdots\\ y_N \end{bmatrix}_{N \times1}, \space \space \space \space \space \bm{X} = \begin{bmatrix} \space 1 \space\space x_{11} \space\space \dots \space\space x_{1p} \\ \space 1 \space\space x_{21} \space\space \dots \space\space x_{2p} \\ \vdots \space \space\space \space \space \vdots \space \space \space \space \space ⋱ \space \space \space \space \vdots\\ \space 1 \space\space x_{N1} \space\space \dots \space\space x_{Np} \end{bmatrix}_{N \times (p+1)} β=⎣⎢⎢⎢⎡β0β1⋮βp⎦⎥⎥⎥⎤(p+1)×1, y=⎣⎢⎢⎢⎡y0y1⋮yN⎦⎥⎥⎥⎤N×1, X=⎣⎢⎢⎢⎡ 1 x11 … x1p 1 x21 … x2p⋮ ⋮ ⋱ ⋮ 1 xN1 … xNp⎦⎥⎥⎥⎤N×(p+1)
不过这两种方法对误差项方差的估计不同。最小二乘法对误差项标准差的估计量为:
σ ^ O L S = 1 N − p − 1 ( y − y ^ ) T ( y − y ^ ) \bm{\hat \sigma} _{OLS} = \sqrt{ \frac {1 } {N-p-1} ( \bm{y} - \bm{\hat{y}} )^T ( \bm{y} - \bm{\hat{y}} ) } σ^OLS=N−p−11(y−y^)T(y−y^)
而极大似然估计对误差项标准差的估计量为: σ ^ M L = 1 N ( y − y ^ ) T ( y − y ^ ) \bm{\hat \sigma} _{ML} = \sqrt{ \frac { 1 } {N} ( \bm{y} - \bm{\hat{y}} )^T ( \bm{y} - \bm{\hat{y}} ) } σ^ML=N1(y−y^)T(y−y^)其中: y ^ = X β ^ = X ( X T X ) − 1 X T y \bm{\hat y} = \bm{X} \bm{\hat\beta} = \bm{X} ( \bm{X}^T \bm{X} )^{-1} \bm{X}^T \bm{y} y^=Xβ^=X(XTX)−1XTy
注:在机器学习领域中,我们首先设置目标函数(或称代价方程),通过寻找最优的参数使得目标函数达到最小值,从而实现参数估计的目的。因此从这个意义上讲,多元线性回归模型可以算机器学习模型中的一种。
在估计出了参数之后,小伙伴们 (无中生有) 一定会顺理成章地提出如下疑问:
(1)这些估计出来的参数好不好?准不准确呢?准确率有多高呢?
(2)估计出来的模型好不好?有没有效呢?
(3)估计出来的模型是否满足模型的基本假设条件呢?不满足可咋办呢?
(4)如何利用估计出来的模型进行预测呢?预测的准确性有多高呢?
(5)你还得拖多长时间才往后更新啊?
面对小伙伴们的灵魂拷问,让我们下回分解。
[1]《高等代数(第二版)上册 》丘维声 著
[2]《数值最优化》李董辉等 著
[3]《测度论与概率论基础》程士宏 著
欢迎感兴趣的小伙伴来跟作者一起挑刺儿~ 包括但不限于语言上的、排版上的和内容上的不足和疏漏~ 一起进步呀!
有任何问题,欢迎在本文下方留言,或者将问题发送至勘误邮箱: [email protected]
谢谢大家!XD