数学实验12回归分析.docx
《数学实验12回归分析.docx》由会员分享,可在线阅读,更多相关《数学实验12回归分析.docx(23页珍藏版)》请在冰豆网上搜索。
数学实验12回归分析
实验12:
回归分析
习题7:
在有氧锻炼中人的耗氧能力y(ml/(min•kg))是衡量身体状况的重要指标,它可能与以下因素有关:
年龄x1,体重x2(kg),1500m跑的时间x3(min),静止时心跳速度x4(次/min),跑步后心速x5(次/min)对24名40至57岁的志愿者进行了测试,结果如下表(节选),试建立耗氧能力y与诸因素的之间的回归模型。
序号
1
2
3
4
21
22
23
24
Y
…
X1
44
40
44
42
57
54
52
50
X2
…
X3
…
X4
62
62
45
40
58
62
48
48
X5
178
185
156
166
174
156
164
146
(1)若x1~x5中只许选择1个变量,最好的模型是什么
(2)若x1~x5中只许选择2个变量,最好的模型是什么
(3)若不限制变量的个数,最好的模型是什么
(4)对最终模型观察残查,有无异常点,若有,剔除后如何
模型建立
本题不同小问需要建立不同模型,由于专业知识所限,并且提供的数据较少,难以做出精确符合现实情况的模型,因此这里采用最简单的线性回归法进行拟和,模型基本形式如下:
y01x1Lmxmjkxjxk
1j,km
事实上,中的项(高次项和交互项)对于本题目来讲意义不大,因为所给定的5个自变量
和因变量之间关系比较模糊,几个变量彼此之间的联系也很难说清,因此用自变量的一次线性拟和就足以适应本题的要求。
但作为练习,还是将每种回归方法都使用到了,可以用于参考。
具体采用的各个模型将在下面单独说明,这里不再重复。
程序设计由于本题需要建立多组模型,并且要在不断的调试中发现最合理的,很多命令都要在这个过程中不断使用,这里仅仅给出使用的最基本的命令。
数据
clear
A=[・・]・;%数据矩阵,略
n=24;
y=A(2,:
);%提取各个数据
x1=A(3,:
);x2=A(4,:
);x3=A(5,:
);x4=A(6,:
);x5=A(7,:
);
绘制散点图(大致判断影响情况)
fori=1:
5
subplot(2,3,i),plot(A(i+2,:
),y,'+'),grid
pause
end
pause
单参数回归(第一问)
X=[ones(n,1),x4'];
[b,bint,r,rint,s]=regress(y',X);
b,bint,s,
rcoplot(r,rint)
%这里检验的是自变量x4,实际操作时要分别检验x1~x5
%回归分析程序(=)
%输出回归系数估计值、置信区间、以及统计量
%残差图
Polytool(x3',y',2)
双参数回归(第二问):
%检验一元多项式回归的结果,输岀交互式画面用逐步回归法找岀最合理的两个变量
X5=[x1',x2',x3',x4',x5'];
stepwise(X5,y');
%利用输岀的交互式画面,可以选岀最佳的两个变量
XX=[x3',x1'];rstool(XX,y','linear')全部参数回归(第三问)
%当得到了最佳的两个变量后(这里假设是x3\x1)
%检验二元情况下的交互项和高次项
X5=[x1',x2',x3',x4',x5'];
stepwise(X5,y')
%仍然用逐步回归法找岀最合理的组合方式
第五问要求对残差进行分析,并且剔除异常点,可以在该问得到最终模型后,采用
regress得到的残差值和置信区间并根据其绘制残差图,然后再进行剔除操作重新检验。
运行结果及分析
散点图
散点图
从左上到右下的顺序为x1~x5.可以由点的分布大致看岀,除了x3自变量呈现比较明显
的负相关趋势以外,对于其他的各个自变量都难以直接观测岀其对于因变量的影响。
根据这种结
果,可以假设自变量x3(1500m跑后心速)最直接的与锻炼耗氧能力相关,下面通过对各个自变量
的单参数回归进行检验。
单参数回归
被检对象
30
31
3置信区间
RA2
F
P
sA2
X1
■
X2
■
X3
0
X4
X5
由单参数回归的结果可以证明X3(1500m跑后心速)可以最好的反映岀y(锻炼耗氧能力)的情
况。
由31置信区间可以看岀,x1、x2包含0在内,即y可能与该参数无关,所以不选择,并且
2
两者的p值已经明显的大于=,则不考虑x1、x2。
比较x3~x5后发现,x3的R-决定系数明显
的大于x4、x5的,决定系数反映的是在因变量的总变化中自变量引起的那部分的比例,R2大说
明x3自变量对因变量起的决定作用最大。
并且x3的p和sA2值也都比较小,所以最终确定x3
可以最好的反映岀y的情况。
用Polytool检验含x3高次(2次)项的情况,参量Export如下表:
30
31
32
回归系数估计值
置信区间下限
置信区间上限
Degree
65
60
40
35
30
55.5
66.5
77.5
88.5
5.3092
Export...
Close
田的置信区间
XValues
可以同之前的仅含一次项的结果进行比较,发现各个参量的置信区间都很宽,且过0。
可以认为二次项的引入是不重要的。
因此采用如下单参数模型描述y是最准确地:
y03X3其中:
083.4438,3-5.6682
双参数回归:
用stepwise作逐步回归,部分过程和最终结果如下图:
・n
«
4
rA*r
卜
-0.186963-1.57570.1300
0.01670450.18100.8581
-5.66821-8.06820.0000
0.01928460.19820.8448
-0.0581096-0.80730.4286
-6-4-20
CoefficientswithErrorBarsCoefft-statp_val
X1
X2
X3
X4
X5
Intercept-534430R-square=0.747405F-65.0959
RMSE-296S51AcjR-sq-072^412p-5125玛eUDB
6
ModelHistory
9^
L
4
-
■
2
r
r
1
2
只取x3自变量的回归结果
Coeff.t-statp-val
CoefficientswithErrorBars
X1
X2
X3
X4
X5
-0.32544-2.52740.0200
0.02452580.26210.7959
-5.38944-6.84050.0000
0.02619620.26600.7930
-0.0581096-0.80730.4286
Nextstep
MoveXIin
Irrtertept91.5124
R-squSre=0.755008
F=32.3SBS
RMSE=2-98827
AC^R-sqm0.720009
p=3.S55S6e-00?
-6-4-2
0
取x3和x5自变量的回归结果
1
1
-•
-0.186963-1.57570.1300
卜'
-0.0122827-0.13430.8945
L_m
-546711-7902000000
一
h-
-0.0242622-0.24670.8077
■
-0.156086-2.08090.0505
-6
-4
-2
0
X1
X2
X3
X4
X5
Herrept=90.6529
RMSE-287035
R-tt|uares0.77^112対R-sq=0741843
F-35.9833p■164398-007
ModelHistory
6
■
1~
!
~
4-
■
2!
1
t
t
取x3和x1自变量的回归结果
根据题目要求,最终得到取双参量时的最佳结果(RMSE参量最小)是取x3(1500m跑后心速)
和x1(年龄)自变量。
但事实上,实际的逐步回归过程在此时并没有结束,最终的最优结果是
只取x3参量。
这说明取x3、x1参量同只取x3相比优势并不明显。
通过rstool命令检验二元情况下的交互项和高次项情况,下图是linear情况下固定单参数进
行预测的结果:
LriearV
55
50
內嗣⑷Y1钉柠5
45
40
35
«.31Q4耶旬斎
项对应的系数
常数项
X3
X1
X3A2
X1A2
X3*X1
RMSE
Linear
Purequadratic
Interaction
Quadratic
可以看到高次项和相关项的系数都非常小,说明其对于y的影响不大。
根据rmse的结果进行比
较,仍然选择linear回归方式,即只用二元自变量的一次项。
yo1X13X3其中:
o90.8529,i=-0.1870,3-5.4671
全参数回归
根据以上的分析可以验证模型建立时的猜想,本题中5个字变量和y的关系都不是很直接
的,除x3外其他变量的影响很小,所以在最终完整模型中,不再考虑高次项和交互项的影响,一方面简化模型,一方面大大节省的筛选的时间。
所以采用stepwise命令,仅对五元变量x1~x5的一次项进行回归分析,结果如下:
—•
Hi
♦
.r1j!
*rrv
■・
-0.32544-2.52740.0200
-0.0130877-0.15390.8793
-4.56936-5.90260.0000
-0.0383586-0.41930.6797
-0.156086-2.08090.0505
CoefficientswithErrorBars
Coeff.t-statp-val
X1
X2
X3
X4
X5
-6-5-4-3-2-10
lnterrapt-HB.013
f?
-squaro-Q,314315
F-29.2364
AdjF?
-sq=0.7771
p-1制器
Export参数结果:
3
置信区间
Coeff.
se
t-stat
p-val
X1
X2
0
00
X3
0
X4
0
00
X5
RA2=
F=
RMSE=
P=*e-7
最终取以下三个参数得到最佳回归结果:
x3(1500m跑后心速)、x1(年龄)以及x5(跑步
后心速)。
但仍需要进行一般回归分析(regress)确定常数项并观察残差,结果如下:
ResidualCaseOrderPlot
10
8
6
4
2
0
-2
-4
-6
-8
5
10
15
20
CaseNumber
残差图(全部点)
可以看到10和15号数据异常,剔除,再次观察残差,结果如下
ResidualCaseOrderPlot
6
4
2
0
-2
-4
-6
2
46810121416182022
CaseNumber
残差图(剔除10,15号点)
4次剔除,
可以看到4号数据变为异常,再次剔除,结果仍然有异常点。
过程从略,最终经过去掉5个点(4,10,15,17,23)以后,得到没有异常点的模型:
ResidualCaseOrderPlot
4
3
2
1
0
-1
-2
-3
-4
246
8
101214
1618
CaseNumber
去掉所有异常点之后的结果
最终得到的结果整体上优越于剔除异常点之前的结果(不再粘贴结果)。
但是事实上,由于数据
点经过剔除不断的结果,模型最终的形式和实际统计到的24组数据的整体情况偏离越来越大,
也就是说:
剔除异常点虽然能够一应程度上降低其对于整体情况的干扰作用,而剔除的过程也放
大了其他原本正常数据点的异常性,所以异常点可能会不断产生,但是剔除的数量增加即采样数
据的减少也会削弱模型反省整体性能的能力。
是一对矛盾,在数据点较少的时候尤其明显。
比较
科学的做法是:
只进行1次或少次剔除,保证整体性,又去掉了最主要的异常点。
这里的最终结果采用剔除最初两个异常点(10,15号)后的结果,在此也附上完整数据(剔
除之前)的结果,作为第3问的答案:
完整数据(第三题结果):
回归参数
取值
置信区间
3
31
33
35
RA2
F
P
sA2
y01X13X35X5
其中:
0118.0135,1=-0.3254,3
-4.5694,5
0.1561
一次剔除(最终结果):
回归参数
取值
置信区间
3
31
33
35
RA2
F
P
sA2
y01X13X35X5
其中:
0119.4955,1=-0.03623,3-4.0411,50.1774
1500m跑后心速、年龄以及跑步后心速三个参数最能够反映锻炼耗氧量这个重要的身体状态指
标。
三种心跳速度越快,说明耗氧量越大;速度越慢,即时间越长,说明耗氧量越小。
习题11:
一个医药公司的新药研究部门为了掌握一种新型止痛剂的疗效,设计了一个
药物试验,给24名患有同种痛病的病人使用这种新止痛剂的以下4个剂量中的
某一:
2、5、7、10,(g),并记录每个病人病痛明显减轻的时间(min)•为了了解新药的疗效与病人性别和血压有什么关系,试验过程中研究人员把柄热男性别集血压的低中高3档平均分配来进行测试。
通过比较每个病人血压的历史数据从低到高分成3组,分别记作,,。
实验结束后,公司的记录结果见表格(略).
请为公司建立一个模型,根据病人用药的计量、性别和血压组别,预测出服药后病痛明显减轻的时间。
病人序号
病痛减轻时间
用药剂量
性别
血压组别
1
35
2
0
2
43
2
0
3
55
2
0
4
47
2
1
21
3
10
0
22
27
10
1
23
26
10
1
24
5
10
1
1.模型建立
本题共提供了三种不同的自变量,设为性别-X1,血压-X2和用药计量-x3o建立回归模型时,
应该充分考虑各个自变量对于因变量的多种影响方式,这里可能涉及到高次项和交互项。
因此应
该在实验过程中将所有可能的因素列于其中,分别检验,最终得到最佳的回归模型。
基本公式如
下:
y0必LmXmjkXjXk
1j,km
2.程序设计
数据
clc,clear
x1=[000111000111000111000111];
x2=[];
x3=[222222555555777777101010101010];
y=[354355474357262728292229191114232022138327265];
用逐步回归法检验所有的一次、二次和交互项
XX=[x1',x2',x3',x2'A2,x3'A2,(x1.*x2)',(x2.*x3)',(x3.*x1)']
%注意,由于性别x1是0-1变量,所以齐高次项没有任何意义,才此舍去
stepwise(XX,y');
根据逐步回归得到的最优模型,进行regress回归检验,并绘制残差图
XF=[ones(24,1),x2',x3',x2'A2,x3'A2,(x2.*x3)',(x3.*x1)'];
[b1,bint1,r1,rint1,s1]=regress(y',XF);
b1,bint1,s1,
rcoplot(r1,rint1);
3.运行结果及分析
CoefficientswithErrorBars
Coeff.t-statp-val
X1
-0.333333-0.08640.9322
X2
11.67650.38890.7022
X3
-7.06082-4.70550.0002
X4
42.52824.87350.0001
X5
0.5111114.6756
X6
-4.76955-0.8676
X7
-7.37459-5.5796
X8
-50
0.0002
0.3977
0.0000
Irrtertept=52.®®4
R-square=0.940512
F=56.9168
RMSE^4.01649
幽R-sq=0.920683
p=2」9SIDQe4riiO
0.9550563.8854
0.0011
15
ModelHistory
10
上图是逐步回归得到的最优结果,其参数输岀结果如下
beta
betaci
Coeff.
t-stat
p-val
x1
0
0
0
x2
0
0
0
x3
x2A2
x3A2
x1*x2
0
0
0
x2*x3
0
x3*x1
intercept
rmse
rsqadjrsq
fstat
pval
得到模型:
2
2
y0
1x32x2
3x3
4X2X35X3X1
其中:
0=52.8084,讦-7.0608,2=42.5282,3=0.5111,4=-7.3746,5=0.9551
由多项指标可以确定以上模型的合理性:
rmse最小,RA2统计量接近于1,beta(回归系数)置信
区间全部部包含0点,pvalvv=,这些都可以说明上模型在数学上是合理的。
从实际意义上来讲,以上模型也是比较有根据的。
首先,在考虑单一变量影响时,x3(用药剂量)的影响是决定性的,同性别和血压相比其显著性
是可以将另外二者忽略的;
但是血压因素的2次项(x2A2)却没有被忽略,且其系数很大(40左右),说明在其他因素不
变的前提下,x2-y的函数关系为对称轴为y轴的抛物线,也就是说所疼痛明显的减轻时间,其增
大(时间延长)程度同血压的平方成正比,即血压的增加会明显的降低药效,虽然没有确切的专
业知识的证明,但这也是符合常识的;
x3的二次项同样存在,且抛物线的对称轴在正半轴,如下图:
这符合一般情况下药物的作用机制,适当用量效果最好,过多过少都会降低药效;但是注意,由
于交互项的存在(x1*x3/x2*x3),性别和血压都会影响到上面抛物线的对称轴和上下位置。
两个交互项都包含了药效这个因素,可以说明,性别和血压都会通过用药计量间接的影响药效。
以上模型的实际意义和数学结果都比较合理,下面给岀regress命令和残差图的结果:
15
10
-5
-10
ResidualCaseOrderPlot
1015
20
CaseNumber
最后的两个数据点不合理,剔除,之后结果如下:
10
8
6
4
2
0
-2
-4
-6
-8
-10
ResidualCaseOrderPlot
2
46810121416182022
CaseNumber
根据第7题的分析,不再继续剔除,将这时的结果作为最终结果,参数如下:
回归参数
取值
置信区间
31
35
RA2
F
P
sA2
22
yo1X32X23X34X2X35X3X1