《数学建模与数学实验》第9章:多元回归分析实验目的:1.直观了解多元回归分析的基本内容;2.掌握用数学软件求解多元回归分析问题。实验内容:1.多元回归分析的基本理论;2.用数学软件求解多元回归分析问题;3.课堂实验练习。一、多元线性回归(一)回归模型称如下模型为多元线性回归模型(高斯-马尔可夫线性模型)20,~(,)YXN其中1nyYy,1112121111kknnkxxxxXxx,0k,1n。称011kkyxx为回归平面方程。%Y必须是列向量多元线性回归分析的主要任务是:(1)用样本值对未知参数01,,,k和2作点估计;(2)对回归系数01,,,k作假设检验;(3)在01020,,,kxxx处对y作预测与控制,并对y作区间估计。(二)模型参数估计1.回归系数01,,,k的最小二乘估计作离差平方和:2010111,(,,)()nkiikikiQyxx最小二乘法就是选择01,,,k的估计01,,,ˆˆˆk,使得《数学建模与数学实验》0101,,ˆˆˆ(,,)min(,,)kkQQ称01,,,ˆˆˆk为01,,,k的最小二乘估计(LS估计)。2.2的无偏估计残差平方和:2011,ˆˆˆˆ(,,)()nekiiiQQyy22()()eEQn,22ˆ/()eeQn则22ˆ()eE,称2ˆe为剩余方差,它是2的无偏估计。(三)检验、预测与控制1.回归方程的显著性检验对回归方程011kkyxx的显著性检验,可提出如下原假设:0010:kH若假设0H被拒绝,则回归显著,认为y与1,,kxx之间确有线性关系,所求的线性回归方程有意义;否则回归不显著。2.预测(1)点预测:根据回归方程,给定自变量1**,,kxx,预测*y.(2)区间预测:给定自变量1,,kxx,预测y的置信区间12ˆˆ,yy.(四)回归分析的相关命令1.确定回归系数的点估计:b=regress(Y,X)2.求回归系数的点估计和区间估计、并检验回归模型:《数学建模与数学实验》[b,bint,r,rint,stats]=regress(Y,X,alpha)(1)相关系数2r越接近1,说明回归方程越显著;(2)11(,)FFknk时拒绝0H,F值越大,说明回归方程越显著;(3)p时,拒绝0H,说明回归模型成立。3.画出残差及置信区间:rcoplot(r,rint)%筛选不符合的数据4.方程回归系数的检验:stepwise(X,Y)【例9-1】火柴消费与各因素之间的关系分析火柴公司的火柴销售量与各方面因素有很大联系,根据往年的销售情况,收集到了以下的一些数据:年份火柴销售量y/万件煤气、液化气用户x1/万户卷烟销售量x2/万箱蚊香销售量x3/十万盒打火石销售量X4/万粒197117.8427.4321.4311.0925.78197218.2729.9524.9614.4828.16197320.2933.5328.3716.9724.26197422.6137.3142.5720.1630.18197526.7141.1645.1626.3917.08197631.1945.7352.4627.047.39197730.5050.5945.323.083.88197829.6358.8246.8024.4610.53197929.6965.2851.1133.8220.09198029.2571.2553.2933.5721.22198131.0573.3755.3639.5912.63198232.2876.6854.0048.4911.17试分析火柴的销售量与各个因素之间的关系。1.回归分析及其检验残差的点估计回归系数的区间估计残差的区间估计用于检验回归模型的四个数:相关系数r2、F值、接受原假设的概率p、残差方差的估计。回归系数的点估计显著性水平《数学建模与数学实验》运行结果如下:《数学建模与数学实验》从上述分析结果可得:回归方程:123417055700507026060005702367.....yxxxx相关系数:209940.R,说明线性程度较好;检验统计量:291938.F,说明回归方程显著;接受原假设的概率:00000.p,说明回归方程显著。2.残差分析,作残差图从上图可以看出,第9个点和第11个点为奇异点,可以舍弃后重新求解回归方程。3.对系数进行逐步检验24681012-1.5-1-0.500.511.5ResidualCaseOrderPlotResidualsCaseNumber《数学建模与数学实验》Coeff.t-statp-val0.05072532.01130.08420.2605978.79170.0000-0.00567516-0.13690.8950-0.236696-10.08380.0000123450246ModelHistoryRMSE-0.3-0.2-0.100.10.20.3X1X2X3X4CoefficientswithErrorBars从上表可以看出系数3对y影响不显著,可以认为蚊香的销售量与火柴的销售量基本无关,删除该变量,重新计算如下:Coeff.t-statp-val0.04819742.99660.01720.2592549.89560.0000-0.00567516-0.13690.8950-0.237024-10.83700.0000123456789100246ModelHistoryRMSE-0.3-0.2-0.100.10.20.3X1X2X3X4CoefficientswithErrorBars经过重新计算,可得回归方程如下:124170976004820259302370....yxxx《数学建模与数学实验》二、一元多项式回归(一)回归1.确定多项式系数格式:[p,s]=polyfit(x,y,m)功能:利用m次多项式对数据x,y进行曲线拟合,p为多项式系数,s为一个矩阵,用来估计预测误差。2.一元多项式回归命令格式:polytool(x,y,m)功能:此命令产生一个交互式的画面,画面中有拟合曲线和y的置信区间。(二)预测和预测误差估计格式1:Y=polyval(p,x)功能:求回归多项式p在x处的预测值Y。格式2:[Y,delta]=polyconf(p,x,s,alpha)功能:求回归多项式p在x处的预测值Y,以及预测值Y的置信区间Y±delta.【例9-2】观测物体降落的距离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.481.作二次多项式回归《数学建模与数学实验》运行结果:即回归模型为:2489294665889891329ˆ...stt2.预测与作图00.050.10.150.20.250.30.350.40.450.5050100150时间t路程s时间与路程的多项式回归上图的结果表明二次多项式回归方程效果显著。思考:可否将上例中的一元多项式回归转化为多元线性回归进行分析?《数学建模与数学实验》【课堂练习】1.(人口预测)以下是美国人口两个世纪以来的统计数据:(单位:百万)年份18001810182018301840185018601870188018901900人口5.37.29.612.917.123.231.438.650.262.976.0年份1910192019301940195019601970198019902000人口92.0106.5123.2131.7150.7179.3204.0226.5251.4275.0(1)请利用一元多项式回归方法建立美国人口预测模型;(2)试预测2020年的美国人口数量。2.世界卫生组织推荐的“体质指数”BMI(BodyMassIndex)的定义为BMI=W/H,其中W表示体重(单位:kg),H表示身高(单位:m)。显然它比体重本身更能反映人的胖瘦,对30个人测量他(她)们的血压和体质指数,如下表所示:序号血压/mmHg年龄体质指数吸烟习惯序号血压/mmHg年龄体质指数吸烟习惯11443924.20161304822.2122154731.11171354527.4031384522.60181141818.8041454724.01191162022.6051626525.91201241921.5061424625.10211363625.0071706729.51221425026.2181244219.70231203923.5091586727.21241202120.30101545619.30251604427.11111626428.01261585328.61121505625.80271446328.30131405927.30281302922.01141103420.10291252525.30151284221.70301756927.41(1)请建立血压与年龄以及体质指数之间的模型,并作回归分析;输入的程序:x=[1443924.20;2154731.11;1384522.60;《数学建模与数学实验》1454724.01;1626525.91;1424625.10;1706729.51;1244219.70;1586727.21;1545619.30;1626428.01;1505625.80;1405927.30;1103420.10;1284221.70;1304822.21;1354527.40;1141818.80;1162022.60;1241921.50;1363625.00;1425026.21;1203923.50;1202120.30;1604427.11;1585328.61;《数学建模与数学实验》1446328.30;1302922.01;1252525.30;1756927.41];X=[ones(size(x(:,1))),x(:,2:3)];Y=x(:,1);[b,bint,r,rint,stats]=regress(Y,X)输出的结果:b=30.75500.47013.6754bint=-10.475271.98520.02550.91471.61995.7309r=5.965747.84443.02583.94005.4949-2.6329-0.67691.0948-4.223425.9836-1.7534-1.9067-18.8301-10.6145《数学建模与数学实验》-2.2560-4.9143-17.61635.6851-7.22175.2914-3.5643-8.5563-15.46154.76178.9565-2.7876-20.38604.7526-10.495911.1013rint=-22.126634.058031.795663.8933-24.939630.9911-24.246832.1268-21.681632.6713-30.892925.6272-27.613626.2598-25.587727.7774-31.395722.94894.178147.7891-29.200425.6935-29.927526.1141-45.60027.9399-37.604516.3754-30.040825.5287-32.514522.6858-44.35699.1244-20.499531.8697-33.770419.3270