快捷搜索: 王者荣耀 脱发

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

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

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

    推销开支—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中regress的输出参数有兴趣,我这个博文有一个介绍:

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

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

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

直到不能点为止!凭什么?我要这样做,这样子做的原理在哪里? 根据p值,升序的将值引入,越接近1越不好,p值是《概率论与数理统计》中的一个统计值,学建模的人知道这个影响逐步回归效果即可!

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

往期优秀博主同类博文: 传送门:

经验分享 程序员 微信小程序 职场和发展