您好,欢迎访问三七文档
练习29回归分析数学知识背景回归分析是对拟合问题进行地统计分析,数据拟合地好坏直接影响对问题研究的正确与否,也直接关系到模型建立正确与否。通过回归分析可以对数据拟合的好坏进行分析,从而为建立模型合研究问题提供有力的支持。主要内容【本练习考查知识点】本练习主要介绍回归分析的基本思想和在MATLAB中的实现方法,讲述如何在实际问题中运用回归分析来解决问题。(1)用切削机床加工时,为实时地调整机床需测定刀具的磨损速度,现每隔一小时测量一次刀具的厚度得到以下数据,试建立刀具厚度关于切削时间的回归模型,对模型和回归系数时行检验,预测15小时后刀具的厚度。时间(h)012345678910刀具厚度(cm)30.629.128.428.128.027.727.527.227.026.826.5先作出各个点的位置。在命令区运行程序:x=[0,1,2,3,4,5,6,7,8,9,10]’;y=[[30.6,29.1,28.4,28.1,28.0,27.7,27.5,27.2,27.0,26.8,26.5]’;plot(x,y,’r+’)运行后得到如下图结果。从图29-1中可见,y与x大致符合线性关系。接着运行如下程序:X=[ones(11,1),x];[b,bint,r,rint,stats]=regress(y,X)b,bint,stats,rcoplot(r,rint)运行结果为:b=29.5455-0.3291bint=28.976930.1140-0.4252-0.2330stats=0.869660.00180.0000练习过程图29-1磨损实验图图29-2残差分布图由以上结果可见,相关系数R2=0.93250.9,p10-4,因此,此回归模型是成立的。以此预测15小时后刀具的;y=b(1)+b(2)*15结果为:y=24.6091,即15小时后刀具的厚度为24.6091cm。观察图中的残差分布,除第一个点以外,其余残差的置信区间均包含零点,第一个点应视为异常点,将其剔除后重新计算,可得b=29.0533bint=28.833429.2732stats=0.9726283.55990.0000-0.2588-0.2942-0.2233可见,回归系数变化不大,但置信区间明显缩小,R2和F都明显变大。因此,用修改后的结果预测应该更合适。计算y=b(1)+b(2)*15,结果为y=25.1713,即15小时扣刀具的厚度为25.1713cm。(2)得到某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型并进行检验,预测平均收入为1000、价格为6时的商品需求量。需求量10075807050659010011060收入10006001200500300400130011001300300价格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]’;plot(x1,y,’r+’)plot(x2,y,’r+’)30040050060070080090010001100120013005060708090100110图29-3需求量与价格关系图图29-4收入与价格关系图1234567891011-1-0.500.51ResidualCaseOrderPlotResidualsCaseNumber01234567891026.52727.52828.52929.53030.53134567895060708090100110接着运行如下程序:x=[x1,x2];X=[ones(10,1),x];[b,bint,r,rint,stats]=regress(y,X);b,bint,stats,rcoplot(r,rint)运行结果如下:b=111.69180.0143-7.1882bint=56.0503167.3334-0.01200.0406-13.2306-1.1458stats=0.894429.65330.0004并得到图29-5由以上结果可见,相关系数R2=0.8944,则R=0.94570.9,p=0.00040.05,观察图中的残差分布,各个点的置信区间均包含零点。因此,此回归模型y=111.6981+0.0143*x1-7.1882*x2是成立的。下面再用rstool命令来预测平均收入为1000,价格为6时的商品需求量:rstool(x,y)得到结果如图29-6所示。图29-5残差分布图图29-6收入与需求量交互画面预测平均收入为1000、价格为6时的商品需求量为83,向工作区输出回归系数和剩余标准差:beta,rmsebeta=111.69180.0143-7.1882rmse=7.2133通过改变模型,分别用纯二次、交叉二次和完全二次进行分析,发现用完全二次模型的剩余标准差最小。此时:12345678910-20-15-10-505101520ResidualCaseOrderPlotResidualsCaseNumber400600800100012003040506070809010011012013045678beta=-106.6095rmse=4.41790.326121.2990-0.0200-0.0001-0.7609预测平均收入为1000、价格为6时的商品需求量为89。(3)一矿脉有13个相邻样点,人为地设定一原点,现测得各样本点对原点的距离x,与该样本点处某种金属含量y的一组数据如下,画出散点图观察二者的关系,试建立合适的回归模型,如二次曲线、双曲线、对数曲线等。x23457810y106.42109.20109.58109.50110.00109.93110.49x111415151819y110.59110.60110.90110.76111.00111.20先画出散点图。在命令区运行程序:x=[2,3,4,5,7,8,10,11,14,15,15,18,19]’;y=[106.42,109.20,109.58,109.50,110.00,109.93,110.49,110.59,110.60,110.90,110.76,111.00,111.20]’;plot(x,y,’r+’)可得散点分布如图29-7所示。建立不同的模型进行验证:①y=a+bx,在命令区运行如下程序:X=[ones(13,1),x];[b,bint,r,rint,stats]=regress(y,X);b,bint,stats,rcoplot(r,rint)运行结果为:b=108.25810.1742bint=107.2794109.23670.08910.2593stats=0.648420.28660.0009图29-7散点部分图图29-8残差分布图246810121416182010610710810911011111224681012-2.5-2-1.5-1-0.500.511.52ResidualCaseOrderPlotResidualsCaseNumber由以上结果可见,相关系数R2=0.6484,则R=0.80520.8,p=0.00090.05,模型y=108.2581+0.1742*x基本成立。计算剩余标准差:Y=b(1)+b(2)*x;s=sqrt(sum(y-Y).^2./11)结果为:s=0.7723观察图29-8的残差分布,除第一个点以外,其余残差的置信区间均包含点,第一个点应视为异常点,将其剔除后重新计算,可得:b=109.06680.1159bint=108.8264109.30720.09580.1360stats=0.9428164.80600.0000剩余标准差为:s=0.8818,置信区间明显缩小,R2和F明显变大,但剩余标准差也会变大。如果用来作预测,则最好用这个模型,即y=109.0688+0.1159*x。②y=a+b/x,用非线性最小二乘法拟合。编写f118.m文件如下:functionf=f118(b)x=[2,3,4,5,7,8,10,11,14,15,15,18,19];y=[106.42,109.20,109.58,109.50,110.00,109.93,110.49,110.59,110.60,110.90,110.76,111.00,111.20];f=y-(b(1)+b(2)./x);在命令工作区输入命令:b0=[50,10];b=leastsq(‘f118’,b0)运行结果为:b=111.4405-9.0300即模型为y=111.4405-9.0300/x。计算剩余标准:s=sqrt(sum(f118(b).*f118(b))./11)结果为:s=0.3440③y=a+bx+cx2,运行如下程序:x=[2,3,4,5,7,8,10,11,14,15,15,18,19];y=[106.42,109.20,109.58,109.50,110.00,109.93,110.49,110.59,110.60,110.90,110.76,111.00,111.20];[p,S]=polyfit(x,y,2);p运行结果为:p=-0.01700.5271106.9522即模型为y=-0.0170x2+0.5271x+106.522计算剩余标准差:[Y,delta]=polyconf(p,x,S);s=sqrt(sum((y-Y).^2)./11)运行结果为:s=0.6166④y=a+bx1/2,修改f118.m文件为:f=y-(b(1)+b(2).*sqrt(x));运行如下程序:b0=[100,1];b=leastsq('f118',b0)运行结果为:b=106.69011.0957即模型为y=106.6901+1.0957x1/2。计算剩余标准差:s=sqrt(sum(f118(b).*f118(b))./11)结果为:s=0.6693⑤y=a+blnx修改f118.m文件为:f=y-(b(1)+b(2).*log(x));运行如下程序:b0=[100,1];b=leastsq('f118',b0)运行结果为:b=106.71131.5663即模型为y=106.7113+1.5663lnx。计算剩余标准差:s=sqrt(sum(f118(b).*f118(b))./11)结果为:s=0.5494图29-9散点与拟合后曲线图比较以上5种模型,发现双曲线的剩余标准差最小,和散点符合较好,作图如图29-9所示。【练习小结】本练习通过几个数据拟合的回归分析来判断曲线拟合的精度,通过回归分析来判断模型建立是否正确。【思考题】复习练习中回归分析的内容,并试着在MATLAB中实现本练习的内容。2468101214161820106107108109110111112
本文标题:练习29回归分析
链接地址:https://www.777doc.com/doc-5869241 .html