多元回归分析matlab_第1页
多元回归分析matlab_第2页
多元回归分析matlab_第3页
多元回归分析matlab_第4页
多元回归分析matlab_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、回归分析MATLAB工具箱一、多元线性回归多元线性回归:1、确定回归系数的点估计值:命令为:b=regress(Y, X )b表示Y表示X表示 2、求回归系数的点估计和区间估计、并检验回归模型:命令为:b, bint,r,rint,stats=regress(Y,X,alpha)bint表示回归系数的区间估计.r表示残差.rint表示置信区间.stats表示用于检验回归模型的统计量,有三个数值:相关系数r2、F值、与F对应的概率p.说明:相关系数越接近1,说明回归方程越显著;时拒绝,F越大,说明回归方程越显著;与F对应的概率p时拒绝H0,回归模型成立.alpha表示显著性水平(缺省时为0.05

2、)3、画出残差及其置信区间. 命令为:rcoplot(r,rint)例1.如下程序.解:(1)输入数据. x=143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164' X=ones(16,1) x; Y=88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102'(2)回归分析及检验. b,bint,r,rint,stats=regress(Y,X) b,bint,stats得结果:b = bint = -16.0730 -33.7071 1.5612 0.7194

3、0.6047 0.8340 stats = 0.9282 180.9531 0.0000即;的置信区间为-33.7017,1.5612, 的置信区间为0.6047,0.834; r2=0.9282, F=180.9531, p=0.0000,我们知道p<0.05就符合条件, 可知回归模型 y=-16.073+0.7194x成立.(3)残差分析,作残差图.rcoplot(r,rint)从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点. (4)预测及作图.

4、z=b(1)+b(2)*x plot(x,Y,'k+',x,z,'r')二、多项式回归 (一)一元多项式回归. 1、一元多项式回归:(1)确定多项式系数的命令:p,S=polyfit(x,y,m)说明: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)2、预测和预测误差估计.(1)Y=polyval(p,x)求polyfit所得的回归多项式在x处的预测值Y;(2)Y,DELTA=poly

5、conf(p,x,S,alpha)求polyfit所得的回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间Y±DELTA;alpha缺省时为0.5.例1. 观测物体降落的距离s与时间t的关系,得到数据如下表,求s. (关于t的回归方程)t (s)1/302/303/304/305/306/307/30s (cm)11.8615.6720.6026.6933.7141.9351.13t (s)8/309/3010/3011/3012/3013/3014/30s (cm)61.4972.9085.4499.08113.77129.54146.48解法一:直接作二次多项式

6、回归.t=1/30:1/30:14/30; s=11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48; p,S=polyfit(t,s,2)得回归模型为:解法二:化为多元线性回归.t=1/30:1/30:14/30;s=11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48;T=ones(14,1) t' (t.2)'b,bint,r,rint

7、,stats=regress(s',T);b,stats得回归模型为:预测及作图:Y=polyconf(p,t,S)plot(t,s,'k+',t,Y,'r')(二)多元二项式回归多元二项式回归命令:rstool(x,y,model, alpha)说明:x表示n´m矩阵;Y表示n维列向量;alpha:显著性水平(缺省时为0.05);model表示由下列4个模型中选择1个(用字符串输入,缺省时为线性模型):linear(线性):purequadratic(纯二次):interaction(交叉):quadratic(完全二次):例1. 设某商品的

8、需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为1000、价格为6时的商品需求量.需求量10075807050659010011060收入1000600 1200500300400130011001300300价格5766875439解法一:选择纯二次模型,即.直接用多元二项式回归:x1=1000 600 1200 500 300 400 1300 1100 1300 300;x2=5 7 6 6 8 7 5 4 3 9;y=100 75 80 70 50 65 90 100 110 60'x=x1' x2'rstool(x,y,'

9、purequadratic')在左边图形下方的方框中输入1000,右边图形下方的方框中输入6,则画面左边的“Predicted Y”下方的数据变为88.47981,即预测出平均收入为1000、价格为6时的商品需求量为88.4791.在画面左下方的下拉式菜单中选”all”, 则beta、rmse和residuals都传送到Matlab工作区中.在Matlab工作区中输入命令:beta, rmse得结果:beta = 110.5313 0.1464 -26.5709 -0.0001 1.8475 rmse = 4.5362故回归模型为:剩余标准差为4.5362, 说明此回归模型的显著性较好

10、.解法二:将化为多元线性回归:X=ones(10,1) x1' x2' (x1.2)' (x2.2)'b,bint,r,rint,stats=regress(y,X);b,stats结果为: b = 110.5313 0.1464 -26.5709 -0.0001 1.8475 stats = 0.9702 40.6656 0.0005三、非线性回归 1、非线性回归:(1)确定回归系数的命令:beta,r,J=nlinfit(x,y,model, beta0)说明:beta表示估计出的回归系数;r表示残差;J表示Jacobian矩阵;x,y表示输入数据x、y分别

11、为矩阵和n维列向量,对一元非线性回归,x为n维列向量;model表示是事先用m-文件定义的非线性函数;beta0表示回归系数的初值.(2)非线性回归命令:nlintool(x,y,model, beta0,alpha)2、预测和预测误差估计:Y,DELTA=nlpredci(model, x,beta,r,J)表示nlinfit 或nlintool所得的回归函数在x处的预测值Y及预测值的显著性为1-alpha的置信区间Y±DELTA.例1. 如下程序.解:(1)对将要拟合的非线性模型y=a,建立m-文件volum.m如下: function yhat=volum(beta,x) yh

12、at=beta(1)*exp(beta(2)./x);(2)输入数据: x=2:16; y=6.42 8.20 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.80 10.60 10.90 10.76; beta0=8 2'(3)求回归系数: beta,r ,J=nlinfit(x',y','volum',beta0); beta(4)运行结果:beta = 11.6036 -1.0641即得回归模型为:(5)预测及作图: YY,delta=nlpredci('volum',x',be

13、ta,r ,J); plot(x,y,'k+',x,YY,'r')四、逐步回归1、逐步回归的命令:stepwise(x,y,inmodel,alpha)说明:x表示自变量数据,阶矩阵;y表示因变量数据,阶矩阵;inmodel表示矩阵的列数的指标,给出初始模型中包括的子集(缺省时设定为全部自变量);alpha表示显著性水平(缺省时为0.5).2、运行stepwise命令时产生三个图形窗口:Stepwise Plot,Stepwise Table,Stepwise History.在Stepwise Plot窗口,显示出各项的回归系数及其置信区间.(1)Stepwi

14、se Table窗口中列出了一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE)、相关系数(R-square)、F值、与F对应的概率P.例1. 水泥凝固时放出的热量y与水泥中4种化学成分x1、x2、x3、 x4有关,今测得一组数据如下,试用逐步回归法确定一个线性模型. 序号12345678910111213x17111117113122111110x226295631525571315447406668x3615886917221842398x46052204733226442226341212y78.574.3104.387.695.9109.2102.772.593

15、.1115.983.8113.3109.4解:(1)数据输入: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=x1 x2 x3 x4;(2)逐步回归.先在

16、初始模型中取全部自变量:stepwise(x,y)得图Stepwise Plot 和表Stepwise Table.图Stepwise Plot中四条直线都是虚线,说明模型的显著性不好.从表Stepwise Table中看出变量x3和x4的显著性最差.在图Stepwise Plot中点击直线3和直线4,移去变量x3和x4.移去变量x3和x4后模型具有显著性虽然剩余标准差(RMSE)没有太大的变化,但是统计量F的值明显增大,因此新的回归模型更好.(3)对变量y和x1、x2作线性回归. X=ones(13,1) x1 x2; b=regress(y,X)得结果:b = 52.5773 1.4683

17、 0.6623故最终模型为:y=52.5773+1.4683x1+0.6623x2或这种方法4元二次线性回归clc;clear;y=1.84099  9.67  23.00  38.12 1.848794 6.22 12.22 19.72 1.848794 5.19 10.09 15.31 ;X1=60.36558 59.5376 58.89861 58.74706 60.59389 60.36558 59.2 58.2 60.36558 59.97068 59.41918 58.89077;X2=26.1636 26.35804 2

18、6.82438 26.91521 25.90346 25.9636 27.19256 27.42153 26.1636 26.07212 26.58721 27.06063;X3=0.991227 0.994944 0.981322 0.98374 1.011865 0.991227 1.074772 1.107678 0.991227 0.917904 1.060438 1.1239; X4=59.37436 58.54265 57.91729 57.69332 59.58203 59.37436 57.76722 57.42355 59.37436 59.05278 58.358

19、74 57.76687;format short gY=y'X11=ones(1,length(y);X1;X2;X3;X4'B1=regress(Y,X11)% 多元一次线性回归m,n=size(X11)X22=;for i=2:n    for j=2:n        if i<=j        X22=(X22,X11(:,i).*X11(:,j);        

20、else        continue        end   endendX=X11,X22;B2=regress(Y,X)% 多元二次线性回归Y X*B2 Y-X*B2plot(Y,X11*B1,'o',Y,X*B2,'*')hold on,line(min(y),max(y),min(y),max(y)axis(min(y) max(y) min(y) max(y)legend('一次线性回归',&

21、#39;二次线性回归')xlabel('实际值');ylabel('计算值')运行结果:Y =        1.841         9.67           23        38.12       1.8488    

22、;     6.22        12.22        19.72       1.8488         5.19        10.09        15.31X11 =     &#

23、160;      1       60.366       26.164      0.99123       59.374            1       59.538       26.358    

24、;  0.99494       58.543            1       58.899       26.824      0.98132       57.917            1   &

25、#160;   58.747       26.915      0.98374       57.693            1       60.594       25.903       1.0119       59.

26、582            1       60.366       25.964      0.99123       59.374            1         59.2   

27、60;   27.193       1.0748       57.767            1         58.2       27.422       1.1077       57.424     &#

28、160;      1       60.366       26.164      0.99123       59.374            1       59.971       26.072    

29、;   0.9179       59.053            1       59.419       26.587       1.0604       58.359            1   &

30、#160;   58.891       27.061       1.1239       57.767B1 =       1488.9      -4.3582      -9.6345      -61.514      -15.359m =  

31、60; 12n =     5B2 =            0       3120.4      -7129.2            0            0      -622.23

32、60;     -362.71      -105.06       1388.1       120.25       199.25       379.58       170.48            0    

33、  -796.41ans =        1.841       1.8449    -0.003902         9.67         9.67  1.0058e-009           23           23   1.397e-009        38.12        38.12   3.539e-010       1.8488       1.8488  1.639

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论