数学 - 回归分析 - 第 5 章 自变量选择与逐步回归 - 5.2 所有子集回归

5.2 所有子集回归

5.2.1 所有子集的数目

设在一个实际问题的回归建模中,有 m 个可供选择的变量 x1x2xm,由于每个自变量都有入选和不入选两种情况,因此 y 关于这些自变量的所有可能的回归方程就有 2m1 个,这里减 1 是要求回归模型中至少包含一个自变量。如果把回归模型中只包含常数项的情况也算在内,那么所有可能的回归方程就有 2m 个。

从另一个角度看,选模型包含的自变量数量 p 有从 0mm+1 种不同的情况,而对选模型中恰包含 p 个自变量的情况,从全部 m 个自变量中选出 p 个的方法共有组合数 (mp) 个,因而所有选模型的数量为:

(m0)+(m1)++(mm)=2m

5.2.2 关于自变量选择的几个准则

在这些回归子集中如何选择一个最优回归子集?衡量最优子集的标准又是什么?

在第 3 章,我们从数据与模型拟合优劣的角度出发,认为残差平方和 SSE 最小的回归方程就是最好的,还用复相关系数 R 来衡量回归拟合的好坏。然而,通过下面的讨论我们会看到上述两种方法的不足。

我们把选模型式 (5.1.2) 的残差平方和记为 SSEp,当再增加一个新的自变量 xp+1 时,相应的残差平方和记为 SSEp+1。根据最小二乘估计的原理,增加自变量时残差平方和将减少,减少自变量时残差平方和将增加。因此有

SSEp+1SSEp

又记它们的复决定系数分别为:Rp+12=1SSEp+1/SSTRp2=1SSEp/SST。由于 SST 是自变量的离差平方和,与自变量无关,因而

Rp+12Rp2

因此当自变量子集扩大时,残差平方和随之减少,而复决定系数 R2 随之增大。因此,如果按残差平方和越小越好的原则来选择自变量子集,或者按复决定系数越大越好的准则,则毫无疑问选的变量越多越好。这样由于变量的多重共线性,给变量的回归系数估计值带来不稳定性,加上变量的测量误差积累和参数数量增加,将使估计值的误差增大。因此残差平方和、复相关系数或样本决定系数都不能作为选择变量的准则。

下面从不同的角度给出几个常用的准则。

(1) 自由度调整复决定系数达到最大

前面我们已经看到,当给模型增加自变量时,复决定系数也随之逐步增大,然而复决定系数增大的代价是残差自由度的减少(残差自由度等于样本个数与自变量个数之差)。自由度小意味着估计和预测的可靠性低。这表明当一个回归方程涉及的自变量很多时,回归模型的拟合从表面上看是良好的,而区间预测和区间估计的幅度却变大,以致失去实际意义。

为了克服样本决定系数的这一缺点,我们设法对 R2 进行修正,使得只有加入有意义的变量时,经过修正的样本决定系数才会增加,这就是所谓的自由度调整复决定系数

Ra2 为调整的复决定系数,n 为样本量,p 为自变量的个数,则有

(5.2.1)Ra2=1n1np1(1R2)

显然有 Ra2R2Ra2 随着自变量的增加不一定增大,由式 (5.2.1) 可以看出,尽管 1R2 随着自变量的增加而减少,但由于其前面的系数 (n1)/(np1) 起折扣作用,才使 Ra2 随着自变量的增加并不一定增大。当所增加的自变量对回归的贡献很小时,Ra2 反而可能减少。

在一个实际问题的回归建模中,自由度调整复决定系数 Ra2 越大,所对应的回归方程越好。从拟合优度的角度追求最优,则所有回归子集中 Ra2 最大者对应的回归方程就是最优方程。

从另外一个角度考虑回归的拟合效果,回归误差项方差 σ2 的无偏估计为:

σ^2=1np1SSE

此无偏估计式中也加入了惩罚因子 np1σ^2 实际上就是用自由度 np1 做平均的平均残差平方和。当自变量个数从 0 开始增加时,SSE 逐渐减小,作为除数的惩罚因子 np1 也随之减小。

一般来说,当自变量个数从 0 开始增加时,σ^2 先下降,而后稳定下来,当自变量个数增加到一定数量后,σ^2 又开始增加。这是因为刚开始时,随着自变量个数的增加,SSE 能够快速减小,虽然作为除数的惩罚因子 np1 也随之减小,但由于 SSE 减小的速度更快,因而 σ^2 是趋于减小的。当自变量数目增加到一定程度时,重要的自变量基本都选上了,这时再增加自变量,SSE 减小的幅度不大,以至于抵消不了除数 np1 的减小,最终又导致了 σ^2 的增加。

上述分析可知,用平均残差平方和 σ^2 作为自变量选元准则是合理的,那么它和调整的复决定系数 Ra2 准则有什么关系呢?实际上,这两个准则是等价的,容易证明以下关系成立:

(5.2.2)Ra2=1n1SSTσ^2

由于 SST 是与回归无关的固定值,因此 Ra2σ^2 是等价的。

(2) AIC 与 BIC 准则

posted on   Black_x  阅读(885)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示