逐步回归

  • 定义:

    剔除掉不重要的量、保留一些重要的部分

  • 好处:

    筛选并剔除引起多重共线性的变量

    其具体步骤如下:先用被解释变量对每一个所考虑的解释变量做简单回归,然后以对被解释变量贡献最大的解释变量所对应的回归方程为基础,再逐步引入其余解释变量。经过逐步回归,使得最后保留在模型中的解释变量既是重要的,又没有严重多重性

这里应用一个实例;

x = [7,26,6,60;1,29,15,52;11,56,8,20;11,31,8,47;7,52,6,33;11,55,9,22;3,71,17,6;1,31,22,44;2,54,18,22;21,47,4,26;1,40,23,34;11,66,9,12];
Y = [78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,93.1,115.9,83.8,113.3];
stepwise(x,Y,[1,2,3,4],0.05,0.10)%in = [1,2,3,4]表示X1,X2,X3,X4均保留在模型中
  • stepwise函数

    • X 和 Y 与多元回归基本相同,不同点是:X、Y顺序相反,且逐步回归时,X第一列不要设为1,会自动算出常数项。
    • in:给出初始模型中包含的子集,缺省时都不在模型中。
    • penter:变量进入时,显著性水平,缺省值 0.05
    • premove:变量剔除时,显著性水平,缺省值 0.10

  • 右侧 Next Step 表示进行下一步操作,All Step 表示一次性进行完所有操作。
  • 我们的 in 默认所有变量不在初始模型中,所以我们现实 Next Step 是将 X4 放入模型,我们一直点击 Next Step 可以观察到模型建立的步骤是:加入X4、加入X1、加入X2、剔除X4。也就是说最终回归方程只有 X1、X2 两个变量。

此图,即为回归模型的结果图

  • 用到的变量为蓝色,剔除的变量为红色。Coeff 即为回归系数。下方 Intercept 为常数项。
  • RMSE为残差均方。
  • 判断回归效果和多元线性回归相同。

本文章使用limfx的vscode插件快速发布