好文档 - 专业文书写作范文服务资料分享网站

数学建模竞赛化验结果的处理解题论文

天下 分享 时间: 加入收藏 我要投稿 点赞

数学建模竞赛化验结果

的处理解题论文

【IMB 5AB- IMBK 08- IMB 2C】

IMB standardization office

2007年北京工业大学数学建模竞赛初赛试题B题:

化验结果的处理题解

摘要:

本文运用了距离判别和Fisher判别两种方法对问题进行分析求解,得出了我们想要的结论,即通过体内元素含量较准确的判别个体是否患有肾炎。

1、 问题的提出

人们到医院就诊时,通常要化验一些指标来协助医生的诊断。诊断就诊人员是否患肾炎时通常要化验人体内各种元素含量。表是确诊病例的化验结果,其中1-30号病例是已经确诊为肾炎病人的化验结果;31-60号病例是已经确定为健康人的结果。表是就诊人员的化验结果。我们的问题是:

1) 根据表中的数据,提出一种或多种简便的判别方法,判别属于患者或健康人的方法,并检验你提

出方法的正确性。

2) 按照1提出的方法,判断表中的30名就诊人员的化验结果进行判别,判定他(她)们是肾炎病

人还是健康人。

3) 能否根据表的数据特征,确定哪些指标是影响人们患肾炎的关键或主要因素,以便减少化验的指

标。

4) 根据3的结果,重复2的工作。

5) 对2和4的结果作进一步的分析。(表见附录) 2、问题分析

1) 题目中表.1中给出了已经确诊为肾炎病人和健康人的各30组数据;

2) 每一组数据都有七个数,分别代表了Zn,Cu,Fe,Ca,Mg,K,Na在每个人体内的量;

3) 第一问要求我们提出判别一个人属于患者还是健康人的方法,这就需要通过对60组数据的分析

得出健康人和肾炎患者体中这些元素量之差异,这些差异的大小又同时是解决第三问的主要影响因素;

4) 在寻找数据的差异时,我们用到的传统方法就是求数据的方差和均值,用excel列表分析,用

matlab作直方图分析。

5) 第二问最可靠的方法就是用判别分析来做,这就需要在R软件中进行一些必要的编程和处理; 6) 第四问是建立在第三问的基础上的;当解决了第三问中到底是那些因素影响到了人们患肾炎的关

键时,只需要在那些主要因素中进行判断就可以省去一些复杂繁琐的步骤;

7) 将以上问题都解决之后,我们使用和步骤5)相同的方法,使用R软件帮助我们高效地对精简后

的数据进行再次分析,并且把第二问和第四问的结果之间进行比较,观察差异和详细的分析。 8) 为了进一步验证我们这种做法的合理性,我们又要用C语言编一个程序,把表B2中的数据与

4)中所求出各元素的均值进行比较,进行了一下直观的分析。

3.符号约定

后缀为1:患者体内元素的含量(例如:Zn1代表患者体内Zn的含量); 后缀为2:健康人体内元素的含量(例如:Zn2代表健康人体内Zn的含量); 1:患者; 2:健康人; 4.模型假设

1) 题中所给的内容和数据都是真实可信的;

2) 除了表中列出的元素外,其他元素对是否会患肾炎的影响很小; 3) 外界条件对肾炎患者的影响不计;

4) 没病的个体都是健康体。 5.模型建立

该问题的关键是如何判断一个人是有病的还是健康的,即这是个判别问题,可以采用统计方法中的判别分析法进行分析处理。题目中只有两类——病体和健康体,所以可采用二类群体的判别方法。

首先考虑用一种简单而直观的判别方法——Mahalanobis距离判别。根据两个母体样本计算出他们的均值向量和协方差阵,求取待测样本x对两个样本的Mahalanobis距离,二者取差值,判断离那个母体近似。

设x,y是从均值为μ,协方差阵为Σ的总体A中抽取的样本,则总体A内两点x与y的Mahalanobis距离定义为d(x,y)?(x?y)T??1(x?y).定义样本x与A的Mahalanobis距离为

d(x,A)?(x??)T??1(x??)。在现实中,母体的均值向量和协方差阵由样本的均值向量(1)(1)(2)(2)(2)

和协方差阵来代替:设x1(1),x2,……xn1是来自母体A的n1个样本,x1,x2,……xn2是来

1自母体A的n2个样本,则样本的均值与协方差为?i?x?ni?(i)??xj?1ni(i)j,i?1,2,,

ni2ni1??S1?S2,Si??(x(ji)?x(i))(x(ji)?x(i))T,i?1,2.对于待测样本x,如果两个??n1?n2?2i?1j?1j?1母体样本的协方差相同,由d2(x,B)?d2(x,A)得到判别函数为

??(x)?(x?x)T??1(x(1)?x(2)),其中x?x?x2(1)(2)???A,(x)?0,,其判别准则是x???。如果两??B,(x)?0.??个母体样本协方差不同,即?1??2,?1??2,对于样本x判别函数定义为:

?(x)?(x?x)??i?(2)T???12(x?x)?(x?x)(2)(1)T???11(x?x(1)),

1ni(i)1(i)(i)(i)T?(x?x)(x?x)?Si,i?1,2。 ?jjni?1j?1ni?1其次考虑用另外一种方法求取解决办法——Fisher判别法,即按类内方差尽量小,类间方差尽量大的准则来求判断函数。

设两个总体A、B的均值和协方差阵分别是?1、?2和?1、?2,对任一测样本x,设它的判别函数为u?u(x),并假设u1?E(u(x)x?A),u1?E(u(x)B),?1?Var(u(x)x?A),?2?Var(u(x)B),使

222u(x)满足类内偏差平方和W0??12??2最小,而类间偏差平方和B0?(u1?u)?(u2?u)最大,其中

22B1u?(u1?u2)。即u(x)要满足I?0最大,若u(x)?u1?u(x)?u2,则x?A,否则x?B。通过

W02

12ni(i)(i)1推导得出判别函数u(x)=dS(x?x),其中x???xj,x?ni?1j?1niT?1?xj?1ni(i)j,i?1,2,

Si??(xj?x(i))(xj?x(i))T,i?1,2,当u(x)?0,x?A,否则x?B。

j?1ni(i)(i)6.模型求解

利用模型求解时通过R软件将以上两种算法编写成程序代码,通过手动输入样本,利用计算机进行求解,程序清单如下: Mahalanobis距离判别:

A<-matrix(c(166,,,700,112,179,513,185,,,701,125,184,427,193,,,541,163,128,642,159,,,896,,239,726,226,,,606,152,,218,171,,,307,187,,257,201,,,551,101,,141,147,,,659,102,154,680,172,,,551,,,318,156,,,639,107,103,552,132,,,578,,1314,1372,182,,,767,111,264,672,186,,,958,233,,347,162,,,625,108,,465,150,,,627,140,179,639,159,,,612,190,,390,117,,,988,,136,572,181,,,1437,184,101,542,146,,,1232,128,150,1092,,,,629,,439,888,,,,370,,454,852,154,,,621,105,160,723,179,,,1139,150,,218,,,,135,,,182,175,,,807,123,,126,113,,,626,,168,627,,,,608,,,139,,,,421,,133,464,,,,622,,770,852,178,,,992,112,,169),ncol=7,byrow=T) B<-matrix(c(213,,,2220,249,,168,170,,,1285,226,,330,162,,,1521,166,,133,203,,,1544,162,,394,167,,,2278,212,,134,164,,,2993,197,,,167,,,2056,260,,237,158,,,1025,101,,,133,,,1633,401,180,899,156,135,322,6747,1090,228,810,169,,308,1068,,,289,247,,,2554,241,,373,166,,,1233,252,134,649,209,,,2157,288,,219,182,,,3870,432,143,367,235,,,1806,166,,188,173,,,2497,295,,287,151,,,2031,403,182,874,191,,,5361,392,137,688,223,,,3603,353,,479,221,,155,3172,368,150,739,217,,,2343,373,110,494,164,,,2212,281,153,549,173,,,1624,216,103,257,202,,,3785,225,,,182,,,3073,246,,109,211,,,3836,428,,351,246,,,2112,354,,195,164,,,2135,152,,240,179,,,1560,226,,330),ncol=7,byrow=T) X<-matrix(c,,,323,138,179,513,106,,,542,177,184,427,152,,,1332,176,128,646,,,,503,,238,,144,,,547,,,,,,,790,170,,,144,,,417,552,,,170,,,943,260,155,,176,,,318,133,,,192,,,1969,343,103,553,188,,,1208,231,1314,1372,153,,,328,163,264,,143,,,265,123,,,213,,,2220,249,,,192,,,1606,156,,168,171,,,672,145,,,162,,,1521,166,,133,203,,,1544,162,,,164,,,1062,161,,,167,,,2278,212,,,164,,,2993,197,,,167,,,2056,260,,,158,,,1025,101,180,,133,,,1633,401,228,289,169,,,1068,,,817,247,,,2554,241,,,185,,,1211,190,134,,209,,,2157,288,,,182,,,3870,432,143,,235,,,1806,166,,188),ncol=7,byrow=T)

discri1<-function(TrnA,TrnB,TstX=NULL,

=FALSE){//*TrnA,TrnB,TstX分别为有病,健康和待测得样本, 缺省值为FALSE,意思是以样本TrnA为参考 if(TstX)==TRUE)

TstX<-rbind(TrnA,TrnB)

nx<-nrow(TstX);blong<-array(0,c(nx))//*把待测样本数(30)给nx,建立一个向量值为0的1行30列的矩阵

Ab<-apply(TrnA,2,mean);Bb<-apply(TrnB,2,mean)//Ab为1行7列的矩阵,列向量为TrnA矩

阵对应列的所有数的均值,Bb同理

if==TRUE||==T){//两个样本的协方差相等时 S<-var(rbind(TrnA,TrnB));Xb<-(Ab+Bb)/2

?

ni2ni1//计算??S1?S2,Si??(x(ji)?x(i))(x(ji)?x(i))T,i?1,2. ??n1?n2?2i?1j?1j?1for(iin1:nx){

w<-(TstX[i,]-Xb)%*%solve(S,Ab-Bb);//得到判别函数值 if(w>0)

blong[i]<-1//待测体有病 else blong[i]<-2 } }

else{

Sa<-var(TrnA);Sb<-var(TrnB);//两个样本的协方差不等时 for(iin1:nx){

y<-TstX[i,]-Ab;z<-TstX[i,]-Bb

w=z%*%solve(Sb,z)-y%*%solve(Sa,y)//得到判别函数值 if(w>0) blong[i]<-1 else

blong[i]<-2 } }

blong }

discri1(A,B,X) Fisher判别:

A<-

//待测体没病

数学建模竞赛化验结果的处理解题论文

数学建模竞赛化验结果的处理解题论文【IMB5AB-IMBK08-IMB2C】IMBstandardizationoffice2007年北京工业大学数学建模竞赛初赛试题B题:化验结果的处理题
推荐度:
点击下载文档文档为doc格式
9rwbx5r1m40mq5e7eayt5nd0e7n2rf017am
领取福利

微信扫码领取福利

微信扫码分享