4.4 回归变量的选择方法
多元回归分析主要用途
- 用于描述解释现象,这时希望回归方程中所包含的自变量尽可能少一些;
- 用于预测,这时希望预测的均方误差较小;
- 用于控制,这时希望各回归系数具有较小的方差和均方误差。
变量太多,容易引起的问题
- 增加模型的复杂;
- 计算量增大;
- 估计和预测的精度下降;
- 模型应用费用增加。
解决方法
从理论上说,自变量选择最好的方法是所有可能回归法,即建立因变量和所有自变量全部子集组合的回归模型,也称全部子集法。
对于每个模型,在实用上,从数据与模型拟合优劣的直观考虑出发,基于残差(误差)平方和的变量选择准则使用的最多。
举例说明
设某数据有4个自变量:那么所有可能的模型可分为5组子集:
- 子集A:种可能模型;
- 子集B:种可能模型;
- 子集C:种可能模型;
- 子集D:种可能模型;
- 子集E:种可能模型;
也就是说一共有种模型,我们可以使用leaps包中的regsubsets()
计算RSS和从而选择合适的回归变量:
>library(leaps)
>vaesel = regsubsets(y ~ x1+x2+x3+x4,data)
>result = summary(varsel)
>data.frame(result$outmat,RSS=result$rss,R2=result$rsq)
-
和准则优缺点
- 优点:具有较大以及较少自变量的模型应该是好的选择,较大的意味着有较好的拟合效果,而较少的变量个数可减轻信息的收集和控制。
- 缺点:对于有多个自变量的回归模型来说,当自变量子集在扩大时,残差平方和随之减少。因此,如果按RSS“越小越好”和“越大越好”的原则来选择自变量子集,则毫无疑问应选择全部自变量。
变量选择的常用准则
- 平均残差平方和最小;
- 误差均方根MSE最小;
- 校正复相关系数平方准则;
- 马洛斯准则;
- 最小化信息量准则(Akaike Information Criterion,AIC)和贝叶斯信息准则(Bayesian InformationCriterion,BIC);
R语言代码:
>library(leaps)
>vaesel = regsubsets(y ~ x1+x2+x3+x4,data)
>result = summary(varsel)
>data.frame(result$outmat,adjR2=result$adjr2,Cp-result$cp,BIC=result$bic)
逐步回归分析
当自变量个数较多时,回归模型就会非常的多,有时计算是不可能的,于是就提出了所谓的逐步回归的方法。所谓的逐步回归法就是寻找较优子空间的一种变量选择方法,就是选择变量中的一部分做回归,剔除一些比如高度相关的变量。
而逐步变量选择的方法有3种,即向前引入法、向后剔除法和逐步筛选法,这三种方法用同一个R语言函数即可实现:
fm <- lm(y~ x1+x2+x3+x4,your_data)
fm.step <- step(fm,direction="forward")#向前引入法
顾名思义,若想做另外两种方法,把direction
参数换为backward
或both
即可
网友评论