利用Matlab进行线性回归分析(1)

利用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.9961


bint =

 -724.4248 -235.3071
    0.8836    1.1086

stats =

   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'*r
sigma=Q/18
rcoplot(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);

 

多项式回归 https://wenku.baidu.com/view/e01ace031b37f111f18583d049649b6649d70960.html?fr=search-1-income5

 某建筑材料公司的销售量因素分析

下表数据是某建筑材料公司去年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

  • 47
    点赞
  • 451
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值