京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R语言-选择“最佳”的回归模型
尝试获取一个回归方程时,实际上你就面对着从众多可能的模型中做选择的问题。是不是所有的变量都要包括?抑或去掉那个对预测贡献不显著的变量?还是需要添加多项式项和/或交互项来提高拟合度?最终回归模型的选择总是会涉及预测精度(模型尽可能地拟合数据)与模型简洁度(一个简单且能复制的模型)的调和问题。如果有两个几乎相同预测精度的模型,你肯定喜欢简单的那个。本节讨论的问题,就是如何在候选模型中进行筛选。注意,“最佳”是打了引号的,因为没有做评价的唯一标准,最终的决定需要调查者的评判。
8.6.1 模型比较
用基础安装中的anova()函数可以比较两个嵌套模型的拟合优度。所谓嵌套模型,即它的一些项完全包含在另一个模型中。在states的多元回归模型中,我们发现Income和Frost的回归系数不显著,此时你可以检验不含这两个变量的模型与包含这两项的模型预测效果是否一样好(见代码清单8-11)。
此处,模型1嵌套在模型2中。 anova()函数同时还对是否应该添加Income和Frost到线性模型中进行了检验。由于检验不显著(p=0.994),因此我们可以得出结论:不需要将这两个变量添加到线性模型中,可以将它们从模型中删除。
AIC(Akaike
Information Criterion,赤池信息准则)也可以用来比较模型,它考虑了模型的统计拟合度以及用来拟合的参数数目。
AIC值越小的模型要优先选择,它说明模型用较少的参数获得了足够的拟合度。该准则可用AIC()函数实现(见代码清单8-12)。
此处AIC值表明没有Income和Frost的模型更佳。注意, ANOVA需要嵌套模型,而AIC方法不需要。比较两模型相对来说更为直接,但如果有4个、 10个,或者100个可能的模型怎么办呢?这便是下节的主题。
8.6.2 变量选择
从大量候选变量中选择最终的预测变量有以下两种流行的方法:逐步回归法(stepwise method)和全子集回归(all-subsets regression)。
1. 逐步回归
逐步回归中,模型会一次添加或者删除一个变量,直到达到某个判停准则为止。例如,
向前逐步回归(forward stepwise)每次添加一个预测变量到模型中,直到添加变量不会使模型有所改进为止。
向后逐步回归(backward
stepwise)从模型包含所有预测变量开始,一次删除一个变量直到会降低模型质量为止。而向前向后逐步回归(stepwise
stepwise,通常称作逐步回归,以避免听起来太冗长),结合了向前逐步回归和向后逐步回归的方法,变量每次进入一个,但是每一步中,变量都会被重新评价,对模型没有贡献的变量将会被删除,预测变量可能会被添加、删除好几次,直到获得最优模型为止。
逐步回归法的实现依据增删变量的准则不同而不同。 MASS包中的stepAIC()函数可以实现逐步回归模型(向前、向后和向前向后),依据的是精确AIC准则。代码清单8-13中,我们应用的是向后回归。
开始时模型包含4个(全部)预测变量,然后每一步中,
AIC列提供了删除一个行中变量后模型的AIC值, <none>中的AIC值表示没有变量被删除时模型的AIC。第一步,
Frost被删除, AIC从97.75降低到95.75;第二步, Income被删除,
AIC继续下降,成为93.76,然后再删除变量将会增加AIC,因此终止选择过程。
逐步回归法其实存在争议,虽然它可能会找到一个好的模型,但是不能保证模型就是最佳模型,因为不是每一个可能的模型都被评价了。为克服这个限制,便有了全子集回归法。
2. 全子集回归
全子集回归,顾名思义,即所有可能的模型都会被检验。分析员可以选择展示所有可能的结果,也可以展示n 个不同子集大小(一个、两个或多个预测变量)的最佳模型。 例如, 若nbest=2,先展示两个最佳的单预测变量模型,然后展示两个最佳的双预测变量模型,以此类推,直到包含所有的预测变量。全子集回归可用leaps包中的regsubsets()函数实现。你能通过R平方、调整R平方或Mallows Cp统计量等准则来选择“最佳”模型。
R平方含义是预测变量解释响应变量的程度;调整R平方与之类似,但考虑了模型的参数数目。
R平方总会随着变量数目的增加而增加。当与样本量相比,预测变量数目很大时,容易导致过拟合。R平方很可能会丢失数据的偶然变异信息,而调整R平方则提供了更为真实的R平方估计。另外,
Mallows Cp统计量也用来作为逐步回归的判停规则。广泛研究表明,对于一个好的模型,它的Cp统计量非常接近于模型的参数数目(包括截距项)。
在代码清单8-14中,我们对states数据进行了全子集回归。结果可用leaps包中的plot()函数绘制(如图8-17所示),或者用car包中的subsets()函数绘制(如图8-18所示)。
初看图8-17可能比较费解。第一行中(图底部开始),可以看到含intercept(截距项)和Income的模型调整R平方为0.33,含intercept和Population的模型调整R平方为0.1。跳至第12行,你会看到含intercept、
Population、 Illiteracy和Income的模型调整R平方值为0.54,而仅含intercept、
Population和Illiteracy的模型调整R平方为0.55。此处,你会发现含预测变量越少的模型调整R平方越大(对于非调整的R平方,这是不可能的)。图形表明,双预测变量模型(Population和Illiteracy)是最佳模型。
在图8-18中,你会看到对于不同子集大小,基于Mallows
Cp统计量的四个最佳模型。越好的模型离截距项和斜率均为1的直线越近。图形表明,你可以选择这几个模型,其余可能的模型都可以不予考虑:含Population和Illiteracy的双变量模型;含Population、
Illiteracy和Frost的三变量模型,或Population、
Illiteracy和Income的三变量模型(它们在图形上重叠了,不易分辨) ;含Population、 Illiteracy、
Income和Frost的四变量模型。
大部分情况中,全子集回归要优于逐步回归,因为考虑了更多模型。但是,当有大量预测变量时,全子集回归会很慢。一般来说,变量自动选择应该被看做是对模型选择的一种辅助方法,而不是直接方法。拟合效果佳而没有意义的模型对你毫无帮助,主题背景知识的理解才能最终指引你获得理想的模型。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
初中毕业想考证,先确认“我能不能报”,再比较证书价值。学历门槛不够的证书,宣传再多也与你无关;能报但对应不上岗位的证书, ...
2026-11-02市场岗确有一批报考不设专业限制的证书,但“不限专业”只解决能不能报,真正决定值不值的是三件事:对应市场岗哪条子路径、招聘 ...
2026-11-02“大学生必考证书有哪些”这个问题,本身就藏着一个需要先拆掉的假设:似乎存在一份人人适用的必考清单。实际上,除了少数与毕业 ...
2026-11-02“最好考的一级证书”这个问题,最容易踩的坑不是选错证书,而是没先弄清“一级”在目标证书体系里到底指什么。有的体系里,一级 ...
2026-11-02“职业证书哪个含金量高”这个问题,很难用一张榜单回答。原因不复杂:证书的“含金量”取决于你拿它做什么。想进入必须持证的行 ...
2026-11-02“证件含金量排名”是搜索量很高的词,但直接给你一份“十大证书排行榜”的文章,基本可以跳过。原因很简单:证书的含金量不是单 ...
2026-11-02在校大专生能考的证书,大体分三类:通用能力类(英语等级、计算机等级、普通话水平测试)、职业技能等级类,以及部分不要求工作 ...
2026-11-02在家闲着想考个证书,最容易踩的坑是先去搜“含金量排行榜”,然后被一堆培训广告牵着走。更稳妥的顺序是反过来的:先看自己属于 ...
2026-11-02“注册类证书”不是一个可以随手列全的清单,它更像一个制度口径:通常指国家职业资格目录中设有注册管理、与执业准入挂钩的资格 ...
2026-11-02“现在考什么证有用”很难有统一答案。同一张证书,对想进会计事务所的人有用,对想做新媒体运营的人可能帮助有限;对需要评职称 ...
2026-11-02“适合女生考的证书有哪些含金量高”,这个问题里藏着两个容易走偏的前提。一是把“女生”当成职业属性,仿佛有一份统一的女性证 ...
2026-11-02先说结论:工商管理专业女生不必追“女生必考”榜单。证书有没有用,取决于它能不能对上你准备投的岗位。比较稳妥的做法,是先在 ...
2026-11-02“什么证好考又实用”这个问题,最怕两种回答:一种是列一堆“通过率高”的证书,却不告诉你考完能干什么;另一种是反过来只谈含 ...
2026-11-02“女士可以考哪些证书”并没有一份统一答案。真正决定你能考什么的,不是性别,而是三件事:你现在的身份(在校、在职还是准备转 ...
2026-11-02大专学历想考运营岗位证书,先给结论:能报的证书不少,但值得考的集中在三类——平台官方运营/投放认证、职业技能等级评价、数 ...
2026-11-02大学生判断一张证书是否重要,不用先看宣传热度,而要看四件事:它是否匹配你的目标岗位,校招时是否真用得上,在校期间是否具备 ...
2026-11-02先把结论说清楚:在校期间以2—4张核心证书为宜,其中1—2张通用底证、1—2张与目标岗位对应的方向证;高壁垒资格证只在符合报考 ...
2026-11-02大学生问证书推荐,最容易掉进的坑是“别人考什么我也考什么”。证书本身没有统一的含金量排序,同一张证,对目标岗位是硬门槛, ...
2026-11-02经管毕业生没有一张“通吃”的证书。比较有用的选择,是先按财会、金融、市场、人力、综合管理几个方向锁定目标岗位,再把证书分 ...
2026-11-02“程序员考什么证书含金量高”,没有放之四海皆准的答案。同样是“高含金量”,对后端开发、云原生工程师、数据开发和安全工程师 ...
2026-11-02