数模-化验结果判别及matlab程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地贫患者的基因筛查问题
摘要
地中海贫血(简称“地贫”)是全球广为流行、危害极为严重的遗传性溶血性疾病,全世界至少有亿人携带地中海贫血的致病基因。医学上通过大人群的基因筛查来预防地贫患儿的出生。
本文应用统计学原理,对病人以及健康人的110个基因进行分析,采用Fisher判别模型建立判别标准和多元统计模型spss 软件进行筛选。
问题一,利用费希尔模型判别待测者是否患有地贫,以编号1~20地贫患者的样本,编号21~40健康人员的样本,分别作为模版建立模型,用mathlab软件求解得到待测组的患病者编号41~60个是待筛查人员的样本。
问题二,为确定“地贫”样本与“健康”样本在基因链上的区别。以及癌症样本中是否有子类。我们用1~20数据为标准化并确立相关系数矩阵,求出相关矩阵的特征值和特征向量,然后通过前m 个
主成分的累计贡献率满足
%
85
)
1
/(
)
1
(≥
∑
=
∑
=k
i
k
k
i
k
λ
λ
来确定贡献率矩阵,从而得出各种基因的权
值,又利用初始特征值需大于 1,再运用逐步剔除法得出关键基因关键字:地贫患者的基因 Fisher判别筛查相关系数矩阵
1 问题重述
化验指标能够协助医生诊断。人们到医院就诊时,诊断就诊人员是否患肾炎时通常要化验人体内各种元素含量。表是确诊病例的化验结果,其中1-30号病例是已经确诊为肾炎病人的化验结果;31-60号病例是已经确定为健康人的结果。表是就诊人员的化验结果。
1.根据表中的数据,提出一种或多种简便的判别方法,判别属于患者或健康人的方
法,并检验你提出方法的正确性。
2.按照1提出的方法,判断表中的30名就诊人员的化验结果进行判别,判定他(她)
们是肾炎病人还是健康人。
3.能否根据表的数据特征,确定哪些指标是影响人们患肾炎的关键或主要因素,以
便减少化验的指标。
4.根据3的结果,重复2的工作。
5.对2和4的结果作进一步的分析。
2 问题分析
问题解决的关键是如何正确判断正常人与患者之间的差异,利用所给数据,可以选择用医学统计方法[1]中的判别分析法[2]进行分析。从题目给出的表中可以得出以下信息:1)表中分别给出正常人与患者各30组数据,每组数据各包含7种元素(Zn、Cu、Fe、Ca、Mg、K、Na)在人体中的含量。通过对这些数据进行分析,可以从中找出数据差异,根据判别法确定判别标准。利用所得判别标准,与就诊人员的化验结果比较可以判
别其是否患有肾炎;
2)采用某医院化验的30名健康人和30名肾炎患者体内的7种微量元素的含量作为基础数据,从中选取20名健康人和20名肾炎患者的数据作为样本,进行采样分析,建立判定模型,并利用剩余的 10 名健康人和 10 名患者对判定模型进行正确率检验,即可得到判定模型的正确率。
3)利用不同的判别法,用Matlab软件编程对数据进行处理,得到相应判别标准。将就诊人员数据与判别值比较,即可对就诊人员是否患病做出明确判断。这样就解决了第二问;
4)在第一问基础上利用EXCEL将各元素比重进行作图分析,即可直观地确定各种元素的权重,从而筛选出关键因素。这样就解决了第三问;
5)在第四问中将第三问得出的关键元素对应的数据的在判别程序中保留,其余元素的数据删除。再利用Matlab软件对就诊人员数据进行处理,判断其是否患病。
6)在第五问中,将第二问与第四问所得结果进行直观比较,观察其差异进行详细分析。
3 模型假设
1)表中所给数据全部正确;
2)除表中所给元素外,其它元素对肾炎的影响甚小;
3)外界条件对肾炎患者影响不计。
4 符号说明
注:约定0表示正常人,1表示患者,例如x0表示正常人数据。
5 模型建立
该问题的关键是如何判别一个人是否患有肾炎,属于分类问题,可以采用统计方法中的判别分析方法进行处理。题目只需区分病体和健康体,所以可以采用二类群体判别的方法。可选取判别模型中的Fisher判别模型、马氏距离判别模型和BP神经网络分类模型进行研究。
不等协差阵的两总体Fisher判别模型[2][3]
5.1.1 基本思想
从两个总体中抽取具有p个指标的样品观测数据,借助方差分析的思想造一个判别函数或称判别式:
y = c
1x
1
+ c
2
x
2
+ … + c
p
x
p
其中系数c1,c2,…,c p确定的原则是使两组间的区别最大,而使每个组内部的离差最小。有了判别式后,对于一个新样品,将它的p个指标值代入判别式中求出y值,然后与判别临界值(或称分界点后面给出)进行比较,就可以判别它应属于哪一个总体。
5.1.2 建立过程
将患者与正常人数据分别表示成矩阵如下:
11
1117
11
21271130.1
30.7x x x x A x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦ 00
11
17
00
21
270
30.1
30.7x x x x B x x ⎡⎤⎢⎥⎢⎥
=⎢
⎥⎢⎥⎢⎥⎣⎦
算出两组数据的代表,即平均值:
30001130j
ij i x x ==∑ (正常人均值) 301
11
130j ij i x x ==∑ (患者均值) 其中,j = 1, (7)
做新的矩阵A 1,B 1及两组数据的离差矩阵S 1,S 2如下:
111111
111122177
1111
11211
222
277111111130.1130.2230.77x x x x x x x x x x x x A x x x x x x ⎡⎤---⎢
⎥⎢⎥---=⎢⎥⎢⎥⎢⎥---⎢⎥⎣
⎦ 000000
111122
177
0000
00
211222
27710000
0030.1130.2230.77x x x x x x x x x x x x B x x x x x x ⎡⎤
---⎢
⎥
⎢⎥
---=⎢⎥⎢
⎥⎢⎥---⎢⎥⎣
⎦
则有:
最优判别函数的系数C 1,C 2,…,C 7为下述方程组的解:
0111
1012220777
x x C C x x S
C x x ⎡⎤
-⎡⎤⎢⎥
⎢⎥⎢⎥-⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢
⎥⎢⎥⎣⎦-⎢⎥⎣⎦
即:
0111
101212201777x x C C x x S C x x -⎡⎤-⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦-⎢⎥⎣⎦
可以写出判别函数:
112277y C x C x C x =+++ (S-1)
算出两组数据平均值的判别值:
1121T T S A A S B B
==12
S S S =+