同步于音尘杂记
前面在回顾sklearn时,在广义线性模型中看到选择模型时可以采用AIC和BIC准则,特地复习了下统计学基础,简记如下,以抛砖引玉。
最基础的一个模型拟合优度的检验量就是R square(方程的确定系数)。
已知一组样本观测值 ( X i , Y i ) (X_i, Y_i) (Xi,Yi),其中i=1,2,3,…,n得到如下样本回归方程:
Y i ^ = β 0 ^ + β 1 ^ X i \hat{Y_i} = \hat{\beta_0} + \hat{\beta_1}X_i Yi^=β0^+β1^Xi
而Y的第i个观测值与样本均值的离差 y i = Y i − Y ˉ y_i = Y_i - \bar{Y} yi=Yi−Yˉ,其可以分解为两部分之和:
y i = Y i − Y ˉ = ( Y i − Y i ^ ) + ( Y i ^ − Y ˉ ) = e i + y i ^ y_i = Y_i - \bar{Y} = (Y_i - \hat{Y_i}) + (\hat{Y_i} - \bar{Y}) = e_i + \hat{y_i} yi=Yi−Yˉ=(Yi−Yi^)+(Yi^−Yˉ)=ei+yi^
其中 y i ^ = ( Y i ^ − Y ˉ ) \hat{y_i} = (\hat{Y_i} - \bar{Y}) yi^=(Yi^−Yˉ)是样本拟合值与观测值的平均值之差,可认为是由回归直线解释的部分,通常称之为"离差";
e i = ( Y i − Y i ^ ) e_i = (Y_i - \hat{Y_i}) ei=(Yi−Yi^)是实际观测值与回归拟合值之差,是回归直线不能解释的部分,通常称之为"残差"。
如果 Y i = Y i ^ Y_i = \hat{Y_i} Yi=Yi^,即实际观测值落在样本回归"线"上,则拟合最好。
对于所有样本点,可以证明:
∑ y i 2 = ∑ y i ^ 2 + ∑ e i 2 + 2 ∑ y i ^ 2 e i = ∑ y i ^ 2 + ∑ e i 2 \sum{y_i}^2 = \sum{\hat{y_i}^2} + \sum{e_i^2} + 2\sum{\hat{y_i}^2e_i} = \sum{\hat{y_i}^2} + \sum{e_i^2} ∑yi2=∑yi^2+∑ei2+2∑yi^2ei=∑yi^2+∑ei2
记:
T S S = ∑ y i 2 = ∑ ( Y i − Y ˉ ) 2 TSS = \sum{y_i^2} = \sum{(Y_i - \bar{Y})^2} TSS=∑yi2=∑(Yi−Yˉ)2为总体平方和(Total Sum of Squares)
E S S = ∑ y i ^ 2 = ∑ ( Y i ^ − Y ˉ ) 2 ESS = \sum{\hat{y_i}^2} = \sum{(\hat{Y_i} - \bar{Y})^2} ESS=∑yi^2=∑(Yi^−Yˉ)2为回归平方和(Explained Sum of Squares, 注意有的教材又称之为Regression Sum of Squares)
R S S = ∑ e i 2 = ∑ ( Y i − Y i ^ ) 2 RSS = \sum{e_i^2} = \sum{(Y_i - \hat{Y_i})^2} RSS=∑ei2=∑(Yi−Yi^)2为残差平方和(Residual Sum of Squares, 注意有的教材又称之为Error Sum of Squares)
T S S = E S S + R S S TSS = ESS + RSS TSS=ESS+RSS
所以Y的观测值围绕其均值的总离差(total variation)可分解为两部分:一部分来自回归线(ESS),另一部分则来自与随机误差(RSS)
在给定样本中,TSS不变,如果实际观测点离样本回归线越近,则ESS在TSS中占的比重越大,因此定义拟合优度:回归平方和ESS与TSS的比值。
记 R 2 = E S S T S S = 1 − R S S T S S R^2 = \frac{ESS}{TSS} = 1 - \frac{RSS}{TSS} R2=TSSESS=1−TSSRSS,称 R 2 R^2 R2为(样本)可决系数/判定系数
对于回归方程来说, R 2 R^2 R2有以下几个意义:
由于在模型中增加变量时, R 2 R^2 R2没有下降,所以存在一种过度拟合模型的内在趋势,即向模型中增加变量固然可以改善数据拟合程度,但这样也会导致预测的方差正大,这时就需要用到调整 R 2 R^2 R2。
R 2 ˉ = 1 − n − 1 n − k ( 1 − R 2 ) \bar{R_2} = 1 - \frac{n-1}{n-k}(1-R^2) R2ˉ=1−n−kn−1(1−R2)
调整 R 2 R^2 R2用作拟合优度的度量,它能够适当消除在模型中增加变量所导致的自由度损失。
调整 R 2 R^2 R2对模型扩张时自由度的损失进行了弥补,但又存在一个问题,随着样本容量的增大,这种弥补是否足以保证该准则肯定能让分析者得到正确的模型,所以提出了另外两个拟合度量指标,一个是赤池信息准则(Akaike Information Criterion, AIC),另一个是施瓦茨或贝叶斯信息准则(Bayesian Information Criterion,BIC)。
A I C ( K ) = s y 2 ( 1 − R 2 ) e 2 k / n AIC(K) = s_y^2(1-R^2)e^{2k/n} AIC(K)=sy2(1−R2)e2k/n
B I C ( K ) = s y 2 ( 1 − R 2 ) n k / n BIC(K) = s_y^2(1-R^2)n^{k/n} BIC(K)=sy2(1−R2)nk/n
s y 2 s_y^2 sy2中没有对自由度进行修正,虽然随着 R 2 R^2 R2的提高,这两个指标都有所改善(下降),但在其他条件不变的情况下,模型规模扩大又会使这两个指标恶化。与 R 2 ˉ \bar{R^2} R2ˉ一样,实现同样的拟合程度,这些指标在平均每次观测使用参数个数(K/n)较少时更有效。使用对数通常更方便,多数统计软件报告度量指标是:
A I C ( K ) = l n ( e ′ e n ) + 2 K n AIC(K) = ln(\frac{e^{\prime}e}{n}) + \frac{2K}{n} AIC(K)=ln(ne′e)+n2K
B I C ( K ) = l n ( e ′ e n ) + K l n n n BIC(K) = ln(\frac{e^{\prime}e}{n}) + \frac{Kln{n}}{n} BIC(K)=ln(ne′e)+nKlnn
更一般地:
A I C ( K ) = 2 K − 2 l n ( L ) AIC(K) = 2K - 2ln(L) AIC(K)=2K−2ln(L)
其中k是模型参数个数,L为似然函数。从一组可供选择的模型中选择最佳模型时,通常选择AIC最小的模型。
当两个模型之间存在较大差异时,差异主要体现在似然函数项,当似然函数差异不显著时,上市第一项,即模型复杂度则起作用,从而参数个数少的模型是较好的选择。
一般而言,当模型复杂度提高(k增大)时,似然函数L也会增大,从而使AIC变小,但是k过大时,似然函数增速减缓,导致AIC增大,模型过于复杂容易造成过拟合现象。目标是选取AIC最小的模型,AIC不仅要提高模型拟合度(极大似然),而且引入了惩罚项,使模型参数尽可能少,有助于降低过拟合的可能性。
B I C ( K ) = K l n n − 2 l n ( L ) BIC(K) = Kln{n} - 2ln(L) BIC(K)=Klnn−2ln(L)
其中k是模型参数个数,n为样本数量,L为似然函数。与AIC类似地,引入了模型参数个数作为惩罚项,但是BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高;其中 k l n n kln{n} klnn惩罚项在维度过大且训练样本数据相对较少的情况下,可以有效避免出现维度灾难现象。