数学建模数据分析题.docx
《数学建模数据分析题.docx》由会员分享,可在线阅读,更多相关《数学建模数据分析题.docx(34页珍藏版)》请在冰豆网上搜索。
数学建模数据分析题
中国矿业大学数学建模常规赛竞赛
承诺书
我们仔细阅读了中国矿业大学数学建模常规赛论文格式规范和2016年中国矿业大学数学建模常规赛通知。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或资料(包括网上资料),必须按照规定的参考文献的表述方式列出,并在正文引用处予以标注。
在网上交流和下载他人的论文是严重违规违纪行为。
我们以中国矿业大学大学生名誉和诚信郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。
如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。
我们授权中国矿业大学数学建模协会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
我们的参赛队号:
25
参赛队员(打印并签名):
1.易阳俊
2.令月霞
3.刘景瑞
日期:
2016年10月日
(请勿改动此页内容和格式。
此承诺书打印签名后作为纸质论文的封面。
以上内容请仔细核对,如填写错误,论文可能被取消评奖资格。
)
中国矿业大学数学建模常规赛竞赛
编号专用页
评阅记录(可供评阅时使用):
评
阅
人
备
注
评阅统一编号(数学建模协会填写):
题目:
数据的分析问题
摘要
本文需要解决的问题是如何根据就诊人员体内7种元素含量来判别某人是否患有疾病G和确定哪些指标是影响人们患疾病G的主要因素。
通过解读题目可知,此类问题为典型的分析判别问题。
我们先对数据进行了预处理,剔除了有异常数据的样本,然后采用元素分布判别法、马氏距离判别法和Fisher判别法,应用Excel、SPSS和MATLAB等软件来对某人是否患病进行判别,并通过绘制7种元素含量的折线图等来确定患该疾病的主要因素,最后应用综合判别法对之前的结论进行了检验。
对于问题一,在对数据预处理之后,我们删除了序号为10这个高度异常数据样本,然后我们分别采用元素分布判别法、马氏距离判别法和Fisher判别法对49个已知病例进行判别。
对于元素分布判别法,我们通过数据预处理知道7种元素含量分布均符合正态分布,然后我们确定了以均值为大致中心的元素正常含量范围,得出其判别准确度为96%;对于马氏距离判别法,通过编写MATLAB程序(见附录)来进行判别,得出其判别准确度为90%;对于Fisher判别法,通过SPSS软件来进行判别,得到线性判别函数,其判别准确度为96%;
针对问题二:
我们运用问题一中建立的三个判别模型对25名就诊人员(见附录)的化验结果进行检验,判别结果如下表1:
表1
判别方法
元素分布判别法
马氏距离判别法
Fisher判别法
健康人数
15
14
11
患病人数
10
11
14
对于问题三,我们运用Excel对健康人和患者的7种元素分别绘制折线图进行对分析,我们初步判定元素4与元素5是影响人们患疾病G的主要因素,然后用方法一的三种判别方法进行检验,其准确度在85%以上;
对于问题四,我们根据问题三得出的主要因素,分别用三种判别方法对25名就诊人员进行判别,再与问题二的判别结果进行对比,可知它们判断结果之间的差异性最高为24%。
对于问题五,由于三种判别法都有不足,所以我们采用了综合判别法,将三种判别方法的结果进行综合判断,最终我们通过主要因素进行判别的差异性下降到了12%,与问题一的判断结果的一致性达到了88%。
关键词:
马氏距离判别,Fisher判别,综合判别,MATLAB,SPSS
一、问题重述.
随着大数据时代的到来,人们在处理问题时往往要借助一些实验或检测数据的分析;病人到医院就诊时,医生通常要通过化验和检测得到的数据分析来协助诊断。
在医疗诊断中,要诊断一个人是否患上疾病G时,通常要检测人体内7种元素的含量。
表1是50个确诊病例的检测结果,其中1-25号病例是已经确诊为疾病G的病人的检测结果;26-50号病例是已经确定为健康人的检测结果。
表2是25个就诊人员的检测结果。
试解决下列问题:
问题1:
根据表1中的数据,提出一种或多种简便的判别方法,判别属于疾病G的病人或健康人的方法,并检验你提出方法的正确性。
问题2:
按照问题1提出的方法,对表2中的25名就诊人员的检测结果进行判别,判定他(她)们是疾病G的病人还是健康人。
问题3:
能否根据表1的数据特征,确定哪些指标是影响人们患疾病G的关键或主要因素,以便减少化验的指标。
问题4:
根据问题3的结果,重复问题2的工作。
问题5:
对问题2和问题4的结果作进一步的分析。
二、模型假设
(1)假设题目中所给的数据绝大多数真实可靠,不排除出现少数异常数据的可能;
(2)假设就诊人员在化验前不会采取增加体内这7种元素的措施;
(3)题目中所给的样本只有因这7种元素含量而患G病的患者或者为健康人员,不会受到其他疾病和其他元素的干扰;
(4)不考虑各种元素之间的相互作用对机体产生的影响;
三、问题的分析
对于此题,我们需要通过对已知病例数据进行分析,从而找到疾病确诊方法。
我们首先运用Excel对健康人的7种元素含量绘制散点图进行分析和W检验,得知这7种元素的分布均符合正态分布,再通过拉依达准则法排除了高度异常数据10号样本。
针对问题一,我们建立了元素分布判别、马氏距离判别和Fisher判别三种模型。
首先,已知7种元素含量分布均符合正态分布,于是我们以健康人员的7种元素含量的均值为大致中心值,确立了一个元素正常含量范围,对于只要存在一个不在正常范围内的元素含量的待诊人员,我们就判定为患者,从而建立了元素分布判别模型;其次,我们利用马氏距离判别法,对原始数据直接进行分析归类,并排除了元素之间的相关性的干扰,运用MATLAB编程中得到的判别函数来对患者和健康人员这两组样本进行马氏判别分析,从而建立了马氏距离判别模型;然后,我们运用SPSS软件对患者和健康人员这两组样本进行Fisher判别,得到区分人员是否患病的线性判别函数和判断准确率,从而建立了Fisher判别模型。
最后,我们用已知的49个病例数据对这三个模型分别进行了检验,得到的判别准确率均在90%以上。
针对问题二,我们利用问题一中建立的三个判别模型分别对25位就诊人员是否患病进行判别,结果见表1:
表1
判别方法
元素分布判别法
马氏距离判别法
Fisher判别法
健康人数
15
14
11
患病人数
10
11
14
针对问题三,为了确定影响人们患病G的关键或主要因素,我们运用Excel图表功能对7种元素分别绘制折线图进行对比。
通过分析,可知绝大多数健康人员的元素4和元素5含量均大于患者在这两种元素含量的最大值,健康人员与患者含量呈现明显数值差异;而健康人与患者在其他5种元素上的分布差距没有元素4与元素5如此明显,所以我们初步判定元素4与元素5是影响人们患疾病G的主要因素。
然后我们用问题一中的三种判别模型对已知病例进行检验,得到的判别准确率均在85%以上。
针对问题四,虽然利用问题三中得到的主要元素来进行分析判别的准确率在85%以上,但在与问题二的判别结果进行对比后,可知两种判别结果的差异性(见下表2)。
表2
判别方法
差异性
元素分布判别法
16%
马氏距离判别法
24%
Fisher判别法
12%
由上表可知,问题二与问题四的判别结果的最大差异性有24%,表明此时利用这两个主要因素进行判别结果无法较好达到问题二的判别效果。
针对问题五,已知问题四中得到的两个主要因素的判断结果与问题二的判断结果差异性大,而且这三种判别方法均有各自的缺点,于是我们建立了一个综合判别模型,通过三种判别方法来得到最后的判别结果,最终使得两个判别结果的差异性降到了12%,一致性达到了88%。
四、符号及变量说明
符号
意义
显著性水平
马氏距离判别函数
Fisher判别线性函数
Fisher判别临界值
五、数据预处理
数据分析
处理实验数据的时候,我们常常会遇到个别数据值偏离预期或大量统计数据值结果的情况,如果我们把这些数据值和正常数据值放在一起进行统计,可能会影响实验结果的正确性。
我们首先通过Excel做出了26-50号健康人的7种元素的散点图(如下图):
图1图2
图3图4
图5图6
图7
由图可知:
1、序号为10的健康人员的元素数据十分异常,我们暂且忽略这个样本。
。
2、我们可以发现忽略掉少数几个异常数据外,每种元素数值大都集中在中间某个数值附近,则我们可以初步判断这7种元素的含量可能服从正态分布,于是我们认为可以通过统计学知识中的W检验来对这些数据分别进行正态性检验。
W检验
W检验全称Shapiro-Wilk检验,是一种基于相关性的算法,通过计算可得到一个相关系数,它越接近1就越表明数据和正态分布拟合得越好。
W检验是检验样本容量8≤n≤50时,样本是否符合正态分布的一种方法。
我们已知25个病人数据和24个健康人员数据,计算公式为:
其检验步骤如下:
正态性检验
通过编写MATLAB程序(见附录),我们可以得到健康人员的7种元素的W值(见下表3):
表3
元素j
1
2
3
4
5
6
7
W值
通过进一步对元素2和元素3的散点图(见表2和表3)的观察可知,其中的一些异常数据可能干扰了判断结果,在先忽略掉序号为19的健康人员的元素2数据和序号为11、21的健康人员的元素3的数据后,再对它们进行一次W检验(见下表3):
表4
元素序号i
2
3
认为它也应该满足正态分布。
数据检测
拉依达准则法是最常用的异常值判定与剔除准则,优点是简单,无需查表,测量次数较多或要求不高时用。
在这种情况下,异常值是指一组测定值中与平均值的偏差超过两倍标准差的测定值。
与平均值的偏差超过三倍标准差的测定值,称为高度异常的异常值。
在处理数据时,应剔除高度异常的异常值。
异常值是否剔除,视具体情况而定。
在统计检验时,指定为检出异常值的显著性水平α=,称为检出水平;指定为检出高度异常的异常值的显著性水平α=,称为舍弃水平,又称剔除水平(rejectlevel)。
由于我们已知7种元素含量分布均符合正态分布,所以我们可以用以下计算公式来判断异常值是否存在,公式如下:
当s>0时,为异常值;当s<0时,为正常值;
通过Excel的简单编程计算,我们得到以下异常数据表(见表4):
表5
序号i
元素j
含量
类型
序号i
元素j
含量
类型
11
2
高度异常
10
2
135
高度异常
19
3
308
高度异常
10
3
322
高度异常
9
1
247
异常
10
4
6747
高度异常
12
4
5361
异常
10
5
1090
高度异常
18
7
899
异常
10
6
228
异常
19
7
874
异常
当c=3时,序号为10的健康人员在4个元素检测上均为高度异常值,故我们可以排除该样本。
当c=2时,有6个健康人员也存在一些相对异常的数据,我们可以在对这些健康人员进行数据分析处理时,选择忽略掉这些异常数据,以免对最终分析结果产生较大的影响。
六、问题模型建立与求解
问题一的模型建立
元素分布判别模型的建立
我们已知这7个元素分布符合正态分布,由正态分布关于平均值对称的性质,于是我们以平均值为大致中心值,同时尽量保证两端点值与均值的距离相差不大,以此来确定元素正常含量范围,建立元素分布判别模型,从而判断待诊人员是否患病;只要待诊人员的某一种元素含量在该范围之外时,我们就判定他为病人。
根据元素的散点图分布和拉依达准则法得到的异常数据表(见上表5),我们得到元素正常含量范围:
表6
元素序号i
1
2
3
4
5
6
7
均值(取整数)
185
18
57
2265
267
93
388
最大值(不含异常值)
235
25
155
3879
432
182
739
最小值MIN
133
1025
31
正常含量范围
133-235
1025-3879
99-432
31-182
然后我们用已知的49个病例来对模型进行检验,得到综合准确率为96%的判别模型,检验结果如下(见表7):
表7
已知病例
检验成功人数
检验成功率
健康人员
23
%
患者
24
96%
马氏距离判别模型
基本思想
首先根据已知分类的数据,分别计算各类中心即分组(类)的均值。
判别准则是对任意给的一次观测,若它与第i类的中心距离最近,就认为它来自第i类。
建立过程
按照距离最近准则判别归类,则可以写成:
马氏距离判别分析和检验
我们通过MATLAB编程(程序见附录)来对已知的49名数据样本进行检测,得到马氏距离检测法的综合检测准确率为90%,检测结果如下:
表8
已知病例
健康人员
患者
检测成功人数
24
20
总人数
24
25
检测成功率
100%
80%
Fisher判别模型
基本思想
从k个总体中抽取p个指标的样品观测数据,借助方差分析的构造一个线性断函数,其中系数确定的原则是使得总体之间区别最大,而是每个总体内部的离差最小。
有了线性判断函数U后,对于一个新的样品,将它的p个指标值带入以上线性判断函数式子中求出U值,然后根据一定的判别规则,就可以判断新的样品属于哪个总体了
算法步骤
、进行Fisher判别分析和检验
我们运用SPSS软件对已知病例数据进行Fisher判别分析,得到判别结果如下(详细表格见附录):
表9
分類結果a
组别
預測的群組成員資格
總計
原始
計數
24
1
25
1
23
24
%
a.%個原始分組觀察值已正確地分類。
表10
標準化典型區別函數係數
函數
1
元素1
元素2
元素3
.521
元素4
.546
元素5
.724
元素6
.348
元素7
(1)由分类结果可知:
通过对已知的49名病例样本进行检测,对健康人与患病者的检测准确率都达到了96%,故综合检测准确率为96%。
(2)由标准化典型区别函数系数表可知,线性判别函数D应为:
虽然我们得到了Fisher判断法的线性判断函数,但我们还需找到一个判定标准来对健康人员与患者进行区分,通过表9可知,分别有一名已知的健康人员与患者在运用Fisher进行判别时出现错误,所以我们可以根据这两名病例的判断得分来得到判定标准。
我们运用Excel进行简单编程,求出已知49名病例的Fisher判断函数的得分,结果如下:
图8
由图可知:
病例号为1-25的患者整体得分明显少于病例号为26-50的健康人员整体得分,显然病例号为23和38的得分情况是Fisher判别所出现的两个判断错误;所以病例号为23的病例在Fisher判别法认为是健康人,而得分略低的病例号为18的病例被Fisher判别法认为是患者,对于我们所设置的判别临界值S,他应该属于~之间,不妨令
问题二的求解
综述以上三种判别方法,我们得到了它们的判别准确率,如下表:
表11
准确度/种类
元素分布判别
马氏距离判别
Fisher判别法
病人
%
100%
%
健康人员
96%
80%
96%
综合
96%
90%
96%
我们采用问题一中的元素分布判别法、马氏距离判别法和Fisher判别法三种方法,运用Excel和MATLAB软件(代码详见附录)分别这25名就诊人员进行判别,再将结果整理如下:
表12
元素分布判别法
马氏距离判别法
Fisher判别法
患病人员
51-59、61-63、66、73、74
51-54、56、61-63、66、73、75
51-56、58、59、
61-63、66、73、75
健康人员
60、64、65、67-72、75
55、57-60、62、64、65、67-72、74
57、60、64、65、67-72、74
患病与健康人员的人数之比
15:
10
11:
14
14:
11
问题三的模型建立与问题四的模型求解
主要元素的确定
我们运用Excel分别对健康人与患者的7种元素含量进行了升序排列,然后对健康人和患者的7种元素分别绘制折线图进行对比,通过对元素4与元素5的折线图(见下图,其他5种元素图见附录)观察分析可知,绝大多数健康人的这两种元素含量均大于患者在这两种元素含量的最大值,呈现出明显的数值大小差异,而健康人与患者在其他5种元素上的分布,他们之间的差距没有元素4与元素5明显,所以我们初步判定元素4与元素5是影响人们患疾病G的主要因素。
图9
图10
我们进一步通过对图9的观察可知,患者的元素4含量大多数在100-160之间,而健康人仅有两名在160以下,于是我们对问题一中元素分布判别法进行修改,对于元素4,我们以162为新的边界值来进行判别,即元素4的新范围为162-432。
利用主要元素进行判别和检验
我们利用问题三的主要元素,通过问题一中三种判别法来重新对就诊人员进行判别,经过整理后,判别结果如下:
表13
准确度/种类
元素分布判别
马氏距离判别
Fisher判别法
病人
%
%
100%
健康人
%
%
%
综合
%
%
%
表14
元素分布判别法
马氏距离判别法
Fisher判别法
患病人员
51、52、54-59、62、63、66、73、75
51、52、54-56、59、63、66、69、73、75
51-59、61-63、66、67、69、73、75
健康人员
53、61、64、65、67-72、74
53、57、58、60-62、64、65、67、68、70-72、74
60、64、65、68、70-72、74
患病与人数之比
14:
11
11:
14
17:
8
我们进一步将该判别结果与问题2的判别结果进行对比,如下表:
表14
判别差异病例号
差异性
元素分布判别法
53、61、74、75
16%
马氏距离判别法
53、55、59、61、62、69
24%
Fisher判别法
57、67、69
12%
由上表可知,虽然只利用主要因素的三种判别法的有效率仍然在85%以上,但是三种判别法的结果与问题二中的判别结果仍然有不小的差异,虽然Fisher判别法差异性最小只有12%,但马氏距离判别法的差异性却有24%,我们需要进一步降低差异率来确保只利用主要因素进行判别的判断率。
问题五的分析
虽然问题二与问题三的三种判别法的有效率都在85%以上,但是两个问题中的三种判别法的结果仍然有不小的差异,由于三种判别法均存在各自的问题,于是我们建立了一个综合判别模型,通过三种判别方法来得到最后的判别结果。
我们先将问题二与问题四的判别结果进行整理,为了简化表格,给出如下定义:
当某个判别方法判定就诊人员为健康人员时,得分加1;
当某个判别方法判定就诊人员为患者时,不得分。
表15
问题二
问题四
序号
元素分布
马氏距离
Fisher判别
综合得分
元素分布
马氏距离
Fisher判别
综合得分
51
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
53
0
0
0
0
1
1
0
2
54
0
0
0
0
0
0
0
0
55
0
1
0
1
0
0
0
0
56
0
0
0
0
0
0
0
0
57
0
1
1
2
0
1
0
1
58
0
1
0
1
0
1
0
1
59
0
1
0
1
0
0
0
0
60
1
1
1
3
1
1
1
2
61
0
0
0
0
1
1
0
2
62
0
0
0
0
0
1
0
1
63
0
0
0
0
0
0
0
0
64
1
1
1
3
1
1
1
3
65
1
1
1
3
1
1
1
3
66
0
0
0
0
0
0
0
0
67
1
1
1
3
1
1
0
2
68
1
1
1
3
1
1
1
3
69
1
1
1
3
1
0
0
1
70
1
1
1
3
1
1
1
3
71
1
1
1
3
1
1
1
3
72
1
1
1
3
1
1
1
3
73
0
0
0
0
0
0
0
0
74
0
1
1
2
1
1
1
3
75
1
0
0
1
0
0
0
0
由上表可知:
有一些就诊人员在三种判别法中均被判定为患者,也有一些人在三种判别方法法中,均被判定为健康人员。
所以我们根据得分的高低情况可以将上述就诊人员分为以下四类水平:
完全健康(3分)、大概率健康(2分)、大概率患病(1分)、完全患病(0分),见下表16。
表16
范围
完全健康
大概率健康
大概率患病
安全患病
问题二
60、64、65、67-72
57、74
55、58、59、75
51-54、56、61-63、66、73
问题四
64、65、68、70-72、74
53、60、61、67
57、58、62、69
51、52、54-56、59、63、66、73、75
由于我们必须判断出就诊人员是否患病,所以我们根据大概率原则,可以判断完全健康、大概率健康这两种水平的就诊人员为健康,而完全患病、大概率患病这两种水平的就诊人员为患病,所以我们得到以下表格:
表17
问题二
问题四
差异病例号
健康
患病
健康
患病
53、57、69(差异性为12%)
57、60、64、65、67-72、74
51-56、58、59、61-63、66、73、75
53、60、61、64、