用MATLAB求解回归分析分析解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

多元线性回归b=regress(Y,X)npnnppxxxxxxxxxX...1..................1...1212222111211nYYYY...21pbˆ...ˆˆ101、确定回归系数的点估计值:ppxxy...110统计工具箱中的回归分析命令对一元线性回归,取p=1即可。3、画出残差及其置信区间:rcoplot(r,rint)2、求回归系数的点估计和区间估计、并检验回归模型:[b,bint,r,rint,stats]=regress(Y,X,alpha)回归系数的区间估计残差用于检验回归模型的统计量,有三个数值:相关系数r2、F值、与F对应的概率p置信区间显著性水平(缺省时为0.05)相关系数r2越接近1,说明回归方程越显著;FF1-α(k,n-k-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p时拒绝H0,回归模型成立.例1解:1、输入数据:x=[143145146147149150153154155156157158159160162164]';X=[ones(16,1)x];Y=[8885889192939395969897969899100102]';2、回归分析及检验:[b,bint,r,rint,stats]=regress(Y,X)b,bint,stats得结果:b=bint=-16.0730-33.70711.56120.71940.60470.8340stats=0.9282180.95310.0000即7194.0ˆ,073.16ˆ10;0ˆ的置信区间为[-33.7017,1.5612],1ˆ的置信区间为[0.6047,0.834];r2=0.9282,F=180.9531,p=0.0000p0.05,可知回归模型y=-16.073+0.7194x成立.题目3、残差分析,作残差图:rcoplot(r,rint)从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点.4、预测及作图:z=b(1)+b(2)*xplot(x,Y,'k+',x,z,'r')246810121416-5-4-3-2-101234ResidualCaseOrderPlotResidualsCaseNumber多项式回归(一)一元多项式回归(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)1、回归:y=a1xm+a2xm-1+…+amx+am+12、预测和预测误差估计:(1)Y=polyval(p,x)求polyfit所得的回归多项式在x处的预测值Y;(2)[Y,DELTA]=polyconf(p,x,S,alpha)求polyfit所得的回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间YDELTA;alpha缺省时为0.5例2观测物体降落的距离s与时间t的关系,得到数据如下表,求s关于t的回归方程2ˆctbtas.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方法一直接作二次多项式回归: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)1329.98896.652946.489ˆ2tts得回归模型为:法二化为多元线性回归:t=1/30:1/30:14/30;s=[11.8615.6720.6026.6933.7141.9351.1361.4972.9085.4499.08113.77129.54146.48];T=[ones(14,1)t'(t.^2)'];[b,bint,r,rint,stats]=regress(s',T);b,stats22946.4898896.651329.9ˆtts得回归模型为:Y=polyconf(p,t,S)plot(t,s,'k+',t,Y,'r')预测及作图(二)多元二项式回归命令:rstool(x,y,’model’,alpha)nm矩阵显著性水平(缺省时为0.05)n维列向量由下列4个模型中选择1个(用字符串输入,缺省时为线性模型):linear(线性):mmxxy110purequadratic(纯二次):njjjjmmxxxy12110interaction(交叉):mkjkjjkmmxxxxy1110quadratic(完全二次):mkjkjjkmmxxxxy,1110例3设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为1000、价格为6时的商品需求量.需求量10075807050659010011060收入10006001200500300400130011001300300价格5766875439选择纯二次模型,即2222211122110xxxxy方法一直接用多元二项式回归:x1=[10006001200500300400130011001300300];x2=[5766875439];y=[10075807050659010011060]';x=[x1'x2'];rstool(x,y,'purequadratic')在画面左下方的下拉式菜单中选”all”,则beta、rmse和residuals都传送到Matlab工作区中.在左边图形下方的方框中输入1000,右边图形下方的方框中输入6。则画面左边的“PredictedY”下方的数据变为88.47981,即预测出平均收入为1000、价格为6时的商品需求量为88.4791.在Matlab工作区中输入命令:beta,rmse得结果:beta=110.53130.1464-26.5709-0.00011.8475rmse=4.5362故回归模型为:2221218475.10001.05709.261464.05313.110xxxxy剩余标准差为4.5362,说明此回归模型的显著性较好.X=[ones(10,1)x1'x2'(x1.^2)'(x2.^2)'];[b,bint,r,rint,stats]=regress(y,X);b,stats结果为:b=110.53130.1464-26.5709-0.00011.8475stats=0.970240.66560.0005方法二2222211122110xxxxy将化为多元线性回归:非线性回归(1)确定回归系数的命令:[beta,r,J]=nlinfit(x,y,’model’,beta0)(2)非线性回归命令:nlintool(x,y,’model’,beta0,alpha)1、回归:残差Jacobian矩阵回归系数的初值是事先用m-文件定义的非线性函数估计出的回归系数输入数据x、y分别为矩阵和n维列向量,对一元非线性回归,x为n维列向量。mn2、预测和预测误差估计:[Y,DELTA]=nlpredci(’model’,x,beta,r,J)求nlinfit或nlintool所得的回归函数在x处的预测值Y及预测值的显著性为1-alpha的置信区间YDELTA.例4对第一节例2,求解如下:1、对将要拟合的非线性模型y=axbe/,建立m-文件volum.m如下:functionyhat=volum(beta,x)yhat=beta(1)*exp(beta(2)./x);2、输入数据:x=2:16;y=[6.428.209.589.59.7109.939.9910.4910.5910.6010.8010.6010.9010.76];beta0=[82]';3、求回归系数:[beta,r,J]=nlinfit(x',y','volum',beta0);beta得结果:beta=11.6036-1.0641即得回归模型为:xey10641.16036.114、预测及作图:[YY,delta]=nlpredci('volum',x',beta,r,J);plot(x,y,'k+',x,YY,'r')例5财政收入预测问题:财政收入与国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资等因素有关。下表列出了1952-1981年的原始数据,试构造预测模型。解设国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资分别为x1、x2、x3、x4、x5、x6,财政收入为y,设变量之间的关系为:y=ax1+bx2+cx3+dx4+ex5+fx6使用非线性回归方法求解。1.对回归模型建立M文件model.m如下:functionyy=model(beta0,X)a=beta0(1);b=beta0(2);c=beta0(3);d=beta0(4);e=beta0(5);f=beta0(6);x1=X(:,1);x2=X(:,2);x3=X(:,3);x4=X(:,4);x5=X(:,5);x6=X(:,6);yy=a*x1+b*x2+c*x3+d*x4+e*x5+f*x6;2.主程序liti6.m如下:X=[598.00349.00461.0057482.0020729.0044.00…………………………………………………………..2927.006862.001273.00100072.043280.00496.00];y=[184.00216.00248.00254.00268.00286.00357.00444.00506.00...271.00230.00266.00323.00393.00466.00352.00303.00447.00...564.00638.00658.00691.00655.00692.00657.00723.00922.00...890.00826.00810.0]';beta0=[0.50-0.03-0.600.01-0.020.35];betafit=nlinfit(X,y,'model',beta0)betafit=0.5243-0.0294-0.63040.0112-0.02300.3658即y=0.5243x1-0.0294x2-0.6304x3+0.0112x4-0.0230x5+0.3658x6结果为:逐步回归逐步回归的命令是:stepwise(x,y,inmodel,alpha)运行stepwise命令时产生三个图形窗口:StepwisePlot,StepwiseTable,StepwiseHistory.在StepwisePlot窗口,显示出各项的回归系数及其置信区间.StepwiseTable窗口中列出了一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE)、相关系数(R-square)、F值、与F对应的概率P.矩阵的列数的指标,给出初始模型中包括的子集(缺省时设定为全部自变量)显著性水平(缺省时为0.5)自变量数据,阶矩阵mn因变量数据,阶矩阵1n例6水泥凝固时放出的热量y与水泥中4种化

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功