1、实 习 报 告 书学生姓名 :学号 :学院名称 :专业名称 :实习时间 : 2014 年 06 月 05 日第六次实验报告要求实验目的:掌握多元线性回归模型的原理,多元线性回归模型的建立、估计、检验及解释变量的增减的方法,以及运用相应的 Matlab 软件的函数计算。实验内容:已知某市粮食年销售量、常住人口、人均收入、肉、蛋、鱼的销售数据,见表 1。请选择恰当的解释变量和恰当的模型,建立粮食年销售量的回归模型,并对其进行估计和检验。表 1 某市粮食年销售量、常住人口、人均收入、肉、蛋、鱼的销售数据年份粮食年销售量 Y/万吨常住人口 X2/万人人均收入X3/元肉销售量X4/万吨蛋销售量X5/万吨
2、鱼虾销售量X6/万吨1974 98.45 560.20 153.20 6.53 1.23 1.891975 100.70 603.11 190.00 9.12 1.30 2.031976 102.80 668.05 240.30 8.10 1.80 2.711977 133.95 715.47 301.12 10.10 2.09 3.001978 140.13 724.27 361.00 10.93 2.39 3.291979 143.11 736.13 420.00 11.85 3.90 5.241980 146.15 748.91 491.76 12.28 5.13 6.831981 14
3、4.60 760.32 501.00 13.50 5.41 8.361982 148.94 774.92 529.20 15.29 6.09 10.071983 158.55 785.30 552.72 18.10 7.97 12.571984 169.68 795.50 771.16 19.61 10.18 15.121985 162.14 804.80 811.80 17.22 11.79 18.251986 170.09 814.94 988.43 18.60 11.54 20.591987 178.69 828.73 1094.65 23.53 11.68 23.37实验要求:撰写实验
4、报告,参考第 10 章中牙膏销售量,软件开发人员的薪金两个案例,写出建模过程,包括以下步骤1.分析影响因变量 Y 的主要影响因素及经济意义;影响因变量 Y 的主要影响因素有常住人口数量,城市中人口越多,需要的粮食数量就越多,粮食的年销售量就会相应增加。粮食销量还和人均收入有关,人均收入增加了,居民所能购买的粮食数量也会相应增加。另外,肉类销量、蛋销售量、鱼虾销售量也会对粮食的销售量有影响,这些销量增加了,也表示居民的饮食结构也在发生变化,生活水平在提高,所以相应的,生活水平提升了,居民也有能力购买更多的粮食。2. 建立散点图考察 Y 与每一个自变量之间的相关关系550 600 650 700
5、750 800 8508090100110120130140150160170180 x2和y和和和和x2y100 200 300 400 500 600 700 800 900 1000 110090100110120130140150160170180190 x3和 y和和和和x3y6 8 10 12 14 16 18 20 22 2490100110120130140150160170180190 x4和 y和和和和x4y0 2 4 6 8 10 1290100110120130140150160170180 x5和 y和和和和x5y0 5 10 15 20 25901001101201
6、30140150160170180190 x6和 y和和和和x6y从上述散点图,我们可以看出,当 x2 增大时,y 有向上增加的趋势,图中的曲线是用二次函数模型 。随着 x3,x4,x5,x6 的增加,y 的值都有比较明显的线性增长趋势,直线是用线性模型3.建立多元线性回归模型,并计算回归系数和统计量;综合上述分析,可以建立如下回归模型:参数 参数估计值 参数置信区间0-3.6113 -72.5573 65.334820.1255 -0.0103 0.261430.0737 -0.0135 0.160942.6752 -0.2196 5.570053.4654 -2.1721 9.10296-
7、4.4987 -9.5953 0.5979=0.9705 F= 52.6601 p=0.00002R210xy310xy 410 510x6 654320 xxxy表 1 初始模型的计算结果我们用逐步回归法,在 Matlab 中用 stepwise,运行出下面图-1 -0.5 0 0.5 1 1.5x 1016X1X2X3X4X5X6Coefficients with Error Bars Coeff. t-stat p-val2.83363e+015 0.4832 0.63940.211543 4.6696 0.00070.00942457 0.4980 0.62921.90925 2.63
8、65 0.02310.239951 0.1853 0.8567-0.157438 -0.2063 0.84071 2 30102030 Model HistoryRMSE根据上图可以看出,变量 x3,x5,x6 对 Y 值影响不大,可以舍弃,所以该模型建的不合理,应该只和 x2,x4 有关,改进后的模型为: ,利用 Matlab 求解,4210yx得到的结果如下:参数 参数估计值 参数置信区间0-39.7948 -94.8540 15.264410.2115 0.1118 0.311321.9092 0.3154 3.5031=0.9539 F=113.9220 P=0.0000R表 2 新模
9、型的计算结果检验:表 2 与表 1 的结果相比, 有所提高,说明新模型比初始模型有所改进。F 的值从52.6601 提高到 113.9220 ,超过了临界的检验值,P=0.0000 。并且改进后,所有的置信区间都不包含零点,所以新模型更好,更符合实际。所以最后的模型为: 42.900.5-39.748yx4.对多元回归模型进行统计检验;统计检验:用新模型对粮食的销售量作预测。假设在某年,该市的人口数量是 736.13 万人,肉销售量是 11.85 万吨。所以粮食年销量 y=-39.7948+0.2115*736.13+1.9092*11.85=138.5171 万吨。与实际销量 143.11
10、万吨误差不大,模型效果比较好。5.分析回归模型对应的经济含义。经济分析:由 x2,x4 变量的回归系数都大于零,同经济理论分析得到的结论是一致的。说明回归方程的经济含义是:当肉销售量不变时,城市的人口每增加 1 万人,粮食的销量就增加 0.2115 万吨。当城市人口数量不变时,肉类销量每增加 1 万吨,粮食的销量就增加1.9092 万吨。程序附录/ 画散点图% function untitled1(x2 ,y)% y=98.45 100.70 102.80 133.95 140.13 143.11 146.15 144.60 148.94 158.55 169.68 162.14 170.09
11、 178.69% x2=560.20 603.11 668.05 715.47 724.27 736.13 748.91 760.32 774.92 785.30 795.50 804.80 814.94 828.73% x3=153.20 190.00 240.30 301.12 361.00 420.00 491.76 501.00 529.20 552.72 771.16 811.80 988.43 1094.65% x4=6.53 9.12 8.10 10.10 10.93 11.85 12.28 13.50 15.29 18.10 19.61 17.22 18.60 23.53% x
12、5=1.23 1.30 1.80 2.09 2.39 3.90 5.13 5.41 6.09 7.97 10.18 11.79 11.54 11.68% x6=1.89 2.03 2.71 3.00 3.29 5.24 6.83 8.36 10.07 12.57 15.12 18.25 20.59 23.37% n=1% a=polyfit(x2,y,n)% y2=polyval(a,x2)% plot(x2,y2)% hold on% plot (x2,y ,.k)% title (x2 和 y 的散点图)% xlabel(x2)% ylabel(y)/ 计算参数估计值,参数置信区间,进行逐
13、步回归% clc;% clear;% % y=98.45 100.70 102.80 133.95 140.13 143.11 146.15 144.60 148.94 158.55 169.68 162.14 170.09 178.69;% x2=560.20 603.11 668.05 715.47 724.27 736.13 748.91 760.32 774.92 785.30 795.50 804.80 814.94 828.73;% x3=153.20 190.00 240.30 301.12 361.00 420.00 491.76 501.00 529.20 552.72 77
14、1.16 811.80 988.43 1094.65;% x4=6.53 9.12 8.10 10.10 10.93 11.85 12.28 13.50 15.29 18.10 19.61 17.22 18.60 23.53;% x5=1.23 1.30 1.80 2.09 2.39 3.90 5.13 5.41 6.09 7.97 10.18 11.79 11.54 11.68;% x6=1.89 2.03 2.71 3.00 3.29 5.24 6.83 8.36 10.07 12.57 15.12 18.25 20.59 23.37;% z=ones(14,1);% x=z x2 x4 % b,bint,r,rint,stats=regress(y,x)% stepwise(x,y)