Matlab实现多元回归实例.docx

上传人:b****1 文档编号:14516116 上传时间:2023-06-24 格式:DOCX 页数:32 大小:106.56KB
下载 相关 举报
Matlab实现多元回归实例.docx_第1页
第1页 / 共32页
Matlab实现多元回归实例.docx_第2页
第2页 / 共32页
Matlab实现多元回归实例.docx_第3页
第3页 / 共32页
Matlab实现多元回归实例.docx_第4页
第4页 / 共32页
Matlab实现多元回归实例.docx_第5页
第5页 / 共32页
Matlab实现多元回归实例.docx_第6页
第6页 / 共32页
Matlab实现多元回归实例.docx_第7页
第7页 / 共32页
Matlab实现多元回归实例.docx_第8页
第8页 / 共32页
Matlab实现多元回归实例.docx_第9页
第9页 / 共32页
Matlab实现多元回归实例.docx_第10页
第10页 / 共32页
Matlab实现多元回归实例.docx_第11页
第11页 / 共32页
Matlab实现多元回归实例.docx_第12页
第12页 / 共32页
Matlab实现多元回归实例.docx_第13页
第13页 / 共32页
Matlab实现多元回归实例.docx_第14页
第14页 / 共32页
Matlab实现多元回归实例.docx_第15页
第15页 / 共32页
Matlab实现多元回归实例.docx_第16页
第16页 / 共32页
Matlab实现多元回归实例.docx_第17页
第17页 / 共32页
Matlab实现多元回归实例.docx_第18页
第18页 / 共32页
Matlab实现多元回归实例.docx_第19页
第19页 / 共32页
Matlab实现多元回归实例.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab实现多元回归实例.docx

《Matlab实现多元回归实例.docx》由会员分享,可在线阅读,更多相关《Matlab实现多元回归实例.docx(32页珍藏版)》请在冰点文库上搜索。

Matlab实现多元回归实例.docx

Matlab实现多元回归实例

合用标准文案

 

Matlab实现多元回归实例

 

〔一〕一般多元回归

 

一般在生产实践和科学研究中,人们获取了参数xx1,,xn和因变量y的

 

数据,需要求出关系式yfx,这时就可以用到回归解析的方法。

若是只考虑

 

f是线性函数的状况,当自变量只有一个时,即,

x

x1,,xn中n1时,称

为一元线性回归,当自变量有多个时,即,

x

x1,

xn

中n2时,称为多元

线性回归。

进行线性回归时,有4个根本假设:

①因变量与自变量之间存在线性关系;

②残差是独立的;

③残差满足方差奇性;

④残差满足正态分布。

在Matlab软件包中有一个做一般多元回归解析的命令

regeress,调用格式

以下:

[b,bint,r,rint,stats]=regress(y,X,alpha)

也许

[b,bint,r,rint,stats]=regress(y,X)

此时,默认alpha=0.05.

这里,y是一个n1的列向量,X是一个n

m

1的矩阵,其中第一列是全1向

量〔这一点关于回回来说很重要,这一个全

1列向量对应回归方程的常数项〕,

一般状况下,需要人工造一个全

1列向量。

回归方程拥有以下形式:

y

01x1

mxm

其中,

是残差。

在返回项[b,bint,r,rint,stats]

中,

①b

01

m是回归方程的系数;

②bint

是一个m2矩阵,它的第i行表示i

的(1-alpha)

置信区间;

③r是

n1

的残差列向量;

④rint

是n

2矩阵,它的第i行表示第i个残差ri的(1-alpha)置信区间;

说明:

残差与残差区间杠杆图,最幸好0点线周边比较均匀的分布,而不表现必然的规律性,若是是这样,就说明回归解析做得比较理想。

⑤一般的,stast返回4个值:

R2值、F_检验值、阈值f,与明显性概率相关的

 

p值〔若是这个p值不存在,那么,只输出前3项〕。

说明:

 

优秀文档

合用标准文案

 

(1〕一般说来,R2值越大越好。

(2〕人们一般用以下统计量对回归方程做明显性检验:

F_检验、t_检验、以及相关系数检验法。

Matlab软件包输出F_检验值和阈值f。

一般说来,F_检验值

 

越大越好,特其余,应该有F_检验值f。

 

〔3〕与明显性概率相关的p值应该满足palpha。

若是palpha,那么说明回归

 

方程中有节余的自变量,能够将这些节余的自变量从回归方程中剔除〔见下面渐渐回归的内容〕。

这几个技术指标说明拟合程度的利害。

这几个指标都好,就说明回归方程是有意义的。

 

例1〔Hamilton,1987〕数据以下:

序号

Y

X1

X2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

第一步解析数据

在Matlab软件包中解析可否具有线性关系,并作图观察,M—文件opt_hanmilton_1987:

x1=[2.23,2.57,3.87,3.10,3.39,2.83,3.02,2.14,3.04,3.26,3.39,2.35,2.76,3.90,3.16];

x2=[9.66,8.94,4.40,6.64,4.91,8.52,8.04,9.05,7.71,5.11,5.05,8.51,6.59,4.90,6.96];

y=[12.37,12.66,12.00,11.93,11.06,13.03,13.13,11.44,12.86,10.84,11.20,11.56,10.83,12

.63,12.46];

corrcoef(x1,y);

corrcoef(x2,y);

plot3(x1,x2,y,'*');

获取结果:

ans=

 

优秀文档

合用标准文案

 

ans=

即,corrcoef(x1,y)

=0.0025,corrcoef(x2,y)

=0.4341,说明没有特别明显的

单变量线性关系。

图形以下:

 

也看不出有线性关系,但是,旋转图形,能够看出所有点几乎在一个平面上。

 

这说明,y,x1,x2在一个平面上,满足线性关系:

 

a1x1

a2x2

bya

也许,换成一个常有的形式

y

a0a1

x1a2x2

其中,是残差。

于是,在

Matlab软件包中做线性多元回归,写一个M—文件

opt_regress_hamilton:

x1=[2.23,2.57,3.87,3.10,3.39,2.83,3.02,2.14,3.04,3.26,3.39,2.35,2.76,3.90,3.16]';

x2=[9.66,8.94,4.40,6.64,4.91,8.52,8.04,9.05,7.71,5.11,5.05,8.51,6.59,4.90,6.96]';

y=[12.37,12.66,12.00,11.93,11.06,13.03,13.13,11.44,12.86,10.84,11.20,11.56,10.83,12

.63,12.46]';

e=ones(15,1);

x=[e,x1,x2];

[b,bint,r,rint,stats]=regress(y,x,0.05)

rcoplot(r,rint)

其中,rcoplot〔Residualcaseorderplot〕表示画出残差与残差区间的杠杆

 

优秀文档

合用标准文案

 

图。

执行后获取:

b=

bint=

r=

rint=

stats=

1.0e+004*

0

 

优秀文档

合用标准文案

 

即,y4.5153.097x11.0319x2。

置信度95%,且R2

1.0,F_检验值39222

0,与明显性概率

0.05相关的

 

p0.00000.05,这说明,回归方程中的每个自变量的采用,都是有意义的。

残差杠杆图:

 

从杠杆图看出,所有的残差都在0点周边均匀分布,区间几乎都位于

之间,即,没有发现高杠杆点,也就是说,数据中没有强影响点、异常观察点。

综合起来看,以上回概括果〔回归函数、拟合曲线或曲面〕近乎圆满。

 

〔二〕渐渐回归

假设已有数据X和Y,在Matlab软件包中,使用stepwise命令进行渐渐回

归,获取回归方程Y

a1X1a2X2

anXn,其中是随机误差。

stepwise

命令的使用格式以下:

stepwise(X,Y)

注意:

应用stepwise命令做渐渐回归,数据矩阵

X的第一列不需要人工加

一个全1向量,程序会自动求出回归方程的常数项〔

intercept〕。

在应用stepwise命令进行运算时,程序不断提示将某个变量参加〔Movein〕

回归方程,也许提示将某个变量从回归方程中剔除〔

Moveout〕。

说明:

①使用stepwise命令进行渐渐回归,既有剔除变量的运算,也有引

入变量的运算,它

是目前应用较为广泛的一种多元回归方法。

②在运行

stepwise(X,Y)命令时,默认明显性概率

0.05。

 

例2〔Hald,1960〕Hald数据是关于水泥生产的数据。

某种水泥在凝固时放出的热量Y〔单位:

卡/克〕与水泥中4种化学成分所占的百分比相关:

x1:

3Cao

Al2o3

x2

:

3Cao

Sio2

x3

:

4Cao

Al2o3Fe2o3

x4

:

2Cao

Sio2

优秀文档

合用标准文案

 

在生产中测得

13组数据:

序号

X1

X2

X3

X4

Y

1

7

26

6

60

2

1

29

15

52

3

11

56

8

20

4

11

31

8

47

5

7

52

6

33

6

11

55

9

22

7

3

71

17

6

8

1

31

22

44

9

2

54

18

22

10

21

47

4

26

11

1

40

23

34

12

11

66

9

12

13

10

68

8

12

求出关系式YfX。

解:

〔1〕本问题涉及的数据是5维的,不能够画图观察。

先做异常值解析。

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;10,68,

8,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,109.4]';

A=[X,Y];

mahal(A,A)

程序执行后获取结果:

ans=

 

能够认为数据都是正常的。

〔2〕一般多元回归。

在Matlab软件包中写一个M—文件opt_cement_1:

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;

10,68,8,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,109.4]';

a1=ones(13,1);

A=[a1,X];

[b,bint,r,rint,stat]=regress(Y,A)

rcoplot(r,rint)

程序执行后获取:

b=

 

bint=

 

r=

 

rint=

 

优秀文档

合用标准文案

 

stat=

以及残差杠杆图:

 

于是,我们获取:

Y62.40541.5511x10.5102x20.1019x30.1441x4

并且,残差杠杆图显示,残差均匀分布在0点线周边,在stat返回的4个值中,

R2=,说明模型拟合的很好。

F_检验值=111.4792>0.000,吻合要求。

 

但是,与明显性概率相关的p值=,这说明,回归方程中有些变量能够剔除。

 

(3〕渐渐回归

在Matlab软件包中写一个M—文件opt_cement_2:

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;

10,68,8,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,109.4]';

stepwise(X,Y)

程序执行后获取以下渐渐回归的画面:

 

优秀文档

合用标准文案

 

CoefficientswithErrorBars

Coeff.t-statp-val

X1

X2

X3

X4

-3

-2

-1

0

1

2

3

 

ModelHistory

17

E16

SM

R15

14

1

 

Movex4

in

程序提示:

将变量x4加进回归方程〔Movex4in〕,点击NextStep按钮,即,进行下一步运算,将第4列数据对应的变量x4参加回归方程。

点击NextStep按健后,又获取提示:

将变量x1加进回归方程〔Movex1in〕,点击NextStep

按钮,即,进行下一步运算,将第1列数据对应的变量x1参加回归方程。

点击

NextStep按健后,又获取提示:

MoveNoterms,即,没有需要参加〔也没有需要剔除〕的变量了。

注意:

在Matlab7.0软件包中,能够直接点击“AllSteps〞按钮,直接求出结果〔省略中间过程〕。

CoefficientswithErrorBars

Coeff.t-statp-val

X1

X2

X3

intercept

X4

-1

0

1

2

 

ModelHistory

20

E

S

M10

R

0

123

最后获取回归方程〔蓝色行是被保存的有效行,红色行表示被剔除的变量〕:

 

优秀文档

合用标准文案

 

Y

103

097

1

.

43996

x1

0613954

x4

.

.

回归方程中录取了原始变量

x1和x4。

模型评估参数分别为:

2

,修正的

2

值R2

0

.

964212

检验值=

,与明显性

R0.972471

R

F_

概率相关的p值=1.58106

108

0.05,残差均方RMSE=〔这个值越

小越好〕。

以上指标值都很好,说明回归收效比较理想。

别的,截距intercept=103.097〔Intercept=theestimatedvalueoftheconstantterm〕,这就是回归方程的常数项。

我们将x1,x4,y的数据放在一起画图观察:

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;10,68,8,12];

 

;

plot3(X(:

1),X(:

4),Y)

程序执行后获取图形:

 

10

0

-10

-20

-30

60

50

40

30

20

10

15

10

5

0

20

 

不断旋转画面观察,图形大体是一个平面。

 

优秀文档

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2