在上一篇文章中,我们介绍了参数的显著性检验——t检验,和模型的显著性检验——F检验(详情请见:多元线性回归模型(五)——参数与模型的显著性检验:t检验与F检验)
现在我们来考虑一个新问题:假设一现在两个模型都可以用来拟合因变量,且每个模型的各个参数均显著,那么这两个模型哪个更好呢?有什么指标可以用来比较两个模型孰优孰劣呢?那就让我们带着这个问题继续探索吧。
我将本文需要的一些引理与相关证明放在这一章节中,其中最重要的要属离差平方和分解定理。不感兴趣的小伙伴可以跳过本章的证明过程。
【引理1】 样本真值与模型拟合值的残差和为0,即:
∑ i = 1 N ( y i − y i ^ ) = 0 \sum_{i=1}^{N} ( y_i- \hat{y_i})= 0 i=1∑N(yi−yi^)=0
Proof:
根据对 β0 的偏导数为0,即可得证。
Q.E.D.
【引理2】样本真值与模型拟合值的残差和为0,即:
∀ j ∈ { 1 , 2 , . . . , p } , ∑ i = 1 N x i j ( y i − y i ^ ) = 0 \forall j \in \{1, 2, ..., p \}, \ \ \ \sum_{i=1}^{N} x_{ij} (y_i- \hat{y_i})= 0 ∀j∈{1,2,...,p}, i=1∑Nxij(yi−yi^)=0
Proof:
根据对 βi 的偏导数为0,即可得证。
Q.E.D.
【引理3】
∑ i = 1 N y ^ i ( y i − y i ^ ) = 0 \sum_{i=1}^{N} \hat{y}_{i} (y_i- \hat{y_i})= 0 i=1∑Ny^i(yi−yi^)=0
Proof:
∑ i = 1 N y ^ i ( y i − y i ^ ) = ∑ i = 1 N ( β ^ 0 + ∑ j = 1 p β ^ j x i , j ) ( y i − y i ^ ) = β ^ 0 ∑ i = 1 N ( y i − y i ^ ) + ∑ j = 1 p β ^ j ∑ i = 1 N x i , j ( y i − y i ^ ) \sum_{i=1}^{N} \hat{y}_{i} (y_i- \hat{y_i}) \\ = \sum_{i=1}^{N} (\hat{\beta}_{0} + \sum_{j=1}^{p} \hat{\beta}_{j} x_{i,j} )(y_i- \hat{y_i}) \\ =\hat{\beta}_{0} \sum_{i=1}^{N} (y_i- \hat{y_i}) + \sum_{j=1}^{p} \hat{\beta}_{j} \sum_{i=1}^{N} x_{i,j} (y_i- \hat{y_i}) \\ i=1∑Ny^i(yi−yi^)=i=1∑N(β^0+j=1∑pβ^jxi,j)(yi−yi^)=β^0i=1∑N(yi−yi^)+j=1∑pβ^ji=1∑Nxi,j(yi−yi^)
由引理1与引理2,即可证得:
∑ i = 1 N y ^ i ( y i − y i ^ ) = 0 \sum_{i=1}^{N} \hat{y}_{i} (y_i- \hat{y_i}) = 0 i=1∑Ny^i(yi−yi^)=0
Q.E.D.
【离差平方和分解定理】 离差平方和(TSS) = 可解释平方和(ESS) + 残差平方和(RSS),即:
∑ i = 1 N ( y i − y ˉ ) 2 = ∑ i = 1 N ( y i − y ^ i ) 2 + ∑ i = 1 N ( y ^ i − y ˉ ) 2 \sum_{i=1}^{N} (y_i - \bar{y})^2 = \sum_{i=1}^{N} (y_i - \hat{y}_i)^2 + \sum_{i=1}^{N} (\hat{y}_i - \bar{y})^2 i=1∑N(yi−yˉ)2=i=1∑N(yi−y^i)2+i=1∑N(y^i−yˉ)2
Proof:
∑ i = 1 N ( y i − y ˉ ) 2 = ∑ i = 1 N ( y i − y ^ i + y ^ i − y ˉ ) 2 = ∑ i = 1 N ( y i − y ^ i ) 2 + ∑ i = 1 N ( y ^ i − y ˉ ) 2 + 2 ∑ i = 1 N ( y i − y ^ i ) ( y ^ i − y ˉ ) \sum_{i=1}^{N} (y_i - \bar{y})^2 \\ = \sum_{i=1}^{N} (y_i - \hat{y}_i + \hat{y}_i - \bar{y} )^2 \\ = \sum_{i=1}^{N} (y_i - \hat{y}_i)^2 + \sum_{i=1}^{N} (\hat{y}_i - \bar{y})^2 + 2\sum_{i=1}^{N} (y_i - \hat{y}_i)(\hat{y}_i - \bar{y}) i=1∑N(yi−yˉ)2=i=1∑N(yi−y^i+y^i−yˉ)2=i=1∑N(yi−y^i)2+i=1∑N(y^i−yˉ)2+2i=1∑N(yi−y^i)(y^i−yˉ)
现在,来证明第三项交叉项为0。由引理1和引理3:
∑ i = 1 N ( y i − y ^ i ) ( y ^ i − y ˉ ) = ∑ i = 1 N ( y i − y ^ i ) y ^ i − y ˉ ∑ i = 1 N ( y i − y ^ i ) = 0 \sum_{i=1}^{N} (y_i - \hat{y}_i)(\hat{y}_i - \bar{y}) \\ = \sum_{i=1}^{N} (y_i - \hat{y}_i)\hat{y}_i - \bar{y} \sum_{i=1}^{N} (y_i - \hat{y}_i) \\ = \ \ \ 0 i=1∑N(yi−y^i)(y^i−yˉ)=i=1∑N(yi−y^i)y^i−yˉi=1∑N(yi−y^i)= 0
因此:
∑ i = 1 N ( y i − y ˉ ) 2 = ∑ i = 1 N ( y i − y ^ i ) 2 + ∑ i = 1 N ( y ^ i − y ˉ ) 2 \sum_{i=1}^{N} (y_i - \bar{y})^2 = \sum_{i=1}^{N} (y_i - \hat{y}_i)^2 + \sum_{i=1}^{N} (\hat{y}_i - \bar{y})^2 i=1∑N(yi−yˉ)2=i=1∑N(yi−y^i)2+i=1∑N(y^i−yˉ)2
Q.E.D.
对于拟合模型的好坏,一个简单的想法当然就是模型的残差平方和越低越好。然而,由于残差平方和是 依赖于样本容量 N 的函数,这样会导致不同样本点数拟合出的模型缺乏可比性。因此,我们很自然地想到利用残差平方和的平均值(称为均方根误差)来表现模型拟合的好坏,即:
RMSE = 1 N − 1 ∑ i = 1 N ( y i − y ^ i ) 2 = R S S N − 1 \text{RMSE} = \frac{1}{N-1} \sum_{i=1}^{N}(y_i-\hat{y}_i)^2 = \frac{RSS}{N-1} RMSE=N−11i=1∑N(yi−y^i)2=N−1RSS
从指标的构成上可以看出,RMSE越低,模型的拟合效果越好。
要判断哪个模型更好,一个方法就是看哪一个模型更好地拟合了样本,或者说哪一个模型包含了更多的样本信息。那么什么指标可以表示“信息量”呢?
总离差平方和(Total Sum of Square,TSS) 可以看成样本中所包含的“信息量”,而可解释平方(Explained Sum of Square,ESS) 则是回归模型所能解释的“信息量”。而离差平方和分解定理则刚好给了我们一个工具,那就是将总离差平方和分解成了可解释平方和与残差平方和两部分。可解释平方和占总离差平方和比例越高,说明模型所能解释样本信息量的比率越高,模型拟合的效果越好。因此,我们可以构造R方统计量:
R 2 = E S S T S S = 1 − R S S T S S = ∑ i = 1 N ( y ^ i − y ˉ ) 2 ∑ i = 1 N ( y i − y ˉ ) 2 R^2=\frac{ESS}{TSS} = 1 - \frac{RSS}{TSS} = \frac{ \sum_{i=1}^{N} (\hat{y}_i - \bar{y})^2} {\sum_{i=1}^{N} (y_i - \bar{y})^2 } R2=TSSESS=1−TSSRSS=∑i=1N(yi−yˉ)2∑i=1N(y^i−yˉ)2
来表示样本中所含信息量的可解释比例。
若得到的某模型的R方为 x %,则我们可以说模型解释了样本中x %的信息量。
从R方的构造上来看,R方的取值范围为0到1之间。R方越大,说明模型的可解释(方差的)比率越高,模型拟合的越好;R方越小,说明模型拟合效果不佳,样本中包含的信息并没有得到有效的解释。
细心的读者可能已经发现:R方的构造与F统计量有某些十分相似的地方。在这里,作者留一个小小的悬念,感兴趣的小伙伴可以在评论区中自行分析二者之间的关系。(喂,懒得写这块你就直说啊)
看到这里,小伙伴可能在想:为什么R2的脑袋上有一个平方“2”呢?其实,R2称为R方是有深意的,因为R方就是R的平方。(这不是废话吗) 那R又是什么?
R其实就是被解释变量样本值与与拟合模型的相关系数。证明如下:
ρ 2 ( y i , y ^ i ) = cov 2 ( y i , y ^ i ) var ( y i ) var ( y ^ i ) \rho^2(y_i, \hat{y}_i) = \frac{\text{cov}^2(y_i,\hat{y}_i)} {\text{var}(y_i)\text{var}( \hat{y}_i) } ρ2(yi,y^i)=var(yi)var(y^i)cov2(yi,y^i) = [ ∑ i = 1 N ( y i − y ˉ ) ( y ^ i − y ˉ ) ] 2 ∑ i = 1 N ( y i − y ˉ ) 2 ∑ i = 1 N ( y ^ i − y ˉ ) 2 = \frac{ [\sum_{i=1}^{N}{ (y_i - \bar{y}) ( \hat{y}_i - \bar{y} ) }]^2 } { \sum_{i=1}^{N} (y_i - \bar{y})^2 \sum_{i=1}^{N} (\hat{y}_i - \bar{y} )^2 } =∑i=1N(yi−yˉ)2∑i=1N(y^i−yˉ)2[∑i=1N(yi−yˉ)(y^i−yˉ)]2
由引理1和引理3:
ρ 2 ( y i , y ^ i ) = [ ∑ i = 1 N ( y i − y ^ i + y ^ i − y ˉ ) ( y ^ i − y ˉ ) ] 2 ∑ i = 1 N ( y i − y ˉ ) 2 ∑ i = 1 N ( y ^ i − y ˉ ) 2 \rho^2(y_i, \hat{y}_i) = \frac{ [\sum_{i=1}^{N}{ (y_i - \hat{y}_i + \hat{y}_i - \bar{y} ) ( \hat{y}_i - \bar{y} ) } ]^2 } { \sum_{i=1}^{N} (y_i - \bar{y})^2 \sum_{i=1}^{N} (\hat{y}_i - \bar{y} )^2 } ρ2(yi,y^i)=∑i=1N(yi−yˉ)2∑i=1N(y^i−yˉ)2[∑i=1N(yi−y^i+y^i−yˉ)(y^i−yˉ)]2 = [ ∑ i = 1 N ( y i − y ^ i ) ( y ^ i − y ˉ ) + ∑ i = 1 N ( y ^ i − y ˉ ) 2 ] 2 ∑ i = 1 N ( y i − y ˉ ) 2 ∑ i = 1 N ( y ^ i − y ˉ ) 2 =\frac{ [\sum_{i=1}^{N}{ (y_i - \hat{y}_i )( \hat{y}_i - \bar{y} ) + \sum_{i=1}^{N} ( \hat{y}_i - \bar{y} )^2 } ]^2 } { \sum_{i=1}^{N} (y_i - \bar{y})^2 \sum_{i=1}^{N} (\hat{y}_i - \bar{y} )^2 } =∑i=1N(yi−yˉ)2∑i=1N(y^i−yˉ)2[∑i=1N(yi−y^i)(y^i−yˉ)+∑i=1N(y^i−yˉ)2]2 = [ ∑ i = 1 N ( y ^ i − y ˉ ) 2 ] 2 ∑ i = 1 N ( y i − y ˉ ) 2 ∑ i = 1 N ( y ^ i − y ˉ ) 2 =\frac{ [ \sum_{i=1}^{N} ( \hat{y}_i - \bar{y} )^2 ]^2 } { \sum_{i=1}^{N} (y_i - \bar{y})^2 \sum_{i=1}^{N} (\hat{y}_i - \bar{y} )^2 } =∑i=1N(yi−yˉ)2∑i=1N(y^i−yˉ)2[∑i=1N(y^i−yˉ)2]2 = ∑ i = 1 N ( y ^ i − y ˉ ) 2 ∑ i = 1 N ( y i − y ˉ ) 2 = R 2 =\frac{ \sum_{i=1}^{N} ( \hat{y}_i - \bar{y} )^2 } { \sum_{i=1}^{N} (y_i - \bar{y})^2 } = R^2 =∑i=1N(yi−yˉ)2∑i=1N(y^i−yˉ)2=R2
即可以定义R:
R = ρ ( y i , y ^ i ) R = \rho(y_i, \hat{y}_i) R=ρ(yi,y^i)
我们已经说明:R方是一个评价拟合好坏的指标。然而,小伙伴可能又发现了一个新问题:当我们保留原有变量,而无脑往模型中添加解释变量时,R方也会越来越高。虽然模型的解释效果更好了,但是我们却加入了过多的解释变量。这有什么不好吗?过多的解释变量会让模型变得复杂,从而让我们很难说明被解释变量与解释变量之间的关系,有些时候(特别是样本数量不足的时候)还会造成“维度灾难”。这怎么办?是不是可以构造衡量拟合“性价比”的指数呢?
一个有效的办法就是在R方中加入一个关于自变量个数 p 的惩罚因子。而 调整R方(Adjusted R-Square, Adj-R2) 就是基于这一思想,在R方的基础上增加了对模型参数个数的惩罚项:
Adj- R 2 = 1 − R S S / ( N − p − 1 ) T S S / ( N − 1 ) \text{Adj-}R^2= 1-\frac{RSS/(N-p-1)}{TSS/(N-1)} Adj-R2=1−TSS/(N−1)RSS/(N−p−1) = 1 − N − 1 N − p − 1 ⋅ R S S T S S =1- \frac{N-1}{N-p-1} \cdot \frac{RSS}{TSS} =1−N−p−1N−1⋅TSSRSS
可以看到,当引入的解释变量不断变多(即 p 增加)时,尽管 RSS/TSS 是下降的,但是其前面的比值关于 p 单调递增,从而进一步限制了Adj-R2的进一步增长;换句话说,如果加入的解释变量“性价比不高”,那么在以Adj-R2的判定标准下,引入这一解释变量很可能并不是一个好选择。
与改进R方类似,还有一些常用的指标来对解释变量的数量进行“惩罚”。在这一章中,我们就来简单介绍一下这三个变量:赤池信息量(Akaike Information Criterion, AIC),贝叶斯信息量(Bayesian Information Criterion, BIC) 与 施瓦兹信息量(Schwarz Information Criterion, SIC)。
赤池信息量(AIC) 的定义式为:
AIC = 2 p − N ⋅ ln ( L ) \text{AIC} = 2p - N \cdot \text{ln}(L) AIC=2p−N⋅ln(L)
其中:p 为解释变量个数;
N 为样本点个数;
L 为似然函数,ln(L)为对数似然函数。
在【统计学习系列】多元线性回归模型(二)——模型的参数估计I:点估计 这篇文章中,我们已经给出了对数似然函数的表达式。在得到ML估计量 σ^2 和 β^ 后带入到对数似然函数中,即可得到如下的表达式:
AIC = 2 p + N ⋅ ln ( RSS N ) \text{AIC} = 2p+N \cdot \text{ln}( \frac{ \text{RSS}}{N}) AIC=2p+N⋅ln(NRSS)
可以看到,AIC指标分别是关于解释变量个数 p 和残差平方和平均值 RSS/N 的递增函数。我们可以认为,AIC指标引入了对解释变量个数 p 的“惩罚”:即便 p 较大时残差平方和很低,但是在AIC的意义下较大的 p 本身却增加了模型拟合的代价,这一点是我们不愿意看到的。AIC越小,则说明模型可以被少量的解释变量拟合的较好,模型拟合较为优秀。
注:总的来说,AIC越小越好。
贝叶斯信息量(BIC) 的定义式为:
BIC = 2 ln ( N ) p − N ⋅ ln ( L ) \text{BIC}= 2\text{ln}(N)p - N \cdot \text{ln}(L) BIC=2ln(N)p−N⋅ln(L)
在多元回归的表达式为:
BIC = 2 ln ( N ) p + N ⋅ ln ( RSS N ) \text{BIC}= 2\text{ln}(N) p + N \cdot \text{ln}( \frac{ \text{RSS}}{N}) BIC=2ln(N)p+N⋅ln(NRSS)
BIC指标在构成上与AIC指标几乎是完全一致,唯一的不同是对 p 的惩罚项前面加上了一个大于1的系数(一般来说N大于3),使得BIC在对 p 的惩罚上面更为严厉。因此,使用BIC准则选择出的最优模型对应的解释变量个数不会高于AIC准则所对应的最优模型。
容易证明,对于相同的 p,BIC > AIC。
注:与AIC一样,BIC越小越好。
施瓦茨信息量(SIC) 在表达式与AIC、BIC也基本相同,但SIC在三者之间对 p 的惩罚上面最为严厉。
注:与AIC、BIC一样,SIC也是越小越好。
若想查阅本系列全部文章,请参见目录页:系列文章目录索引。
欢迎感兴趣的小伙伴来跟作者一起挑刺儿~ 包括但不限于语言上的、排版上的和内容上的不足和疏漏~ 一起进步呀!
有任何问题,欢迎在本文下方留言,或者将问题发送至勘误邮箱: [email protected]
谢谢大家!