利用Matlab进行线性回归分析
利用 Matlab 进行线性回归分析
回归分析是处理两个及两个以上变量间线性依存关系的统计方法。可以通过软件 Matlab 实现。
1. 利用 Matlab 软件实现
在 Matlab 中,可以直接调用命令实现回归分析,
( 1 ) [b,bint,r,rint,stats]=regress(y,x) ,其中 b 是回归方程中的 参数估计 值, bint 是 b 的置信区间, r 和 rint 分别表示残差及残差对应的置信区间。 stats 包含三个数字,分别是相关系数, F 统计量及对应的概率 p 值。
( 2 ) recplot(r,rint) 作残差分析图。
( 3 ) rstool(x,y) 一种 交互 式方式的句柄命令。

例 现有多个样本的因变量和自变量的数据,下面我们利用 Matlab ,通过回归分析建立两者之间的回归方程。% 一元回归分析x=[1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3055 3372];% 自变量序列数据y=[698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825];% 因变量序列数据X=[ones(size(x')),x'],pause [b,bint,r,rint,stats]=regress(y',X,0.05),pause% 调用一元回归分析函数rcoplot(r,rint)% 画出在置信度区间下误差分布。b = -479.8659 0.9961bint = -724.4248 -235.3071 0.8836 1.1086stats = 1.0e+04 * 0.0001 0.0356 0.0000 2.0095
此时可见第十二个点是异常点
% 多元回归分析% 输入各种自变量数据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]';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.1 200.1 146.0 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)% 回归分析Q=r'*rsigma=Q/18rcoplot(r,rint);b = 191.9906 -0.7751 3.1718 -19.6849 -0.4494 bint = 103.1866 280.7946 -7.1474 5.5972 2.0634 4.2802 -25.1686 -14.2012 -3.7276 2.8288 stats = 0.9034 35.0555 0.0000 644.5831 Q = 9.6687e+03 sigma = 537.1526% 逐步回归 X1=[x1,x2,x3,x4];stepwise(X1,y,[1,2,3])% 逐步回归% X2=[ones(size(x1)),x2,x3];% X3=[ones(size(x1)),x1,x2,x3];% X4=[ones(size(x1)),x2,x3,x4];% [b1,b1int,r1,r1int,stats1]=regress(y,X2)% [b2,b2int,r2,r2int,stats2]=regress(y,X3);% [b3,b3int,r3,r3int,stats3]=regress(y,X4);

某建筑材料公司的销售量因素分析
下表数据是某建筑材料公司去年20个地区的销售量(Y,千方),推销开支、实际帐目数、同 类 商品竞争数和地区销售潜力分别是影响建筑材料销售量的因素。1)试建立回归模型,且分析哪些是主要的影响因素。2)建立最优回归模型。
| 地区i | 推销开支(x1) | 实际帐目数(x2) | 同类商品竞争数(x3) | 地区销售潜力(x4) | 销售量 Y |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 5.5 2.5 8.0 3.0 3.0 2.9 8.0 9.0 4.0 6.5 5.5 5.0 6.0 5.0 3.5 8.0 6.0 4.0 7.5 7.0 | 31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59 | 10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9 | 8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11 | 79.3 200.1 163.2 200.1 146.0 177.7 30.9 291.9 160.0 339.4 159.6 86.3 237.5 107.2 155.0 201.4 100.2 135.8 223.3 195.0 |
提示:建立一个多元线性回归模型。
实验二:在MATLAB 里实现 ,
① 首先建立回归模型
输出:
x1=[5.5 2.5 8.0 3.0 3.0 2.9 8.0 9.0 4.0 6.5 5.5 5.0 6.0 5.0 3.5 8.0 6.0 4.0 7.5 7.0]';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.0 177.7 30.9 291.9 160.0 339.4 159.6 86.3 237.5 107.2 155.0 201.4 100.2 135.8 223.3 195.0]';X=[ones(20,1) x1 x2 x3 x4];[b,bint,r,rint,stats]=regress(Y,X,0.05);b,bint,stats输出:
b =
191.9158
-0.7719
3.1725
-19.6811
-0.4501
bint =
103.1071 280.7245
-7.1445 5.6007
2.0640 4.2809
-25.1651 -14.1972
-3.7284 2.8283
stats =
0.9034 35.0509 0.0000 644.6510
即 = 191.9158 = -0.7719 = 3.1725 = -19.6811 = -0.4501 ;
的置信区间为[ 103.1071 280.7245 ] ; 的置信区间为[ -7.1445 5.6007 ]; 的置信区间为[ 2.0640 4.2809 ] ; 的置信区间为[ -25.1651 -14.1972 ] ; 的置信区间为[ -3.7284 2.8283 ];
= 0.9034 , F= 35.0509 , p= 0.0000
因 P <0.05, 可知回归模型 y= 191.9158 -0.7719 x1+ 3.1725 *x2 -19.6811 *x3 -0.4501 *x4 成立.
② 分析哪些是主要的影响因素输入:
x1=[5.5 2.5 8.0 3.0 3.0 2.9 8.0 9.0 4.0 6.5 5.5 5.0 6.0 5.0 3.5 8.0 6.0 4.0 7.5 7.0]';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.0 177.7 30.9 291.9 160.0 339.4 159.6 86.3 237.5 107.2 155.0 201.4 100.2 135.8 223.3 195.0]';X=[x1 x2 x3 x4]; stepwise(X,Y);
从表 Stepwise Table 中分析得 出变量 x 2 和 x 3为主要的影响因素。

③ 移去 非关键 变量 x 1 和 x 4 后模型具有显著性 . 虽然剩余标准差( RMSE )都有了变化, 统计量 F 的值明显增大,因此新的回归模型更好 . 就得到最优模型。
输入:
X1=[ones(20,1) x2 x3];
[b,bint,r,rint,stats]=regress(Y,X1);
b,bint,stats
输出:
b =
186.0484
3.0907
-19.5140
bint =
110.4254 261.6715
2.1657 4.0156
-24.5597 -14.4683
stats =
0.9024 78.6295 0.0000 574.1580
P = 0.0000 <0.05,说明回归模型的回归效果显著;
最优回归方程为:y= 186.0484 + 3.0907 *x2- 19.5140 *x3
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删