数学建模案例分析第11讲 回归分析.ppt
数学建模与数学实验数学建模与数学实验回归分析回归分析4/8/20231数学建模实验目的实验目的实验内容实验内容2掌握用数学软件求解回归分析问题掌握用数学软件求解回归分析问题.1直观了解回归分析基本内容直观了解回归分析基本内容.1回归分析回归分析的基本理论的基本理论.3实验实验作业作业.2用数学用数学软件求解回归分析问题软件求解回归分析问题.4/8/20232数学建模一元线性回归一元线性回归多元线性回归多元线性回归回归分析回归分析数数学学模模型型及及定定义义*模模型型参参数数估估计计*检检验验、预预测测与与控控制制可可线线性性化化的的一一元元非非线线性性回回归归(曲曲线线回回归归)数数学学模模型型及及定定义义*模模型型参参数数估估计计逐逐步步回回归归分分析析*多多元元线线性性回回归归中中的的检检验验与与预预测测4/8/20233数学建模一、数学模型一、数学模型例例1 测16名成年女子的身高与腿长所得数据如下:以身高x为横坐标,以腿长y为纵坐标将这些数据点(xi,yi)在平面直角坐标系上标出.散点图解答4/8/20234数学建模一元线性回归分析的主要任务主要任务是:返回返回4/8/20235数学建模二、模型参数估计二、模型参数估计1回归系数的最小二乘估计回归系数的最小二乘估计4/8/20236数学建模 其中=niiniiynyxnx111,1,=niiiniiyxnxyxnx11221,1.4/8/20237数学建模返回返回4/8/20238数学建模三、检验、预测与控制三、检验、预测与控制1回归方程的显著性检验回归方程的显著性检验4/8/20239数学建模()F检验法检验法()t 检验法检验法4/8/202310数学建模()r 检验法检验法4/8/202311数学建模2回归系数的置信区间回归系数的置信区间4/8/202312数学建模3预测与控制预测与控制(1)预测)预测4/8/202313数学建模(2)控制)控制返回返回4/8/202314数学建模四、可线性化的一元非线性回归四、可线性化的一元非线性回归(曲线回归)(曲线回归)例例2出钢时所用的盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大.我们希望知道使用次数与增大的容积之间的关 系.对一钢包作试验,测得的数据列于下表:解答4/8/202315数学建模散点图此即非线性回归非线性回归或曲线回归曲线回归问题(需要配曲线)配曲线的一般方法是:配曲线的一般方法是:4/8/202316数学建模通常选择的六类曲线如下:返回返回4/8/202317数学建模一、数学模型及定义一、数学模型及定义返回返回4/8/202318数学建模二、模型参数估计二、模型参数估计解得估计值()()YXXXTT1-=b4/8/202319数学建模返回返回4/8/202320数学建模三、多元线性回归中的检验与预测三、多元线性回归中的检验与预测()F 检验法检验法()r 检验法检验法(残差平方和残差平方和)4/8/202321数学建模2预测预测(1)点预测)点预测(2)区间预测)区间预测返回返回4/8/202322数学建模四、逐步回归分析四、逐步回归分析(4)“有进有出”的逐步回归分析.(1)从所有可能的因子(变量)组合的回归方程中选择最优者;(2)从包含全部变量的回归方程中逐次剔除不显著因子;(3)从一个变量开始,把变量逐个引入方程;选择“最优”的回归方程有以下几种方法:“最最优优”的的回回归归方方程程就是包含所有对Y有影响的变量,而不包含对Y影响不显著的变量回归方程.以第四种方法,即逐步回归分析法逐步回归分析法在筛选变量方面较为理想.4/8/202323数学建模 这个过程反复进行,直至既无不显著的变量从回归方程中剔除,又无显著变量可引入回归方程时为止.逐步回归分析法逐步回归分析法的思想:从一个自变量开始,视自变量Y对作用的显著程度,从大到小地依次逐个引入回归方程.当引入的自变量由于后面变量的引入而变得不显著时,要将其剔除掉.引入一个自变量或从回归方程中剔除一个自变量,为逐步回归的一步.对于每一步都要进行Y值检验,以确保每次引入新的显著性变量前回归方程中只包含对Y作用显著的变量.返回返回4/8/202324数学建模统计工具箱中的回归分析命令统计工具箱中的回归分析命令1多元线性回归多元线性回归2多项式回归多项式回归3非线性回归非线性回归4逐步回归逐步回归返回返回4/8/202325数学建模多元线性回归多元线性回归 b=regress(Y,X)1确定回归系数的点估计值:确定回归系数的点估计值:4/8/202326数学建模3画出残差及其置信区间:画出残差及其置信区间:rcoplot(r,rint)2求回归系数的点估计和区间估计、并检验回归模型:求回归系数的点估计和区间估计、并检验回归模型:b,bint,r,rint,stats=regress(Y,X,alpha)回归系数的区间估计残差用于检验回归模型的统计量,有三个数值:相关系数r 2、F值、与F 对应的概率p置信区间 显著性水平(缺省时为0.05)4/8/202327数学建模例例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,statsTo MATLAB(liti11)题目4/8/202328数学建模3残差分析,作残差图:残差分析,作残差图:rcoplot(r,rint)从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点.4预测及作图:预测及作图:z=b(1)+b(2)*plot(x,Y,k+,x,z,r)返回返回To MATLAB(liti12)4/8/202329数学建模多多项项式式回回归归(一)一元多项式回归一)一元多项式回归(1)确定多项式系数的命令:p,S=polyfit(x,y,m)(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的置信区间Y DELTA;alpha缺省时为0.5.4/8/202330数学建模法一法一 直接作二次多项式回归:直接作二次多项式回归: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)To MATLAB(liti21)得回归模型为:4/8/202331数学建模法二法二化为多元线性回归:化为多元线性回归: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,stats=regress(s,T);b,statsTo MATLAB(liti22)得回归模型为:Y=polyconf(p,t,S)plot(t,s,k+,t,Y,r)预测及作图预测及作图To MATLAB(liti23)4/8/202332数学建模(二)多元二项式回归(二)多元二项式回归命令:rstool(x,y,model,alpha)nm矩阵显著性水平(缺省时为0.05)n维列向量4/8/202333数学建模例例3 设某商品的需求量与消费者的平均收入、商品价格的统计数 据如下,建立回归模型,预测平均收入为1000、价格为6时 的商品需求量.法一法一 直接用多元二项式回归: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,purequadratic)4/8/202334数学建模 在画面左下方的下拉式菜单中选”all”,则betarmse和residuals都传送到MATLAB工作区中.将左边图形下方方框中的“800”改成1000,右边图形下方的方框中仍输入6.则画面左边的“Predicted Y”下方的数据由原来的“86.3791”变为88.4791,即预测出平均收入为1000价格为6时的商品需求量为88.4791.4/8/202335数学建模在MATLAB工作区中输入命令:beta,rmseTo MATLAB(liti31)4/8/202336数学建模结果为:b=110.5313 0.1464 -26.5709 -0.0001 1.8475 stats=0.9702 40.6656 0.0005法二法二To MATLAB(liti32)返回返回将 化为多元线性回归:4/8/202337数学建模非线性回非线性回归归(1)确定回归系数的命令:beta,r,J=nlinfit(x,y,model,beta0)(2)非线性回归命令:nlintool(x,y,model,beta0,alpha)1回归:回归:残差Jacobi矩阵回归系数的初值事先用M文件定义的非线性函数估计出的回归系数输入数据xy分别为 矩阵和n维列向量,对一元非线性回归,x为n维列向量.2预测和预测误差估计:预测和预测误差估计:Y,DELTA=nlpredci(model,x,beta,r,J)求nlinfit 或lintool所得的回归函数在x处的预测值Y及预测值的显著性水平为1-alpha的置信区间Y DELTA.4/8/202338数学建模例例4 对第一节例2,求解如下: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得结果:beta=11.6036 -1.0641即得回归模型为:To MATLAB(liti41)题目4/8/202339数学建模4预测及作图:YY,delta=nlpredci(volum,x,beta,r,J);plot(x,y,k+,x,YY,r)To MATLAB(liti42)4/8/202340数学建模例例5财政收入预测问题:财政收入与国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资等因素有关.表中列出了19521981年的原始数据,试构造预测模型.解解 设国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资分别为x1、x2、x3、x4、x5、x6,财政收入为y,设变量之间的关系为:y=ax1+bx2+cx3+dx4+ex5+fx6使用非线性回归方法求解.4/8/202341数学建模1对回归模型建立对回归模型建立M文件文件model.m如下如下:function yy=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;4/8/202342数学建模2.主程序主程序liti6.m如下如下:X=598.00 349.00 461.00 57482.00 20729.00 44.00 .2927.00 6862.00 1273.00 100072.0 43280.00 496.00;y=184.00 216.00 248.00 254.00 268.00 286.00 357.00 444.00 506.00.271.00 230.00 266.00 323.00 393.00 466.00 352.00 303.00 447.00.564.00 638.00 658.00 691.00 655.00 692.00 657.00 723.00 922.00.890.00 826.00 810.0;beta0=0.50-0.03-0.60 0.01-0.02 0.35;betafit=nlinfit(X,y,model,beta0)To MATLAB(liti6)4/8/202343数学建模 betafit=0.5243 -0.0294 -0.6304 0.0112 -0.0230 0.3658即y=0.5243x1-0.0294x2-0.6304x3+0.0112x4-0.0230 x5+0.3658x6结果为结果为:返返回回4/8/202344数学建模逐逐步步回回归归逐步回归的命令是:stepwise(x,y,inmodel,alpha)运行stepwise命令时产生三个图形窗口:Stepwise Plot,Stepwise Table,Stepwise History.在Stepwise Plot窗口,显示出各项的回归系数及其置信区间.Stepwise Table 窗口中列出了一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE)、相关系数(R-square)、F值、与F对应的概率P.矩阵的列数的指标,给出初始模型中包括的子集(缺省时设定为全部自变量)显著性水平(缺省时为0.05)自变量数据,阶矩阵因变量数据,阶矩阵4/8/202345数学建模例例6 水泥凝固时放出的热量y与水泥中4种化学成分x1、x2、x3、x4 有关,今测得一组数据如下,试用逐步回归法确定一个 线性模 型.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;4/8/202346数学建模2逐步回归:逐步回归:(1)先在初始模型中取全部自变量:)先在初始模型中取全部自变量:stepwise(x,y)得图Stepwise Plot 和表Stepwise Table图图Stepwise Plot中四条直线都中四条直线都是虚线,说明模型的显著性不好是虚线,说明模型的显著性不好从表从表Stepwise Table中看中看出变量出变量x3和和x4的显著性最差的显著性最差.4/8/202347数学建模(2)在图)在图Stepwise Plot中点击直线中点击直线3和直线和直线4,移去变量,移去变量x3和和x4移去变量移去变量x3和和x4后模型具有显著性后模型具有显著性.虽然剩余标准差(虽然剩余标准差(RMSE)没没有太大的变化,但是统计量有太大的变化,但是统计量F的的值明显增大,因此新的回归模型值明显增大,因此新的回归模型更好更好.To MATLAB(liti51)4/8/202348数学建模(3)对变量)对变量y和和x1、x2作线性回归:作线性回归:X=ones(13,1)x1 x2;b=regress(y,X)得结果:b=52.5773 1.4683 0.6623故最终模型为:y=52.5773+1.4683x1+0.6623x2To MATLAB(liti52)返回返回4/8/202349数学建模1考察温度x对产量y的影响,测得下列10组数据:求y关于x的线性回归方程,检验回归效果是否显著,并预测x=42时产量的估值及预测区间(置信度95%).2某零件上有一段曲线,为了在程序控制机床上加工这一零件,需要求这段曲线的解析表达式,在曲线横坐标xi处测得纵坐标yi共11对数据如下:求这段曲线的纵坐标y关于横坐标x的二次多项式回归方程.4/8/202350数学建模4/8/202351数学建模4混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成12个试块,记录了养护日期x(日)及抗压强度y(kg/cm2)的数据:4/8/202352数学建模4/8/202353数学建模