实习三 回归分析
一、实验目的
掌握MATLAB回归分析的方法与计算步骤。 二、实例
1.近10年来,某市社会商品零售总额与职工工资总额(单位:亿元)数据如下表3.1。
工资总额 零售总额
23.8 27.6 31.6 32.4 33.7 34.9 43.2 52.8
63.8
73.4
41.4 51.8 61.7 67.9 68.7 77.5 95.9 137.4 155.0 175.0
建立社会商品零售总额与职工工资总额数据的回归模型. clear
x=[23.80,27.60,31.60,32.40,33.70,34.90,43.20,52.80,63.80,73.40]; y=[41.4,51.8,61.70,67.90,68.70,77.50,95.90,137.40,155.0,175.0]; % 然后作散点图
plot(x,y,'*') %作散点图 xlabel('x(职工工资总额)') %横坐标名 ylabel('y(商品零售总额)') %纵坐标名 % 计算最佳参数
Lxx=sum((x-mean(x)).^2);
Lxy=sum((x-mean(x)).* (y-mean(y))); b1=Lxy/Lxx
b0=mean(y)-b1*mean(x)
%给出例3.1.1解法的另一程序。
%p=polyfit(x,y,1) %注意取n=1
2.为了分析X射线的杀菌作用,用200千伏的X射线来照射细菌,每次照射6分钟用平板计数法估计尚存活的细菌数,照射次数记为t,照射后的细菌数y如表3.2所示。 t y
1
2
3
4
5
6
7
8
9 56
10 38
11 36
12 32
13 21
14 19
15 15
352 211 197
160 142 106
104 60
数据来源:http//www.ilr.cornell.edu/~hadi/RABE 试求:① 给出y与t的二次函数回归模型;
② 在同一坐标系内做出原始数据与拟合结果的散点图 ③ 预测t=16时残留的细菌数;
④ 根据问题实际意义选择多项式函数是否合适? clear
% 输入原始数据 t=1:15;
y=[352,211,197,160,142,106,104,60,56,38,36,32,21,19,15]; % 作二次多项式回归 p=polyfit(t,y,2); % 模型估计与作图 y1= polyval(p,t); plot(t,y,'-*',t,y1,'-o');
legend('原始数据','二次函数') xlabel('t(照射次数)') ylabel('y(残留细菌数)')
% 预测t0=16时残留的细菌数 t0=16;
yc1= polyconf(p,t0)
yc1 = 39.0396 polytool(t,y,2)
3.炼钢厂出钢时所用盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大,我们
希望找出使用次数与增大容积之间的函数关系.实验数据如表3.3。 使用次数(x) 2 增大容积(y) 6.42 使用次数(x) 10 增大容积(y) 10.49 3 8.2 11 10.59 4 9.58 12 10.6 5 9.5 13 10.8 6 9.7 14 10.6 7 10 15 10.9 8 9.93 16 10.76 9 9.99 (1)建立非线性回归模型1/y=a+b/x;
(2)预测钢包使用x0=17次后增大的容积y0; (3)计算回归模型参数的95%的置信区间。 clear x=[2:16];
y=[6.42,8.2,9.58,9.5,9.7,10,9.93,9.99,10.49,10.59,10.6,10.8,10.6,10.9,10.76]; %画散点图以确定选用图2-4曲线拟合
%plot(x,y) %从图形看建立非线性双曲线回归模型 b0=[0.084,0.1436]; % 初始参数值 fun=inline('x./(b(1)*x+b(2))','b','x'); [beta,r,J]=nlinfit(x,y,fun,b0);
beta % 输出最佳参数 y1=x./(0.0845*x+0.1152); % 拟合曲线 % figur(2)
plot(x,y,'*',x,y1,'-or')
legend('原始数据','拟合曲线') %求a,b值
%[a,b]=solve('6.42*(2*a+b)=2','10.76*(16*a+b)=16')
%预测钢包使用17次后增大的容积,可在执行上面的程序中,继续输入命令 %ypred=nlpredci(fun,17,beta,r,J)
%求回归模型参数的95%的置信区间,只要继续添加程序 %ci = nlparci(beta,r,J)
4.某销售公司将库存占用资金情况、广告投入的费用、员工薪酬以及销售额等方面的数据作了汇总见表3.4。该公司试图根据这些数据找到销售额与其他变量之间的关系,以便进行销售额预测并为工作决策提供参考依据。(1)建立销售额的回归模型;(2)如果未来某月库存资金额为150万元,广告投入预算为45万元,员工薪酬总额为27万元,试根据建立的回
归模型预测该月的销售额。
月份 库存资金额(x1) 广告投入(x2) 1 75.2 30.6 2 77.6 31.3 3 80.7 33.9 4 76 29.6 5 79.5 32.5 6 81.8 27.9 7 98.3 24.8 8 67.7 23.6 9 74 33.9 10 151 27.7 11 90.8 45.5 12 102.3 42.6 13 115.6 40 14 125 45.8 15 137.8 51.7 16 175.6 67.2 17 155.2 65 18 174.3 65.4 clear
A=[75.2 30.6 21.1 1090.4 77.6 31.3 21.4 1133 80.7 33.9 22.9 1242.1 76 29.6 21.4 1003.2 79.5 32.5 21.5 1283.2 81.8 27.9 21.7 1012.2 98.3 24.8 21.5 1098.8 67.7 23.6 21 826.3 74 33.9 22.4 1003.3 151 27.7 24.7 1554.6 90.8 45.5 23.2 1199 102.3 42.6 24.3 1483.1 115.6 40 23.1 1407.1 125 45.8 29.1 1551.3 137.8 51.7 24.6 1601.2 175.6 67.2 27.5 2311.7 155.2 65 26.5 2126.7 174.3 65.4 26.8 2256.5]; [m,n]=size(A);
subplot(3,1,1),plot(A(:,1),A(:,4),'+'), xlabel('x1(库存资金额)') ylabel('y(销售额)')
subplot(3,1,2),plot(A(:,2),A(:,4),'*'), xlabel('x2(广告投入)') ylabel('y(销售额)')
subplot(3,1,3),plot(A(:,3),A(:,4),'x'), xlabel('x3(员工薪酬)')
员工薪酬总额(x3) 销售额(y) 21.1 1090.4 21.4 1133 22.9 1242.1 21.4 1003.2 21.5 1283.2 21.7 1012.2 21.5 1098.8 21 826.3 22.4 1003.3 24.7 1554.6 23.2 1199 24.3 1483.1 23.1 1407.1 29.1 1551.3 24.6 1601.2 27.5 2311.7 26.5 2126.7 26.8 2256.5