数学建摸实验有氧锻炼.docx
《数学建摸实验有氧锻炼.docx》由会员分享,可在线阅读,更多相关《数学建摸实验有氧锻炼.docx(13页珍藏版)》请在冰点文库上搜索。
数学建摸实验有氧锻炼
实验报告
课程名称数学建模年级12级日期5.19姓名叶美芳学号*******1235班级数学*班
实验名称回归分析
一.实验目的与要求:
1.掌握回归分析的基本理论
2.会运用回归分析相关理论进行编程和解决实际问题
二.实验内容:
1.背景:
由于有氧锻炼中,人体的耗氧能力是衡量人身体健康状况的重要指标,而耗氧能力(人体单位重量单位时间内最大的耗氧量)在日常生活中难以直接测量,故本文建立相关数学模型,采用机理分析和回归分析以与数据拟合相结合的办法,以期望使普通大众能够方便快键地对自身身体状况有更为直接的了解,也能更加合理科学地锻炼。
2.题目:
习题7:
在有氧锻炼中人的耗氧能力
(mL/(min·kg))是衡量身体状况的重要指标,它可能与以下因素有关:
年龄
体重
(kg),1500m跑的时间
(min),静止时心跳速度
(次/min),跑步后心速
(次/min),对24名40至57岁的志愿者进行了测试,结果如下表1.1(节选),试建立耗氧能力y与诸因素的之间的回归模型。
表1.1
序号
1
2
3
4
…
21
22
23
24
Y
44.6
45.3
54.3
59.6
…
39.4
46.1
45.4
54.7
X1
44
40
44
42
…
57
54
52
50
X2
89.5
75.1
85.8
68.2
…
73.4
79.4
76.3
70.9
X3
6.82
6.04
5.19
4.9
…
7.58
6.7
5.78
5.35
X4
62
62
45
40
…
58
62
48
48
X5
178
185
156
166
…
174
156
164
146
(1)若中
~
只许选择1个变量,最好的模型是什么?
(2)若中
~
只许选择2个变量,最好的模型是什么?
(3)若不限制变量的个数,最好的模型是什么?
(4)对最终模型观察残查,有无异常点,若有,剔除后如何?
3.做法:
本题不同小问需要建立不同模型,由于专业知识所限,并且提供的数据较少,难以做出精确符合现实情况的模型,因此这里用最简单的线性回归法进行拟和模型基本形式如下:
事实上,中的项(高次项和交互项)对于本题目来讲意义不大,因为所给定的5个自变量和因变量之间关系比较模糊,几个变量彼此之间的联系也很难说清,因此用自变量的一次线性拟和就足以适应本题的要求。
但作为练习,还是将每种回归方法都使用到了,可以用于参考。
具体采用的各个模型将在下面单独说明,这里不再重复。
4.程序
由于本题需要建立多组模型,并且要在不断的调试中发现最合理的,很多命令都要在这个过程中不断使用,这里仅仅给出使用的最基本的命令。
数据
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'];%这里检验的是自变量x4,实际操作时要分别检验x1~x5
[b,bint,r,rint,s]=regress(y',X);%回归分析程序(а=0.05)
b,bint,s,%输出回归系数估计值、置信区间、以与统计量
rcoplot(r,rint)%残差图
Polytool(x3',y',2)%检验一元多项式回归的结果,输出交互式画面
双参数回归(第二问):
用逐步回归法找出最合理的两个变量
X5=[x1',x2',x3',x4',x5'];
stepwise(X5,y');%利用输出的交互式画面,可以选出最佳的两个变量
XX=[x3',x1'];%当得到了最佳的两个变量后(这里假设是x3\x1)
rstool(XX,y','linear')%检验二元情况下的交互项和高次项
全部参数回归(第三问):
X5=[x1',x2',x3',x4',x5'];%仍然用逐步回归法找出最合理的组合方式
stepwise(X5,y')
第五问要求对残差进行分析,并且剔除异常点,可以在该问得到最终模型后,采用regress得到的残差值和置信区间并根据其绘制残差图,然后再进行剔除操作重新检验。
5.运行结果与分析
散点图
(1)
(2)(3)
(4)(5)
从左上到右下的顺序为x1~x5.可以由点的分布大致看出,除了x3自变量呈现比较明显的负相关趋势以外,对于其他的各个自变量都难以直接观测出其对于因变量的影响。
根据这种结果,可以假设自变量x3(1500m跑后心速)最直接的与锻炼耗氧能力相关,下面通过对各个自变量的单参数回归进行检验。
单参数回归
被检对象
β0
β1
β1置信区间
R^2
F
P
s^2
X1
64.3812
-0.3599
-0.8309,0.1111
0.1025
2.5115
0.1273
31.2484
X2
52.7432
-0.0644
-0.4334,0.3046
0.0059
0.1310
0.7309
34.6097
X3
83.4438
-5.6682
-7.1252,-4.2112
0.7474
65.0959
0
8.7943
X4
67.1094
-0.3599
-0.6262,-0.0936
0.2631
7.8560
0.0104
25.6547
X5
94.0024
-0.2739
-0.5095,-0.0384
0.2091
5.8169
0.0247
27.5352
由单参数回归的结果可以证明
X3(1500m跑后心速)可以最好的反映出y(锻炼耗氧能力)的情况。
由β1置信区间可以看出,x1、x2包含0在内,即y可能与该参数无关,所以不选择,并且两者的p值已经明显的大于=0.05,则不考虑x1、x2。
比较x3~x5后发现,x3的2R-决定系数明显的大于x5的,决定系数反映的是在因量的总变化中自变量引起的那部分的比例,2R大说明x3自变量对因变量起的决定作用最大。
并且x3的p和s^2值也都比较小,所以最终确定x3可以最好的反映出y的情况。
用Polytool检验含x3高次(2次)项的情况,参量Export如下表:
β0
β1
β2
回归系数估计值
122.7242
-17.9072
0.9356
置信区间下限
67.1878
-35.0387
-0.3695
置信区间上限
178.2605
-0.7757
2.2408
可以同之前的仅含一次项的结果进行比较,发现各个参量的置信区间都很宽,且β2的置信区间过0。
可以认为二次项的引入是不重要的。
因此采用如下单参数模型描述y是最准确地:
其中:
83.4438,-5.6682
其中:
83.4438,
-5.6682
双参数回归:
用stepwise作逐步回归,部分过程和最终结果如下图:
根据题目要求,最终得到取双参量时的最佳结果(RMSE参量最小)是取x3(1500m跑后心速)和x1(年龄)自变量。
但事实上,实际的逐步回归过程在此时并没有结束,最终的
最优结果是只取x3参量。
这说明取x3、x1参量同只取x3相比优势并不明显。
通过rstool命令检验二元情况下的交互项和高次项情况,下图是linear情况下固定单参数进行预测的结果:
项对应的系数
常数项
X3
X1
X3^2
X1^2
X3*X1
RMSE
Linear
90.8529
-5.4671
-0.187
2.8704
Purequadratic
142.8835
-14.7911
-1.1718
0.7111
0.0109
2.9028
Interaction
120.1929
-10.1096
-0.8364
0.1025
2.9033
Quadratic
144.4666
-16.4515
-1.0199
0.0450
0.6818
0.0062
2.9786
可以看到高次项和相关项的系数都非常小,说明其对于y的影响不大。
根据rmse的结果进行比较,仍然选择linear回归方式,即只用二元自变量的一次项。
yxx其中:
01390.8529,=-0.1870,-5.4671
全参数回归
根据以上的分析可以验证模型建立时的猜想,本题中5个字变量和y的关系都不是很直接的,除x3外其他变量的影响很小,所以在最终完整模型中,不再考虑高次项和交互项的影响,一方面简化模型,一方面大大节省的筛选的时间。
所以采用stepwise命令,仅对五元变量x1~x5的一次项进行回归分析,结果如下:
Export参数结果:
β
置信区间
Coeff.
Se
t-stat
p-val
X1
-0.3254
-0.594-0.0568
-0.3254
0.1288
-2.5274
0.02
X2
0
00
-0.0131
0.0851
-0.1539
0.8793
X3
-4.5694
-6.1842-2.9546
-4.5694
0.7741
-5.9026
0
X4
0
00
-0.0384
0.0915
-0.4193
0.6797
X5
-0.1561
-0.31260.0004
-0.1561
0.075
-2.0809
0.0505
R^2=0.814315
F=29.2364
RMSE=2.66669
P=1.64368*e-7
最终取以下三个参数得到最佳回归结果:
x3(1500m跑后心速)、x1(年龄)以与x5(跑步后心速)。
但仍需要进行一般回归分析(regress)确定常数项并观察残差,结果如下:
最终得到的结果整体上优越于剔除异常点之前的结果(不再粘贴结果)。
但是事实上,由于数据点经过剔除不断的结果,模型最终的形式和实际统计到的24组数据的整体情况偏离越来越大,也就是说:
剔除异常点虽然能够一应程度上降低其对于整体情况的干扰作用,而剔除的过程也放大了其他原本正常数据点的异常性,所以异常点可能会不断产生,但是剔除的数量增加即采样数据的减少也会削弱模型反省整体性能的能力。
是一对矛盾,在数据点较少的时候尤其明显。
比较科学的做法是:
只进行1次或少次剔除,保证整体性,又去掉了最主要的异常点。
这里的最终结果采用剔除最初两个异常点(10,15号)后的结果,在此也附上完整数据(剔除之前)的结果,作为第3问的答案:
完整数据(第三题结果):
回归参数
取值
置信区间
β
118.0135
88.1010147.9260
β1
-0.3254
-0.5940-0.0568
β3
-4.5694
-6.1842-2.9546
β5
-0.1561
-0.31260.0004
R^2
F
P
s^2
0.8143
29.2364
0.0000
7.1112
其中:
=118.0135,
=-0.3254,
=-4.5694,
=-0.1561
一次剔除(最终结果)
回归参数
取值
置信区间
β
119.4955
94.6827144.3084
β1
-0.3623
-0.5991-0.1255
β3
-4.0411
-5.3617-2.7205
β5
-0.1774
-0.3030-0.0518
R^2
F
P
s^2
0.8625
37.6269
0.0000
4.4400
其中:
=119.4955,
=-0.03623,
=-4.0411,
=-0.1774
1500m跑后心速、年龄以与跑步后心速三个参数最能够反映锻炼耗氧量这个重要的身体状态指标。
三种心跳速度越快,说明耗氧量越大;速度越慢,即时间越长,说明耗氧量越小。
三.实验总结:
各回归模型之间的区别:
5重线性回归模型是对所有的相关因素,统一作线性回归分析,没有考虑其显著程度;3重线性回归模型,剔除了5重线性回归模型中显著程度较低的因素,主要研究显著程度较高的因素与耗氧能力之间的关系,即只考虑主要因素与耗氧能力之间的关系;完全二次非线性回归模型,,讨论了人体耗氧能力与诸相关因素之间的二次非线性关系,实现了模型与实际数据更精
确的拟合.
四.问题与心得:
从这个实验中我了解到回归直线分析的重要性。
实验用了matlab软件中的linprog函数和lingo来求此题的线性规划问题回归分析问题,这两个模型简单明了,易于理解,原理清晰。