多元相关与回归分析及R使用 - part2

4.4 回归变量的选择方法

多元回归分析主要用途
  • 用于描述解释现象,这时希望回归方程中所包含的自变量尽可能少一些;
  • 用于预测,这时希望预测的均方误差较小;
  • 用于控制,这时希望各回归系数具有较小的方差和均方误差。
变量太多,容易引起的问题
  • 增加模型的复杂;
  • 计算量增大;
  • 估计和预测的精度下降;
  • 模型应用费用增加。
解决方法

从理论上说,自变量选择最好的方法是所有可能回归法,即建立因变量和所有自变量全部子集组合的回归模型,也称全部子集法

对于每个模型,在实用上,从数据与模型拟合优劣的直观考虑出发,基于残差(误差)平方和的变量选择准则使用的最多

举例说明

设某数据有4个自变量:x_1,x_2,x_3,x_4那么所有可能的模型可分为5组子集:

  • 子集A:y = b_0 \Rightarrow C_4^0 = 1种可能模型;
  • 子集B:y = b_0 + b_ix_i,i=1,2,3,4 \Rightarrow C_4^1 = 4种可能模型;
  • 子集C:y = b_0 + b_ix_i + b_jx_j,i \not= j,\ i,j=1,2,3,4 \Rightarrow C_4^2 = 6种可能模型;
  • 子集D:y = b_0 + b_ix_i + b_jx_j + b_kx_k,i \not= j \not=k ,\ i,j,k=1,2,3,4 \Rightarrow C_4^3 = 4种可能模型;
  • 子集E:y = b_0 + b_1x_1 + b_2x_2 + b_3x_3 + b_4x_4 \Rightarrow C_4^4 = 1种可能模型;

也就是说一共有2^4=16种模型,我们可以使用leaps包中的regsubsets()计算RSSR^2从而选择合适的回归变量:

>library(leaps)
>vaesel = regsubsets(y ~ x1+x2+x3+x4,data)
>result = summary(varsel)
>data.frame(result$outmat,RSS=result$rss,R2=result$rsq)
  • R^2RSS准则优缺点

    • 优点:具有较大R^2以及较少自变量的模型应该是好的选择,较大的意味着有较好的拟合效果,而较少的变量个数可减轻信息的收集和控制。
    • 缺点:对于有多个自变量的回归模型来说,当自变量子集在扩大时,残差平方和随之减少。因此,如果按RSS“越小越好”和R^2“越大越好”的原则来选择自变量子集,则毫无疑问应选择全部自变量。
变量选择的常用准则
  • 平均残差平方和最小;
  • 误差均方根MSE最小;
  • 校正复相关系数平方准则;
  • 马洛斯C_p准则;
  • 最小化信息量准则(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参数换为backwardboth即可

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0. 主要概念及其定义 最小二乘法准则 误差平方和 总平方和 回归平方和 之间的关系 判定系数如果我们用一个百分比...
    _诉说阅读 994评论 0 0
  • R中的线性回归函数比较简单,就是lm(),比较复杂的是对线性模型的诊断和调整。这里结合Statistical Le...
    真依然很拉风阅读 66,770评论 1 64
  • 回归分析 - 刺猬的温驯 - 博客园 http://www.cnblogs.com/chenying99/p/4...
    葡萄喃喃呓语阅读 1,682评论 1 7
  • 枫叶泛黄 修饰了一条小道 抹掉了人生中的分界线 也掩藏那一段不为人知的时光 一片片金色换取记忆中的房 年复一年,直...
    小黄鸭阅读 607评论 13 26
  • 今天去爷爷家 ,看到桌子上放着个老式的水杯,记不清到底存在多少年了,不过我还是很清楚的记着我曾祖父也有个一模一样...
    那抹蓝l阅读 195评论 0 0