实验3 多元线性回归模型
一、实验名称:多元线性回归模型.
二、实验目的:掌握多元线性回归模型的建模方法,并会利用Matlab 作统计分析与检验. 三、实验题目:设某公司生产的商品在市场的销售价格为1x (元/件)、用于商品的广告费用为2x (万元)、销售量为y (万件)的连续12个月的统计数据如表.
月份 销售价格1x
广告费用2x
销售量y 1
100 5.50 55 2 90 6.30 70 3 80 7.20 90 4 70 7.00 100 5 70 6.30 90 6 70 7.35 105 7 70 5.60 80 8 65 7.15 110 9 60 7.50 125 10 60 6.90 115 11 55 7.15 130 12
50
6.50
130
四、实验要求:
1、建立销售量y 关于销售价格1x 和广告费用2x 的多元线性回归模型.
1、绘制散点图,可以直观地看出y 与x1,x2分别呈线性关系,所以采用多元线性回归模型:y=β0+β1*x1+β2*x2+ε 源程序: clear
x1=[100;90;80;70;70;70;70;65;60;60;55;50];
x2=[5.50;6.30;7.20;7.00;6.30;7.35;5.60;7.15;7.50;6.90;7.15;6.50]; y=[55;70;90;100;90;105;80;110;125;115;130;130]; X=[ones(size(x1)),x1,x2]; [b,bint,r,rint,stat]=regress(y,X) figure(1)
plot(x1,y,'k+',x2,y,'k*') axis([0,100,50,150])
title ('销售量y 关于销售价格x1和广告费用x2的多元线性回归模型') xlabel ('费用'),ylabel ('销售量')
legend ('+ 销售价格(元)','*广告费用(万元)') figure(2),rcoplot(r,rint) 调试结果:b =
116.1568
-1.3079
11.2459
bint =
60.4045 171.9090
-1.6005 -1.0152
4.9472 17.5446
r =
7.7782
0.7027
-2.4973
-3.3269
-5.4548
-2.2630
-7.5826
-1.5532
2.9714
-0.2811
5.3681
6.1385
rint =
2.0370 1
3.5194
-10.1081 11.5136
-13.0085 8.0138
-14.9338 8.2799
-16.3810 5.4714
-13.3901 8.8641
-14.9658 -0.1995
-13.2859 10.1796
-7.9467 13.8894
-12.0498 11.4877
-5.1699 15.9060
-2.3733 14.6504
stat = 0.9606 109.5892 0.0000 27.6100
有图像分析可知:第一个样本点和第七个样本点出现偏差,则剔除这两个点,重新编程:clear
x1=[100;90;80;70;70;70;70;65;60;60;55;50];
x2=[5.50;6.30;7.20;7.00;6.30;7.35;5.60;7.15;7.50;6.90;7.15;6.50];
y=[55;70;90;100;90;105;80;110;125;115;130;130];
x1(1)=[];x2(1)=[];y(1)=[];
x1(7)=[];x2(7)=[];y(7)=[];
X=[ones(10,1),x1,x2];
[b,bint,r,rint,stat]=regress(y,X)
figure(1)
plot(x1,y,'k+',x2,y,'k*')
axis([0,100,50,150])
title('销售量y关于销售价格x1和广告费用x2的多元线性回归模型')
xlabel('费用'),ylabel('销售量')
legend('+ 销售价格(元)','*广告费用(万元)')
figure(2),rcoplot(r,rint)
调试结果:
b =109.8882
-1.4831
13.8233
bint = 65.4833 154.2930
-1.7529 -1.2133
8.4229 19.2237
stat =0.9730 125.9368 0.0000 15.6544
根据下图图像分析,第一个样本数据还是异点数据,多次调试,重新编程:clear
x1=[100;90;80;70;70;70;70;65;60;60;55;50];
x2=[5.50;6.30;7.20;7.00;6.30;7.35;5.60;7.15;7.50;6.90;7.15;6.50];
y=[55;70;90;100;90;105;80;110;125;115;130;130];
x1(5)=[];x2(5)=[];y(5)=[];
x1(7)=[];x2(7)=[];y(7)=[];
X=[ones(10,1),x1,x2];
[b,bint,r,rint,stat]=regress(y,X)
figure(1)
plot(x1,y,'k+',x2,y,'k*')
axis([0,100,50,150])
title('销售量y关于销售价格x1和广告费用x2的多元线性回归模型') xlabel('费用'),ylabel('销售量')
legend('+ 销售价格(元)','*广告费用(万元)')
figure(2),rcoplot(r,rint)
调试结果:
b =111.1561
-1.4816
13.5915
bint =70.1011 152.2112
-1.7329 -1.2303
8.6470 18.5359
stat = 0.9721 139.1705 0.0000 14.2868
2、2、设第13个月将该商品的销售价格定为80元/件,广告费用为7万元,预计该商品的销售量将是多少?并对其作统计上的误差分析.
答:已知:x1=80,x2=7代入多元线性回归模型:
y=β0+β1*x1+β2*x2+ε
其中由上一小题得出:β0=111.1561,β1=-1.4816,β2=13.5915。
所以:y=111.1561-80*1.4816+13.5915*7= 87.7686(万件)
由上一小题得出:stat = 0.9721 139.1705 0.0000 14.2868
发现:F=139.1705较大,p=0.0000,远小于0.05,所以说明回归模型是显著;
由:bint =[70.1011 152.2112] [-1.7329 -1.2303] [8.6470 18.5359]回归系数的置信区间都不包含0,说明回归模型的自变量和截距两项对因变量的影响显著。
决定系数为0.9721接近1,说明回归模型的拟合精度较高。
3、利用Matlab画出回归曲线的图形.
源程序:
clear
x1=[100;90;80;70;70;70;70;65;60;60;55;50];
x2=[5.50;6.30;7.20;7.00;6.30;7.35;5.60;7.15;7.50;6.90;7.15;6.50];
y=111.1561-1.4816*x1+13.5915*x2;
plot(y,'r--')
title('销售量y回归曲线图形')
ylabel('销售量(万件)')
legend('销售量(万件)')
调试结果:。