1、实验 13 回归分析 化 11 李瑾 2011011792 【实验目的】 1. 了解回归分析的基本原理,掌握 MATLAB实现的方法; 2. 练习用回归分析解决实际问题。 【实验内容】 【题目 2】 电影院调查电视广告费用和报纸广告费用对每周收入的影响,得到下面的数据(见下表), 建立回归模型并进行检验,诊断异常点的存在并进行处理。 每周收入 96 90 95 92 95 95 94 94 电视广告费用 1.5 2.0 1.5 2.5 3.3 2.3 4.2 2.5 报纸广告费用 5.0 2.0 4.0 2.5 3.0 3.5 2.5 3.0 2.1 模型分析 本题研究电视广告费用与报纸广告费
2、用对电影收入的影响。我们首先尝试线性回归,由 R2 值判断回归模型是否合理。如果不合理, 再采取其他方法进行回归分析。 设电视广告费用为 1x ,报纸广告费用为 2x ,每周电影院收入为 y。建立如下模型: 22110 xxy 2.2 matlab 求解 y=96 90 95 92 95 95 94 94; x1=1.5 2.0 1.5 2.5 3.3 2.3 4.2 2.5; x2=5.0 2.0 4.0 2.5 3.0 3.5 2.5 3.0; n=8;m=2; X=ones(8,1),x1,x2; b,bint,r,rint,s=regress(y,X); b,bint,s rcoplo
3、t(r,rint) 得到如下结果: b = 83.2116 1.2985 2.3372 bint = 78.8058 87.6174 0.4007 2.1962 1.4860 3.1883 s = 0.9089 24.9408 0.0025 0.4897 整理成表格如下: 回归系数 回归系数估计值 回归系数置信区间 0 83.2116 78.8058 87.6174 1 1.2985 0.4007 2.1962 2 2.3372 1.4860 3.1883 R2=0.9089 , F=24.9408 , p=0.0025 , s2=0.4897 在残差及置信区间的图中,第一个点的残差的置信区间
4、不包含零点,以红色标出。残差 应该服从均值为 0 的正态分布,可以认为这个数据是异常的,偏离了数据整体的变化趋势, 给模型的有效性的精度带来不利影响,应予以剔除。 2.3 剔除点后重新计算 删除第一个点后重新计算,将输出结果同样以表格表示。 回归系数 回归系数估计值 回归系数置信区间 0 81.4881 78.7878 84.1883 1 1.2877 0.7964 1.7790 2 2.9766 2.3281 3.6250 R2=0.9768 , F=84.3842 , 0.0005 , s2=0.1257 剔除第一个异常点后, R2=0.97685,相比之前有了增加,拟合的线性性有了提高;
5、相比 之前的模型, p 值也有了明显的减少,远小于显著性水平 ,这表示置信概率大大提高了; s2 也有了减小,说明了偏差减小。 综合以上几点,说明这个二元线性的模型比较合理,回归效果很好。 拟合公式为 y=81.4881+1.2877x1+2.9766x2 2.4 小结 本题是个较为直观的线性回归题,在它的计算中出现了 异常点。剔除后计算可以得到一 个回归效果相当好的模型。 【题目 8】 汽车销售商认为汽车销售量与汽油价格、贷款利率有关,两种类型汽车(普通型和豪华 型) 18 个月的调查资料如表,其中 y1是普通型汽车售量(千辆), y2是豪华型汽车售量(千 辆), x1是汽油价格(元 /ga
6、l), x2是贷款利率( %) ( 1)对普通型和豪华型汽车分别建立如下模型: y1 = 0(1) + 1(1)x1 + 2(1)x2, y2 = 0(2) + 1(2)x1 + 2(2)x2 给出 的估计值和置信区间,决定系数 R2,F值及剩余方差等。 ( 2)用 x3 = 0,1表示汽车类型,建立统一模型 y = 0 + 1x1 + 2x2 +3x3 ,给出给出 的 估计值和置信区间,决定系数 R2,F值及剩余方差等。以 x3 = 0,1带入统一模型,将结果与( 1) 的两个模型的结果比较,解释二者的区别。 ( 3)对统一模型就每种类型汽车分别作 x1和 x2与残差的散点图,有什么现象,说
7、明模型有 何缺陷? ( 4)对统一模型 增加二次项和交互相,考察结果有什么改进。 8.1 根据模型分别求解 由题意,对普通型 和豪华型 汽车分别建立如下模型: y1 = 0(1) + 1(1)x1 + 2(1)x2, y2 = 0(2) + 1(2)x1 + 2(2)x2 此为二元线性回归,可用 matlab 编写程序如下: y1=22.1,15.4,11.7,10.3,11.4,7.5,13.0,12.8,14.6,18.9,19.3,30.1,28.2,2 5.6,37.5,36.1,39.8,44.3; y2=7.2,5.4,7.6,2.5,2.4,1.7,4.3,3.7,3.9,7.0
8、,6.8,10.1,9.4,7.9,14.1,14. 5,14.9,15.6; x1=1.89,1.94,1.95,1.82,1.85,1.78,1.76,1.76,1.75,1.74,1.70,1.70,1.68, 1.60,1.61,1.64,1.67,1.68; x2=6.1,6.2,6.3,8.2,9.8,10.3,10.5,8.7,7.4,6.9,5.2,4.9,4.3,3.7,3.6,3.1 ,1.8,2.3; n=18;m=2; X=ones(n,1),x1,x2; b1,bint1,r1,rint1,s1=regress(y1,X); b2,bint2,r2,rint2,s2=
9、regress(y2,X); subplot(2,1,1) rcoplot(r1,rint1) subplot(2,1,2) rcoplot(r2,rint2) 得到如下图: 在残差及置信区间的图中, 有三个点的残差的 置信区间不包含零点,以红色标出。残差 应该服从均值为 0 的正态分布,可以认为这个数据是异常的,偏离了数据整体的变化趋势, 给模型的有效性的精度带来不利影响,应予以剔除。 8.2 剔除点后的模型求解 ( 1)对于 y1 = 0(1) + 1(1)x1 + 2(1)x2 剔除第 14、 18 个点后 继续自此基础上剔除第 11 个点 ( 2)对于 y2 = 0(2) + 1(2)
10、x1 + 2(2)x2 剔除第 14 个点后 继续剔除第七个点,得到残差及置信区间图如下: 将输出结果汇总成下表: 普通型 回归系数 回归系数估值 回归系数置信区间 0(1) 107.5601 75.3160 139.8042 1(1) -37.9283 -57.2842 -18.5723 2(1) -3.0314 -3.7862 -2.2767 R2=0.9334 F=84.0758 p0.0001 s2=9.2746 豪华型 回归系 数 回归系数估值 回归系数置信区间 0(2) 29.7583 16.2864 43.2303 1(2) -6.7738 -14.9774 1.4299 2(2
11、) -1.6367 -1.9680 -1.3054 R2=0.9450 F=103.1152 p0.0001 s2=1.5413 可得模型如下: 普通型: y=107.5601-37.9283x1-3.0314x2 豪华型: y=29.7583-6.7738x1-1.6367x2 8.3 建立统一模型 建立统一模型 y = 0 + 1x1 + 2x2 +3x3 ,用 x3 = 0表示普通型, x3 = 1表示豪华型, 此时为三元线性回归,可用 matlab 编写程序如下: y=22.1,15.4,11.7,10.3,11.4,7.5,13.0,12.8,14.6,18.9,19.3,30.1,
12、28.2,25 .6,37.5,36.1,39.8,44.3,7.2,5.4,7.6,2.5,2.4,1.7,4.3,3.7,3.9,7.0,6.8,10 .1,9.4,7.9,14.1,14.5,14.9,15.6; x1=1.89,1.94,1.95,1.82,1.85,1.78,1.76,1.76,1.75,1.74,1.70,1.70,1.68, 1.60,1.61,1.64,1.67,1.68,1.89,1.94,1.95,1.82,1.85,1.78,1.76,1.76,1.75 ,1.74,1.70,1.70,1.68,1.60,1.61,1.64,1.67,1.68; x2=6
13、.1,6.2,6.3,8.2,9.8,10.3,10.5,8.7,7.4,6.9,5.2,4.9,4.3,3.7,3.6,3.1 ,1.8,2.3,6.1,6.2,6.3,8.2,9.8,10.3,10.5,8.7,7.4,6.9,5.2,4.9,4.3,3.7,3. 6,3.1,1.8,2.3; x3=zeros(1,18),ones(1,18); n=36; m=3; X=ones(n,1),x1,x2,x3; b,bint,r,rint,s=regress(y,X); b,bint,s rcoplot(r,rint) 输出如下结果: b = 64.5753 -16.1436 -2.332
14、2 -14.4222 bint = 33.5007 95.6499 -35.1193 2.8320 -3.0705 -1.5939 -17.6546 -11.1898 s = 0.8366 54.6111 0.0000 22.6642 回归系数 回归系数估值 回归系数置信区间 0 64.5753 33.5007 95.6499 1 -16.1436 -35.1193 2.8320 2 -2.3322 -3.0705 -1.5939 3 -14.4222 -17.6546 -11.1898 R2 = 0.8366 F = 54.6111 p 0.0001 s2 = 22.6642 可得模型为:
15、y = 64.5753 16.1436 2.3322x2 14.4222x3, x3 = 0表示普通型, x3 = 1表示豪华型 。即: 普通型: y = 64.5753 16.1436 2.3322x2 豪华型: y = 50.1531 16.1436 2.3322x2 可以看出:统一模型相当于将分立模型进行了统一: (1)统一模型的值趋近于给分立模型的“平均”; (2)统一模型的残差较大; (3)统一模型的决定系数较小; (4)统一模型的拒绝概率较小,到达了 10 的 -12 次方量级,说明模型更加有效; 总体上讲,将两者统一后进行回归分析的结果有其优点,但是仍有许多不理想的成分。 8.4
16、 就每种类型汽车分别作 x1和 x2与残差的散点图 y=22.1,15.4,11.7,10.3,11.4,7.5,13.0,12.8,14.6,18.9,19.3,30.1,28.2,25 .6,37.5,36.1,39.8,44.3,7.2,5.4,7.6,2.5,2.4,1.7,4.3,3.7,3.9,7.0,6.8,10 .1,9.4,7.9,14.1,14.5,14.9,15.6; x1=1.89,1.94,1.95,1.82,1.85,1.78,1.76,1.76,1.75,1.74,1.70,1.70,1.68, 1.60,1.61,1.64,1.67,1.68,1.89,1.94
17、,1.95,1.82,1.85,1.78,1.76,1.76,1.75 ,1.74,1.70,1.70,1.68,1.60,1.61,1.64,1.67,1.68; x2=6.1,6.2,6.3,8.2,9.8,10.3,10.5,8.7,7.4,6.9,5.2,4.9,4.3,3.7,3.6,3.1 ,1.8,2.3,6.1,6.2,6.3,8.2,9.8,10.3,10.5,8.7,7.4,6.9,5.2,4.9,4.3,3.7,3. 6,3.1,1.8,2.3; x3=zeros(1,18),ones(1,18); n=36; m=3; X=ones(n,1),x1,x2,x3; b,b
18、int,r,rint,s=regress(y,X); x11=x1(:,1:18); x22=x2(:,1:18); r1=r(1:18,:); r2=r(19:36,:); subplot(2,2,1) plot(x11,r1,r+) title(x1) subplot(2,2,2) plot(x22,r1,r+) title(x2) subplot(2,2,3) plot(x11,r2,r+) title(x1) subplot(2,2,4) plot(x22,r2,r+) title(x2) 得到如下图形 对比以上各图,发现针对同一变量( x1或 x2),两种类型汽车所得的残差变化趋势不
19、一 致,说明 x1、 x2与 x3有交互作用,即模型的缺 陷是缺少二次项和交互项。 8.5 对统一模型增加二次项和交互相进行回归 (1)增加交互项,改用模型: y = 0 + 1x1 +2x2 + 3x3 + 4x1x2 +5x2x3 + 6x3x1 进行回归分析 x1=1.89,1.94,1.95,1.82,1.85,1.78,1.76,1.76,1.75,1.74,1.70,1.70,1.68, 1.60,1.61,1.64,1.67,1.68; x2=6.1,6.2,6.3,8.2,9.8,10.3,10.5,8.7,7.4,6.9,5.2,4.9,4.3,3.7,3.6,3.1 ,1.
20、8,2.3; x3 = zeros(1,length(x1),ones(1,length(x2); x1 = x1,x1; x2 = x2,x2; x1x2 = x1.*x2; x1x3 = x1.*x3; x2x3 = x2.*x3; x12 = x1.*x1; x22 = x2.*x2; y1=22.1,15.4,11.7,10.3,11.4,7.5,13,12.8,14.6,18.9,19.3,30.1,28.2,25. 6,37.5,36.1,39.8,44.3; y2=7.2,5.4,7.6,2.5,2.4,1.7,4.3,3.7,3.9,7.0,6.8,10.1,9.4,7.9,1
21、4.1,14. 5,14.9,15.6; X=ones(length(x1),1),x1,x2,x3,x1x2,x2x3,x1x3; Y = y1,y2; b,bint,r,rint,s=regress(Y,X); b,bint,s 得到如下结果: b = 141.1004 -57.4368 -12.5875 -65.6343 5.3855 1.7923 23.0304 bint = 39.5625 242.6383 -117.0970 2.2235 -30.2968 5.1218 -111.3383 -19.9303 -4.7953 15.5663 0.7050 2.8796 -4.9166
22、 50.9774 s = 0.9203 55.8474 0.0000 12.1906 发现 R2、 F 和 s2 都有所改善,模型有效的概率也有所提高,但是 x1, x2 的置信区间都 包含 0,这应当是由于引入交互项 x1x3 和 x2x3 导致的。 ( 2)增加二次项 改用模型: y = 0 + 1x1 + 2x2 + 3x3 +4x12 + 5x22 这里不增加 x32 是因为它和 x3 一样。 将程序改为 X=ones(length(x1),1),x1,x2,x3,x12,x22; 得到如下结果: b = -140.9671 217.3994 -6.0022 -14.4222 -62.
23、6018 0.2625 bint = -741.4504 459.5163 -456.1560 890.9548 -9.4626 -2.5418 -17.5142 -11.3302 -249.9892 124.7856 0.0062 0.5187 s = 0.8606 37.0286 0.0000 20.6300 发现 x1*x1 的置信区间仍包含 0 点。 ( 3)综合 综合以上分析,建立如下模型: y = 0 + 1x1 +2x2 + 3x3 + 4x1x3 +5x2x3 + 6x22 将程序改为 X=ones(length(x1),1),x1,x2,x3,x1x2,x2x3,x22; 输
24、出结果如下: b = 25.2153 17.5089 -0.3020 -28.2975 -4.2510 2.2850 0.3184 bint = -88.5161 138.9467 -51.9356 86.9533 -18.8161 18.2121 -33.8287 -22.7662 -15.7990 7.2971 1.4487 3.1214 0.0956 0.5412 s = 0.9324 66.7185 0.0000 10.3384 拒绝模型的概率达到 10 的 -15 次方。 模型如下: y = 25.2153+ 17.5089x1 0.3020 x2 28.2975x3 4.2510 x1x3 + 2.2850 x2x3 + 0.3184x22 【 实验总结 】 这是本学期数学实验 的最后一 次作业 ,总体来说比较顺利。这部分内容 综合了之前学习 过的优化以及统计推断的内容,是综合性较强的一部分,很好地帮助 我复习了 以前学习过的 内容。 收获简要总结如下: 1、学习了 回归分析相关知识,包括一元线性回归、多元线性回归 以及非线性回归 ; 2、 了解了残差分析、交互作用等内容 ; 3、学习了使用 MATLAB 进行 回归分析的方法 ;