Matlab多变量回归分析教程Word格式文档下载.docx

上传人:b****8 文档编号:22066535 上传时间:2023-02-02 格式:DOCX 页数:15 大小:218.23KB
下载 相关 举报
Matlab多变量回归分析教程Word格式文档下载.docx_第1页
第1页 / 共15页
Matlab多变量回归分析教程Word格式文档下载.docx_第2页
第2页 / 共15页
Matlab多变量回归分析教程Word格式文档下载.docx_第3页
第3页 / 共15页
Matlab多变量回归分析教程Word格式文档下载.docx_第4页
第4页 / 共15页
Matlab多变量回归分析教程Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Matlab多变量回归分析教程Word格式文档下载.docx

《Matlab多变量回归分析教程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Matlab多变量回归分析教程Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

Matlab多变量回归分析教程Word格式文档下载.docx

(2)回归分析及检验

1. 

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

2.

3.b=

4.

5. 

-16.0730

6. 

0.7194

7.

8.

9.bint=

10.

11. 

-33.7071 

1.5612

12. 

0.6047 

0.8340

13.

14.

15.r=

16.

17. 

1.2056

18. 

-3.2331

19. 

-0.9524

20. 

1.3282

21. 

0.8895

22. 

1.1702

23. 

-0.9879

24. 

0.2927

25. 

0.5734

26. 

1.8540

27. 

0.1347

28. 

-1.5847

29. 

-0.3040

30. 

-0.0234

31. 

-0.4621

32. 

0.0992

33.

34.

35.rint=

36.

37. 

-1.2407 

3.6520

38. 

-5.0622 

-1.4040

39. 

-3.5894 

1.6845

40. 

-1.2895 

3.9459

41. 

-1.8519 

3.6309

42. 

-1.5552 

3.8955

43. 

-3.7713 

1.7955

44. 

-2.5473 

3.1328

45. 

-2.2471 

3.3939

46. 

-0.7540 

4.4621

47. 

-2.6814 

2.9508

48. 

-4.2188 

1.0494

49. 

-3.0710 

2.4630

50. 

-2.7661 

2.7193

51. 

-3.1133 

2.1892

52. 

-2.4640 

2.6624

53.

54.

55.stats=

56.

57. 

0.9282 

180.9531 

0.0000 

1.7437

运行结果解读如下

参数回归结果为 

,对应的置信区间分别为[-33.7017,1.5612]和[0.6047,0.834]

r2=0.9282(越接近于1,回归效果越显著),F=180.9531,p=0.0000,由p<

0.05,可知回归模型

y=-16.073+0.7194x成立

(3)残差分析作残差图

1.rcoplot(r,rint)

从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,

这说明回归模型y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点。

(4)预测及作图

1.z=b

(1)+b

(2)*x

2.plot(x,Y,'

k+'

x,z,'

r'

二、多项式回归

一元多项式回归

1、一元多项式回归函数 

(1)[p,S]=polyfit(x,y,m) 

确定多项式系数的MATLAB命令

x=(x1,x2,…,xn),y=(y1,y2,…,yn);

p=(a1,a2,…,am+1)是多项式y=a1xm+a2xm-1+…+amx+am+1的系数;

S是一个矩阵,

用来估计预测误差

(2)polytool(x,y,m) 

调用多项式回归GUI界面,参数意义同polyfit

2、预测和预测误差估计

(1)Y=polyval(p,x) 

求polyfit所得的回归多项式在x处的预测值Y

(2)[Y,DELTA]=polyconf(p,x,S,alpha) 

求polyfit所得的回归多项式在x处的预测值Y及预测值的显著

性为1-alpha的置信区间Y±

DELTA,alpha缺省时为0.5

3、实例演示说明

观测物体降落的距离s与时间t的关系,得到数据如下表,求s的表达式(即回归方程s=a+bt+ct2)

t(s)1/302/303/304/305/306/307/30

s(cm)11.8615.6720.6026.6933.7141.9351.13

t(s)8/309/3010/3011/3012/3013/3014/30

s(cm)61.4972.9085.4499.08113.77129.54146.48

解法一:

直接作二次多项式回归

t=1/30:

1/30:

14/30;

s=[11.8615.6720.6026.6933.7141.9351.1361.4972.9085.4499.08113.77129.54146.48];

[p,S]=polyfit(t,s,2)

5.p=

6.

7. 

489.2946 

65.8896 

9.1329

9.

10.S= 

11.

R:

[3x3double]

13. 

df:

11

14. 

normr:

0.1157

故回归模型为 

解法二:

化为多元线性回归

T=[ones(14,1)t'

(t.^2)'

];

4.>

[b,bint,r,rint,stats]=regress(s'

T)

5.

6.b=

8. 

9. 

65.8896

10. 

489.2946

12.

13.bint=

15. 

9.0614 

9.2044

16. 

65.2316 

66.5476

488.0146 

490.5747

18.

19.

20.r=

21.

-0.0129

-0.0302

-0.0148

0.0732

0.0040

0.0474

-0.0165

-0.0078

-0.0363

-0.0222

0.0046

33. 

-0.0059

34. 

-0.0237

35. 

0.0411

37.

38.rint=

39.

-0.0697 

0.0439

-0.0956 

0.0352

-0.0876 

0.0580

0.0182 

0.1283

-0.0709 

0.0789

-0.0192 

0.1139

-0.0894 

0.0563

-0.0813 

0.0658

-0.1062 

0.0335

-0.0955 

0.0511

-0.0704 

0.0796

-0.0793 

0.0675

-0.0904 

0.0429

53. 

-0.0088 

0.0910

55.

56.stats=

57.

58. 

1.0e+007*

59.

60. 

1.0378 

0.0000

故回归模型为:

预测及作图

1.Y=polyconf(p,t,S);

2.plot(t,s,'

t,Y,'

多元二项式回归

1、多元二项式回归Matlab命令

rstool(x,y,'

model'

alpha) 

输入参数说明:

x:

n*m矩阵;

Y:

n维列向量;

alpha:

显著性水平(缺省时为0.05);

mode:

由下列4个模型中选择1个(用字符串输入,缺省时为线性模型)

2、实例演示说明

设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为1000、

价格为6时的商品需求量

需求量10075807050659010011060

收入1000600 

1200500300400130011001300300

价格5766875439

选择纯二次模型

1.%直接用多元二项式回归如下

2.x1=[10006001200500300400130011001300300];

3.x2=[5766875439];

4.y=[10075807050659010011060]'

5.x=[x1'

x2'

6.rstool(x,y,'

purequadratic'

在x1对应的文本框中输入1000,X2中输入6,敲回车键,此时图形和相关数据会自动更新

此时在GUI左边的“PredictedY1”下方的数据变为88.47981,表示平均收入为1000、价格为6时商品需

求量为88.4791

点击左下角的Export按钮,将会导出回归的相关参数beta、rmse和residuals到工作空间(workspace)

在Export按钮下面可以选择回归类型

在Matlab命令窗口中输入

beta,rmse

将得到如下结果

1.beta=

2. 

110.5313

3. 

0.1464

4. 

-26.5709

-0.0001

1.8475

rmse=

4.5362

将上面的模型转换为多元线性回归

X=[ones(10,1)x1'

(x1.^2)'

(x2.^2)'

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

b,stats

5.b=

110.5313

-26.5709

-0.0001

14.stats=

15.

0.9702 

40.6656 

0.0005 

20.5771

三、非线性回归

1、非线性回归

[beta,r,J]=nlinfit(x,y,'

modelfun'

beta0) 

非线性回归系数的命令

nlintool(x,y,'

beta0,alpha) 

非线性回归GUI界面

参数说明

beta:

估计出的回归系数;

r:

残差;

J:

Jacobian矩阵;

x,y:

输入数据x、y分别为矩阵和n维列向量,对一元非线性回归,x为n维列向量;

modelfun:

M函数、匿名函数或inline函数,定义的非线性回归函数;

beta0:

回归系数的初值;

[Y,DELTA]=nlpredci('

x,beta,r,J)

获取x处的预测值Y及预测值的显著性为1-alpha的置信区间Y±

DELTA

解:

(1)对将要拟合的非线性模型,建立M函数如下

1.functionyhat=modelfun(beta,x)

2.%beta是需要回归的参数

3.%x是提供的数据

4.yhat=beta

(1)*exp(beta

(2)./x);

(2)输入数据

1.x=2:

16;

2.y=[6.428.209.589.59.7109.939.9910.4910.5910.6010.8010.6010.9010.76];

3.beta0=[82]'

(3)求回归系数

1.[beta,r,J]=nlinfit(x'

y'

@modelfun,beta0);

2.beta

3.

4.beta=

11.6036

-1.0641

即得回归模型为 

1.[YY,delta]=nlpredci('

x'

beta,r,J);

2.plot(x,y,'

x,YY,'

四、逐步回归

1、逐步回归的命令

stepwise(x,y,inmodel,alpha) 

根据数据进行分步回归

stepwise 

直接调出分步回归GUI界面

输入参数说明

自变量数据,阶矩阵;

y:

因变量数据,阶矩阵;

inmodel:

矩阵的列数的指标,给出初始模型中包括的子集(缺省时设定为全部自变量);

显著性水平(缺省时为0.5);

2、实例演示分析

水泥凝固时放出的热量y与水泥中4种化学成分x1、x2、x3、x4有关,今测得一组数据如下,试

用逐步回归法确定一个线性模型

序号 

10 

11 

12 

13

x1 

21 

10

x2 

26 

29 

56 

31 

52 

55 

71 

54 

47 

40 

66 

68

x3 

15 

17 

22 

18 

23 

8

x4 

60 

52 

20 

33 

44 

34 

12

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

(1)数据输入

1.x1=[7111117113122111110]'

2.x2=[26295631525571315447406668]'

3.x3=[615886917221842398]'

4.x4=[6052204733226442226341212]'

5.y=[78.574.3104.387.695.9109.2102.772.593.1115.983.8113.3109.4]'

6.x=[x1x2x3x4];

(2)逐步回归

①先在初始模型中取全部自变量

1.stepwise(x,y)

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

当前位置:首页 > 经管营销 > 人力资源管理

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

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