[MATLAB]逐步回归详解(stepwise使用指南)

逐步回归方法使用还要从一个实际生产的例子说起!

[MATLAB]逐步回归详解(stepwise使用指南)_第1张图片
[MATLAB]逐步回归详解(stepwise使用指南)_第2张图片

同学们一般拿到题目,脑子里看到字眼应该可以想出,是个回归模型,但是题目后半部分让你确定哪些是主要因素,有主要必然有次要,所以此题采用逐步回归就比较好。
设出变量:

  • 推销开支—x1
  • 实际帐目数–x2
  • 同类商品竞争数—x3
  • 地区销售潜力—x4

用逐步回归代码步骤如下

  • 表示x1,x2,x3,x4,y
  • 生成对应的向量组
  • 使用regress(回归函数),stepwise(逐步回归)

代码如下:

x1=[5.5	2.5	8	3	3	2.9	8	9	4	6.5	5.5	5	6	5	3.5	8	6	4	7.5	7]';%%(20维) 
x2=[31	55	67	50	38	71	30	56	42	73	60	44	50	39	55	70	40	50	62	59]';
x3=[10	8	12	7	8	12	12	5	8	5	11	12	6	10	10	6	11	11	9	9]';
x4=[8	6	9	16	15	17	8	10	4	16	7	12	6	4	4	14	6	8	13	11]';
y=[79.3	200.1	163.2	200.1	146	177.7	30.9	291.9	160	339.4	159.6	86.3	237.5	107.2	155	201.4	100.2	135.8	223.3	195]';
X=[ones(size(x1)),x1,x2,x3,x4];
[b,bint,r,rint,stats]=regress(y,X)
stepwise(X(:,2:end), y)
[MATLAB]逐步回归详解(stepwise使用指南)_第3张图片

如果大家对matlab中regress的输出参数有兴趣,我这个博文有一个介绍:
regress分析

本篇博文还主要探讨逐步回归分析呢!逐步回归分析法主要思想如下:

  • 从一个自变量开始,根据自变量对Y作用的显著程度,从大到小地依次逐个引入回归方程。
  • 当引入的自变量由于后引入变量而变得不显著时,要将其剔除掉。
  • 引入一个自变量或从回归方程中剔除一个自变量,为逐步回归的一步。
  • 对于每一步都要进行检验,以确保每次引入新的显著性变量前回归方程中只包含对y作用显著的变量。
  • 这个过程反复进行,直至既无不显著的变量从回归方程中剔除,又无显著变量可引入回归方程时为止。
[MATLAB]逐步回归详解(stepwise使用指南)_第4张图片
然后说了一堆理论就需要来点实际的,楼上出现了一张回归的图,会发现有几个是红色的。这时候红色代表,现在什么变量引进回归方程里。
[MATLAB]逐步回归详解(stepwise使用指南)_第5张图片

这个时候每引进一个变量就会变蓝,如图!

[MATLAB]逐步回归详解(stepwise使用指南)_第6张图片
直到不能点为止!凭什么?我要这样做,这样子做的原理在哪里?
[MATLAB]逐步回归详解(stepwise使用指南)_第7张图片
根据p值,升序的将值引入,越接近1越不好,p值是《概率论与数理统计》中的一个统计值,学建模的人知道这个影响逐步回归效果即可!

不知不觉中就会发现,只能引进两个,也就是x2,x3。说明它们两是主要因素!

你可能感兴趣的:(数学建模)