Matlab多元的线性回归.docx

上传人:b****4 文档编号:3073048 上传时间:2022-11-17 格式:DOCX 页数:11 大小:92.63KB
下载 相关 举报
Matlab多元的线性回归.docx_第1页
第1页 / 共11页
Matlab多元的线性回归.docx_第2页
第2页 / 共11页
Matlab多元的线性回归.docx_第3页
第3页 / 共11页
Matlab多元的线性回归.docx_第4页
第4页 / 共11页
Matlab多元的线性回归.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Matlab多元的线性回归.docx

《Matlab多元的线性回归.docx》由会员分享,可在线阅读,更多相关《Matlab多元的线性回归.docx(11页珍藏版)》请在冰豆网上搜索。

Matlab多元的线性回归.docx

Matlab多元的线性回归

Matlab多元线性回归

1、多元线性回归

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。

事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。

在实际经济问题中,一个变量往往受到多个变量的影响。

例如,家庭消费支出,除了受家庭可支配收入的影响外,还受诸如家庭所有的财富、物价水平、金融机构存款利息等多种因素的影响,表现在线性回归模型中的解释变量有多个。

这样的模型被称为多元线性回归模型。

(multivariablelinearregressionmodel)

多元线性回归模型的一般形式为:

Yi=0+1X1i+2X2i+⋯+kXki+i,i=1,2,⋯n

(1)

其中k为解释变量的数目,βjj(j=1,2,⋯k)称为回归系数(regressioncoefficient)上

式也被称为总体回归函数的随机表达式。

它的非随机表达式为:

Yi=0+1X1i+2X2i+⋯+kXki,i=1,2,⋯nk

(2)

jj也被称为偏回归系数(partialregressioncoefficient)。

2、多元线性回归计算模型

Y=0+1X1+2X2+⋯+kXk+,~N(0,2)(3)

多元性回归模型的参数估计,同一元线性回归方程一样,也是在要求误差平方和(Σe)为最小的前提下,用最小二乘法或最大似然估计法求解参数。

设(x11,x12,⋯,x1p,y1),⋯,(xn1,xn2,⋯,xnp,yn)是一个样本,用最大似然估计法估计

参数:

n

取b?

0,b?

1,⋯,b?

p,当b0=b?

0,b1=b?

1,⋯,bp=b?

p时,Q=(yib0b1xi1...bpxip)达到最小。

i1

 

4)化简可得:

Q

b0

Q

2(yib0b1xi1bpxip)

i1

n

2(yib0b1xi1

Qbjni1

2(yib0b1xi1bpxip)0

b0i1

n

2(yib0b1xi1bpxip)xij0

i1

bpxip)xij0

Q

bj

 

nnn

b0nb1xi1b2xi2bpxipyi,

i1i1i1

2xi1xipxi1yi,

b0xi1b1xi1b2xi1xi2bpi1ipi1i1i

nnnnn

2

i1i1i1

i1

i1

i1

i1

i1

引入矩阵:

y

1

x11

12

x1p

1

x21

22

x2p

1

xn1

xn2

xnp

b0xipb1xipxi1b2xipxi2bpxipxipyi,

方程组(5)可以化简得:

X

X

X可得最大似然估计值:

BB?

b1(X'X)1X'Y

X'Yb?

p

8)

(x1,x2xp)b0b1x1bpxp的估计是:

y?

b?

0b?

1x1b?

2x2b?

pxp

公式(8)为P元经验线性回归方程。

3、Matlab多元线性回归的实现

多元线性回归在Matlab中主要实现方法如下:

(1)b=regress(Y,X)确定回归系数的点估计值

其中

1

x11

12

x1p

y1

b0

1

x21

22

x2p

,Y=

y2,

B

b1

1

xn1

n2

xnp

yn

bp

(2)[b,bint,r,rint,stats]=regress(Y,X,alpha)求回归系数的点估计和区间估计、并检

验回归模型

①bint表示回归系数的区间估计.

②r表示残差

③rint表示置信区间

④stats表示用于检验回归模型的统计量,有三个数值:

相关系数r2、F值、与F对应的概率p

说明:

相关系数r2越接近1,说明回归方程越显著;F>F1-alpha(p,n-p-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p<α时拒绝H0,回归模型成立。

⑤alpha表示显著性水平(缺省时为0.05)

(3)rcoplot(r,rint)画出残差及其置信区间

实例1:

(一元线性回归)

测得16名女子的身高和腿长如下表所示(单位:

cm):

身高

143

145

146

147

149

150

153

154

腿长

88

85

88

91

92

93

93

95

身高

155

156

157

158

159

160

162

164

腿长

96

98

97

96

98

99

100

102

试研究这些数据之间的关系

分析:

 

x=[143,145,146,147,149,150,153,154,155,156,157,158,159,160,162,164]

由式(9)可得X=[e,x](e为单位列向量)y=[88,85,88,91,92,93,93,95,96,98,97,96,98,99,100,102]Y=yT

Matlab程序为:

/输入如下命令:

/

x=[143,145,146,147,149,150,153,154,155,156,157,158,159,160,162,164];y=[88,85,88,91,92,93,93,95,96,98,97,96,98,99,100,102];

X=[ones(length(y),1),x'];

Y=y';

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

b,bint,stats

在Matlab图示所示:

b

因此我们可得b0

b?

1

?

b1的置信区间(0.6047,0.834).

p<0.05,回归模型

=-16.0730,

?

=0.7194.,b0

的置信区间(33.7071,1.5612),

r2=0.9282,F=180.9531,p=0.0000.

/输出结果如图所示:

/

y=-16.07300.7194x成立.

/残差分析/

在Matlab命令窗口输入

rcoplot(r,rint)

得到残差图如图所示:

/预测及作图/在Ma

lab命令窗口输入

z=b

(1)+b

(2)*x

得到预测比较图如图所示:

 

实例2:

(多元线性回归)水泥凝固时放出的热量y与水泥中的四种化学成分x1,x2,x3,x4有关,今测得一组数据如下,试确定多元线性模型.

序号

1

2

3

4

5

6

7

x1

7

1

11117

113

x2

26

29

56

31

52

55

71

x3

6

15

8

8

6

9

17

x4

60

52

20

47

33

22

6

y

78.5

74.3

104.3

87.6

95.9

109.2

102.7

序号

8

9

10

1112

13

x1

1

2

21

1

1110

x2

31

54

47

40

66

68

x3

22

18

4

23

9

8

x4

44

22

26

34

12

12

y72.593.1115.983.8113.3109.4

分析:

x1=[7,1,11,11,7,11,3,1,2,21,1,11,10];x2=[26,29,56,31,52,55,71,31,54,47,40,66,68];x3=[6,15,8,8,6,9,17,22,18,4,23,9,8];

x4=[60,52,20,47,33,22,6,44,22,26,34,12,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];由式(9)可得X=[eT,x1T,x2T,x3T,x4T](eT为单位列向量)

Matlab程序为:

/输入如下命令:

/

x1=[7,1,11,11,7,11,3,1,2,21,1,11,10];x2=[26,29,56,31,52,55,71,31,54,47,40,66,68];x3=[6,15,8,8,6,9,17,22,18,4,23,9,8];

x4=[60,52,20,47,33,22,6,44,22,26,34,12,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];

X=[ones(length(y),1),x1',x2',x3',x4'];%把行向量转轶为列向量Y=y';%把行向量转轶为列向量[b,bint,r,rint,stats]=regress(Y,X);

b,bint,stats

在Matlab图示所示:

/输出结果如图所示:

/

 

 

 

b0的置信区间(99.1786,223.9893),?

b的置信区间(0.1663,3.2685),

1

?

的置信区(1.1589,2.1792),间

b2

?

=

62.4054,b0?

=

1.5511,

b

1

?

=

0.5102,因此我们可得b2

?

=0.1019,b3

b=-1441.b3的置信区间(1.6385,1.8423),?

b4的置信区间(1.7791,1.4910).4

r2=0.9824,F=111.4792,p=0.0000.

p<0.05,回归模型

+0.1019-0.1441成立

xx

62.40541.55111+0.5102

/残差分析/

在Matlab命令窗口输入

rcoplot(r,rint)

得到残差图如图所示:

 

 

/预测及作图/

Matlab命令窗口输入z=b

(1)+b

(2)*x1+b(3)*x2+b(4)*x3+b(5)*x4;plot(X,Y,'k+',X,z,'r')

得到预测比较图所示:

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1