肾炎患者识别matlab,肾炎诊断 模型.doc

数学建模练习题

B题:诊断问题

成员: 毛志坚 (数理学院)

黄 振 (数理学院)

王志鹏 (信传学院)

2010年07月11

摘要

本文将肾炎诊断问题归结为数理统计问题,在问题研究的过程中,建立了BP神经网络模型和费歇尔判别模型,利用神经网络训练得到仿真模型利用表1中前20名肾炎患者和前20名健康人的数据对模型进行求解,提出判别方法,,并采用回代的方法检验模型,确保了模型的正确性。同时引入主成分分析模型,以确定肾炎主要影响因素,最后,我们把用七项检查指标判别结果与简化为主要因数之后的结果进行比较,并提供了改进方案。

关键词: 数理统计 BP网络神经 费歇尔判别模型 主成分分析 Minitab

一、问题重述

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

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

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

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

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

5. 对2和4的结果作进一步的分析。

(表1,表2 见附录)

二、问题分析

考虑问题的题设和要求:

对于问题1和问题2,我们可以利用BP神经网络进行训练的方法判定就诊者是否患病。将患病者和健康者者的指标进行训练,再建立模拟仿真网络对待测样本进行模拟,从而对就诊者下诊断。在BP神经网络中采用各随机抽取确诊的两类人群中10个样本回带入问题1中所建的仿真网络中来检验模型的正确性。

同时我们费歇尔判别模型,利用神经网络训练得到仿真模型利用表1中前20名肾炎患者和前20名健康人的数据对模型进行求解,提出判别方法。

对于问题3,我们可以通过引入主成分分析模型,确定肾炎主要影响因素,以便减少化验的指标。

三、模型假设

1、假设个别有误差病例对模型的影响可以忽略;

2、假设健康者和患病两类人群的Zn、Cu、Fe、Ca、Mg、K、Na等的期望值、标准差、相关系数与由数据给出的样本的统计量一致,且服从正态分布;

3、假设题目中所给的数据都是真实可信的,且化验过程中没有错误;

4、假设是否患肾炎只与题目中所给的元素的含量有关,与其他元素在人体内的含量没有很大关系;

5、假设人体内各种元素含量对是否患肾炎的影响是相互独立的。

4、 符号说明

:某个病人的7种元素组合;

:某个病人的费歇尔判别函数;

:总体1的协方差矩阵;

:总体2的协方差矩阵;

:总体1的均值向量;

:总体2的均值向量;

:某病人第j种元素的值;

:第i个主成分()。

为1到7之间的数。

:的的协方差矩阵。

:协方差矩阵的特征值。

:为第i个主成分对的组合系数,为为第i个主成分对的组合系数的向量。

:判别临界值;

:为的单位化特征向量。

:第i种元素的判别系数;

:第i个主成分。

五、模型的建立与求解

5、1 问题1和问题2的模型建立与求解

5、11 BP神经网络模型的建立

神经网络是单个并行处理元素的集合,我们从生物学神经系统得到启发。在自然界,网络功能主要有神经节决定,我们可以通过改变连接点的权重来训练神经网络完成特定的功能。

一般的神经网络都是可调节的,或者说是可训练的,这样一个特定的输入便可以得到要求的输出。

人工神经网络系统从20世纪40年代末诞生至今仅短短半个世纪,但由于他具有信息的分布存储,并行处理以及自学能力等有点,已经在信息处理、模式判别、智能控制及系统建模等领域得到越来越广泛的应用。尤其是基于误差反向传播算法的多层前馈网络(简称BP网路),可以以任意精度逼近任意的连续函数,所以广泛应用于非线性建模、函数逼近、模式分类等方面。

BP神经网络的基本结构图如图1所示:

图1 BP神经网络的基本结构图

根据题设,建立BP神经网络模型:

把30个病人与30个健康人的7项指标作为输入项,以60x7的矩阵输入;再以0-1代换的思想,患病看作1,健康看做0,并以1x60的矩阵输入,作为目标输出。对之进行训练,得出结果。

5、12 模型的求解

利用matlab中的神经网络工具箱可以对建立的网络进行训练。

程序如下:

p=[166 15.8 24.5 700 112 179 513;185 15.7 31.5 701 125 184 427;193 9.8 25.9 541 163 128 642;159 14.2 39.7 896 99.2 239 726;226 16.2 23.8 606 152 70.3 218;...

171 9.29 9.29 307 187 45.2 257;201 13.3 26.6 551 101 49.4 141;147 14.5 30.0 659 102 154 680;172 8.85 7.86 551 75.7 98.4 318;156 11.5 32.5 639 107 103 552;...

213 19.1 36.2 2220 249 40.0 168;170 13.9 29.8 1285 226 47.9 330;162 13.2 19.8 1521 166 36.2 133;203 13.0 90.8 1544 162 98.90 394;167 13.1 14.1 2278 212 46.3 134;...

164 12.9 18.6 2993 197 36.3 94.5;167 15.0 27.0 2056 260 64.6 237;158 14.4 37.0 1025 101 44.6 72.5;133 22.8 31.0 1633 401 180 899;156 135 322 6747 1090 228 810];

%输入数据,我们以前十个病人和前十个健康人作为输入数据

t=[ones(1,10) 2*ones(1,10)];%理想输出数据

%将以上每行数据输入打上分号,

[m,n]=size(p);

c=min(p);

d=max(p);

for i=1:m

for j=1:n

p(i,j)=(p(i,j)-c(j))/(d(j)-c(j));

end

end

p=p;%神经网络函数以每列作为输入数据

%完成归一化,用ind2vec函数将t化为0 1的矩阵

t=ind2vec(t);

%初始化网络

net=newlvq(minmax(p),11,[0.5 0.5])%minmax(p)是求p的最大最小值,11代表隐含层的神经元数,[0.5 0.5]前一个0.5代表病人所占输入数据的比列,后一个0.5代表健康人所占输入数据的比列,

net.trainparam.epochs=100;

net.trainparam.goal=0.05;

%设定训练次数及精度要求

net=train(net,p,t);%训练网络

x=[166 15.8 24.5 700 112 179 513;185 15.7 31.5 701 125 184 427;193 9.8 25.9 541 163 128 642;159 14.2 39.7 896 99.2 239 726;226 16.2 23.8 606 152 70.3 218;...

171 9.29 9.29 307 187 45.2 257;201 13.3 26.6 551 101 49.4 141;147 14.5 30.0 659 102 154 680;172 8.85 7.86 551 75.7 98.4 318;156 11.5 32.5 639 107 103 552;...

132 15.9 17.7 578 92.4 1314 1372;182 11.3 11.3 767 111 264 672;186 9.26 37.1 958 233 73.0 347;162 8.23 27.1 625 108 62.4 465;150 6.63 21.0 627 140 179 639;...

159 10.7 11.7 612 190 98.5 390;117 16.1 7.04 988 95.5 136 572;181 10.1 4.04 1437 184 101 542;

146 20.7 23.8 1232 128 150 1092;42.3 10.3 9.70 629 93.7 439 888;...

28.2 12.4 53.1 370 44.1 454 852;154 13.8 53.3 621 105 160 723;179 12.2 17.9 1139 150 45.2 218;

13.5 3.36 16.8 135 32.6 51.6 182;175 5.84 24.9 807 123 55.6 126;...

113 15.8 47.3 626 53.6 168 627;50.5 11.6 6.30 608 58.9 58.9 139;78.6 14.6 9.70 421 70.8 133 464;90.0 3.27 8.17 622 52.3 770 852;178 28.8 32.4 992 112 70.2 169;...

213 19.1 36.2 2220 249 40.0 168;170 13.9 29.8 1285 226 47.9 330;162 13.2 19.8 1521 166 36.2 133;203 13.0 90.8 1544 162 98.90 394;167 13.1 14.1 2278 212 46.3 134;...

164 12.9 18.6 2993 197 36.3 94.5;167 15.0 27.0 2056 260 64.6 237;158 14.4 37.0 1025 101 44.6 72.5;133 22.8 31.0 1633 401 180 899;156 135 322 6747 1090 228 810;...

169 8.00 308 1068 99.1 53.0 289;247 17.3 8.65 2554 241 77.9 373;166 8.10 62.8 1233 252 134 649;209 6.43 86.9 2157 288 74.0 219;182 6.49 61.7 3870 432 143 367;...

235 15.6 23.4 1806 166 68.8 188;173 19.1 17.0 2497 295 65.8 287;151 19.7 64.2 2031 403 182 874;191 65.4 35.0 5361 392 137 688;223 24.4 86.0 3603 353 97.7 479;...

221 20.1 155 3172 368 150 739;217 25.0 28.2 2343 373 110 494;164 22.2 35.5 2212 281 153 549;173 8.99 36.0 1624 216 103 257;202 18.6 17.7 3785 225 31.0 67.3;...

182 17.3 24.8 3073 246 50.7 109;211 24.0 17.0 3836 428 73.5 351;246 21.5 93.2 2112 354 71.7 195;164 16.1 38.0 2135 152 64.3 240;179 21.0 35.0 1560 226 47.9 330];

[m,n]=size(x);

c=min(x);

d=max(x);

for i=1:m

for j=1:n

x(i,j)=(x(i,j)-c(j))/(d(j)-c(j));

end

end

x=x %将将所有的数据归一化当输入数据。

y=sim(net,x);%求输入为x的对应的输出(预测)

y=vec2ind(y);%将0 1变量变为分类数据1、 2类

得到训练图为:

再将30个待测样本以30x7的矩阵形式作为输入项输入,并建立模拟仿真网络对其进行模拟,同时输出样本的目标输出:

表3 待测样本的目标输出

病例号

目标输出

病例号

目标输出

61

1.0353

76

1.0257

62

1.0250

77

-0.0039

63

1.0136

78

-0.0423

64

1.0004

79

0.6702

65

1.0333

80

0.0162

66

0.9327

81

-0.0056

67

0.9787

82

0.0225

68

0.9817

83

0.9886

69

0.9890

84

0.1172

70

0.0104

85

1.0303

71

0.9697

86

-0.0151

72

0.9069

87

1.0193

73

0.9988

88

-0.0066

74

-0.0117

89

0.0145

75

-0.0190

90

0.0939

从表3中可以看出30个待测样本是否患病的情况为:

表4 待测样本是否患病情况表

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

疑:表示不能确定是否患病

5、13 模型的检验

我们从原患病者与健康者中随机抽取20个样本为检验数据,以矩阵输入格式代入建立的训练过的模拟真网络,得到目标输出与原结果相符,从而证明了模型的正确性。

5、2 费歇尔(Fisher)判别模型的建立及求解

费歇尔(Fisher)判别是按照各类(总体)中的方差尽可能小,不同类中的均值之间差距尽可能大的原则,即类间距离最大而类内离散性最小的原则求判别函数,并利用判别函数进行最小距离分类。2个总体(总体1和总体2)的基本函数表达为:

式中: 和 分别为总体1和总体2的协方差矩阵;和分别为总体1和总体2的均值向量。

判别规则:

其中:

在此题中总体1就是指肾炎病人,总体2指健康人,X就是每个样本中的7种元素的值构成的一个向量。通过化简,原判别函数就可以转换为 :

其中:为样本中第i种元素的值,为第i种元素的判定系数。

现选取20名肾炎患者和20名健康人的数据作为样本,通过matlab编程求出判定函数的各个判定系数,然后确定判定函数。结果如下:

确定判定临界值。

依据求出的判定函数表达式和判定临界值就得到了一种简单的判定方法,即:根据每个就诊人员中各元素值,计算出判定函数的值,然后将计算出的判定函数的值与判定临界值进行比较,如果判定函数的值大于等于判定临界值,则判定其为患病,否则判定其为健康。

现利用剩下的10名肾炎患者和10名健康人的数据对该费歇尔判别模型进行检验,并计算该判定模型的准确率。计算结果如表1、表2所示。

表1 10名肾炎患者对模型的检验

病例号

21

22

23

24

25

26

27

28

29

30

f(X)

1.598217

1.422755

-0.57788

0.230936

-0.77317

1.464474

0.143876

1.529581

0.609603

1.104563

与d的比较

大于

大于

大于

大于

大于

大于

大于

大于

大于

大于

是否患病

患病

患病

患病

患病

患病

患病

患病

患病

患病

患病

表2 10名健康人对模型的检验

病例号

51

52

53

54

55

56

57

58

59

60

f(X)

-4.39821

-1.80257

-1.62888

-2.17763

-5.43523

-4.37493

-5.10223

-2.8534

-2.26974

-0.71405

与d的比较

小于

小于

小于

小于

小于

小于

小于

小于

小于

大于

是否患病

健康

健康

健康

健康

健康

健康

健康

健康

健康

患病

从表1、表2可以看出在对剩余20人的判定中,仅有1个判定错误,所以该模型的判定正确率高达95%。

根据该判定模型,对30名就诊人员的化验结果进行判别,具体结果如表3所示。

表3 对30组就诊人员进行预测

病例号

61

62

63

64

65

66

67

68

69

70

f(X)

0.411117

-0.62626

-1.1581

0.929443

-0.40762

-1.14984

-2.13477

-0.29227

0.018507

-2.65306

与d的比较

大于

大于

小于

大于

大于

小于

小于

大于

大于

小于

是否患病

患病

患病

健康

患病

患病

健康

健康

患病

患病

健康

病例号

71

72

73

74

75

76

77

78

79

80

f(X)

0.313133

0.9539

0.455611

-1.7666

-0.85532

0.274089

-1.53291

-1.51958

-0.10697

-3.13663

与d的比较

大于

大于

大于

小于

大于

大于

小于

小于

大于

小于

是否患病

患病

患病

患病

健康

患病

患病

健康

健康

患病

健康

病例号

1

2

3

4

5

6

7

8

9

10

f(X)

-4.14866

-2.92481

1.336701

-1.74666

0.675634

-2.3804

-0.75702

-4.1025

-7.368

-1.50392

与d的比较

小于

小于

大于

小于

大于

小于

大于

小于

小于

小于

是否患病

健康

健康

患病

健康

患病

健康

患病

健康

健康

健康

从表3可以看出在对30名就诊人员的化验结果进行的判定中,其中15名就诊人员为肾炎病人,15名就诊人员为健康人。

5、3问题3的模型建立与求解

5、31模型的建立

在样本中的所有指标找到对肾炎诊断影响较大的指标,在此可利用主成分分析的方法进行分析。

主成分分析就是把各变量之间相关联的复杂关系进行简单化的方法。在力求数据信息丢失最少的原则下,对高维的变量空间降维,从而减少其维数,找到主成分的方法,即研究指标体系的少数几个线性组合,且其构成的综合指标应尽可能保留原来指标的信息。这个综合指标即为主成分。

文中有7个指标看作7个随机变量,记为、…,用一个新的指标维数、…,主成分分析就是把7个指标的问题转化为讨论7个线性组合的问题。而这、…按照保留主要信息量的原则充分反映了原指标的信息,且他们相互独立。

即、…满足:

①为、…的线性组合,即

②、…线性无关,它们的协方差为零,即

其中

是、…的一切线性组合中方差最大者,

是与线性无关的、…的一切线性组合中方差最大者,

是与、…线性无关的、…的一切线性组合中方差最大者。

即:

记、…为第1、第2、第3、第41、第5、第6、第7主成分。且向量为第i大的特征值所对应的特征向量。

为的协方差矩阵,由,可求出其特征值。

其奉献率

累计奉献率

5、32模型的求解

根据表1的数据,利用Minitab软件输入表1,对Zn, Cu, Fe, Ca, Mg, K, Na七种元素 进行主成份分析,得相关矩阵的特征分析:

特征值 3.1291 1.9735 0.7229 0.5703 0.2836 0.2039 0.1168

比率 0.447 0.282 0.103 0.081 0.041 0.029 0.017

累积 0.447 0.729 0.832 0.914 0.954 0.983 1.000

变量 PC1 PC2 PC3 PC4 PC5 PC6 PC7

Zn 0.256 0.383 0.719 0.455 0.109 0.224 0.043

Cu 0.482 -0.208 -0.157 -0.274 0.163 0.756 0.164

Fe 0.385 -0.139 -0.487 0.746 -0.148 -0.102 0.086

Ca 0.507 0.036 0.170 -0.335 -0.345 -0.441 0.535

Mg 0.532 -0.067 0.067 -0.170 0.098 -0.258 -0.777

K -0.117 -0.609 0.355 0.095 -0.647 0.190 -0.162

Na -0.003 -0.643 0.250 0.108 0.627 -0.267 0.219

其碎石图为:

由此可得到第一主成分贡献率为44.7%,第二主成分贡献率为28.2%,第三主成分贡献率为10.3%,前三个主成分累计贡献率达83.2%,即对其影响大。

如果按80% 以上的信息量选取新因子,则可以选取三个新因子。第一新因子贡献率为44.7%,它的主要代表变量为(Ca),(Mg),其权重系数分别为-0.50744、-0.53169,大于其阀值,反映了这两个变量与是否患病密切相关,第二新因子贡献率次之为28.1%,它的主要代表变量为 (K),(Na)其权重系数分别为—0.609、-0.643,第三新因子信贡献率10.3%,代表变量为(Zn),权重系数为-0.719值。这些代表变量反映了各自对该新因子作用的大小,它们是判别是否患病中最重要的影响因素。因此我们选择Zn,Ca,Mg,K,Na五个指标为影响人们患肾炎的关键因素。

5、4问题4的求解

重复问题1的过程,依据前20名肾炎患者和前20名健康人的数据得到新的判定函数为:

判定临界值为d=-0.21104,用剩下的10名肾炎患者和10名健康人的数据对该费歇尔判别模型进行检验,并计算该判定模型的准确率。计算结果如表4,表5所示。

表4 选取新的指标后10名肾炎患者对模型的检验

病例号

21

22

23

24

25

26

27

28

29

30

f(X)

1.622856

1.366988

-0.36699

0.33135

-0.28631

1.044392

-0.21621

0.813985

1.257566

-0.37118

与d的比较

大于

大于

小于

大于

小于

大于

小于

大于

大于

小于

是否患病

患病

患病

健康

患病

健康

患病

健康

患病

患病

健康

表5 选取新的指标后10名健康人对模型的检验

病例号

51

52

53

54

55

56

57

58

59

60

f(X)

-1.03331

-0.80554

-0.64242

-0.78181

-3.40137

-2.59551

-2.67073

-1.29735

-1.35379

-0.48463

与d的比较

小于

小于

小于

小于

小于

小于

小于

小于

小于

小于

是否患病

患病

健康

健康

健康

健康

健康

健康

健康

健康

健康

从表4、表5可以看出在对剩余20人的判定中,有4个判定错误,所以该模型的判定正确率达80%。所以我们得出结论:在减少了化验指标后,模型的正确率下降了。

根据该判定模型,对30名就诊人员的化验结果进行判别,具体结果表6所示。

表6 选取新的指标后的预测结果

病例号

61

62

63

64

65

66

67

68

69

70

f(X)

1.010108

0.627376

0.477922

1.452376

0.161853

-0.01148

0.242043

0.994902

0.692971

-0.30443

与d的比较

大于

大于

大于

大于

大于

大于

大于

大于

大于

小于

是否患病

患病

患病

患病

患病

患病

患病

患病

患病

患病

健康

病例号

71

72

73

74

75

76

77

78

79

80

f(X)

1.864421

1.489547

0.795372

-0.76593

-0.95345

0.390303

-0.98806

-0.32014

-0.5215

-1.8363

与d的比较

大于

大于

大于

小于

小于

大于

小于

小于

小于

小于

是否患病

患病

患病

患病

健康

健康

患病

健康

健康

健康

健康

病例号

1

2

3

4

5

6

7

8

9

10

f(X)

-2.22245

-1.66468

1.406294

-0.77414

1.233737

-1.31817

0.650579

-1.34248

-2.73572

-1.06872

与d的比较

小于

小于

大于

小于

大于

小于

大于

小于

小于

小于

是否患病

健康

健康

患病

健康

患病

健康

患病

健康

健康

健康

从表6可以看出在对30名就诊人员的化验结果进行的判定中,其中16个就诊人员为肾炎病人,14个就诊人员为健康人。

5、5 两种方案的结果比较与分析

对简化前后的结果进行对比发现,病例号为3、6、7、15、19共5位急诊人员的诊断结果不同,占总人数的83.33%

基于以上两个问题的求解,我们发现主成分分析前后的两个模型各有优缺点。一种需要测量的元素种类较多,但结果相对准确;另一种操作简便,但误差相对较大。因此我们最终得出结论,认为应结合实际情况,在不同情况下使用不同的模型。医疗条件相对较差的医院,可以采用操作简便的模型,医疗条件相对较好的医院因采用准确率较高的模型。在初步诊断的情况下,可以采用测量元素相对较少的模型可以省时省事,在复诊或对准确率较高的情况下,对7种元素进行测量,保证结果的准确率。我们也可以从问题的解决当中发现,其实决定肾炎的指标重要与否就是考虑各个因数对问题的影响大小,所以我们认为完全可以导入权重的概念来解决此类问题。在BP神经网络当中引入权重因子进行训练和模拟仿真。

按照这种思路,模型将会更加完整,更加精确。

六、模型的评价

7、1 优点

a、本文采用的BP神经网络模型正确率高,采用的费歇尔判别模型对总体的分布类型没有要求;

b、模型的计算采用专业的数学软件,可信度较高。

7、2 缺点

a、模型采用数据时精确度不高,导致存在一定误差;

b、假设是否患肾炎只与题目中所给的元素的含量有关,与其他元素在人体内的含量没有很大关系。

八、参考文献

【1】数学建模笔记(BP神经网络,主成分分析)

【2】钟冲,郭强,费歇尔判别法及其应用,西南交通大学学报

【3】齐敏,李大健,郝重阳,模式识别导论 清华大学出版社 2008

【4】中国科技论文在线网,http://www.paper.edu.cn

附录

程序:

clear;

x=[166 15.8 24.5 700 112 179 513;185 15.7 31.5 701 125 184 427;193 9.8 25.9 541 163 128 642;159 14.2 39.7 896 99.2 239 726;226 16.2 23.8 606 152 70.3 218;...

171 9.29 9.29 307 187 45.2 257;201 13.3 26.6 551 101 49.4 141;147 14.5 30.0 659 102 154 680;172 8.85 7.86 551 75.7 98.4 318;156 11.5 32.5 639 107 103 552;...

132 15.9 17.7 578 92.4 1314 1372;182 11.3 11.3 767 111 264 672;186 9.26 37.1 958 233 73.0 347;162 8.23 27.1 625 108 62.4 465;150 6.63 21.0 627 140 179 639;...

159 10.7 11.7 612 190 98.5 390;117 16.1 7.04 988 95.5 136 572;181 10.1 4.04 1437 184 101 542;

146 20.7 23.8 1232 128 150 1092;42.3 10.3 9.70 629 93.7 439 888;...

28.2 12.4 53.1 370 44.1 454 852;154 13.8 53.3 621 105 160 723;179 12.2 17.9 1139 150 45.2 218;

13.5 3.36 16.8 135 32.6 51.6 182;175 5.84 24.9 807 123 55.6 126;...

113 15.8 47.3 626 53.6 168 627;50.5 11.6 6.30 608 58.9 58.9 139;78.6 14.6 9.70 421 70.8 133 464;90.0 3.27 8.17 622 52.3 770 852;178 28.8 32.4 992 112 70.2 169;...

213 19.1 36.2 2220 249 40.0 168;170 13.9 29.8 1285 226 47.9 330;162 13.2 19.8 1521 166 36.2 133;203 13.0 90.8 1544 162 98.90 394;167 13.1 14.1 2278 212 46.3 134;...

164 12.9 18.6 2993 197 36.3 94.5;167 15.0 27.0 2056 260 64.6 237;158 14.4 37.0 1025 101 44.6 72.5;133 22.8 31.0 1633 401 180 899;156 135 322 6747 1090 228 810;...

169 8.00 308 1068 99.1 53.0 289;247 17.3 8.65 2554 241 77.9 373;166 8.10 62.8 1233 252 134 649;209 6.43 86.9 2157 288 74.0 219;182 6.49 61.7 3870 432 143 367;...

235 15.6 23.4 1806 166 68.8 188;173 19.1 17.0 2497 295 65.8 287;151 19.7 64.2 2031 403 182 874;191 65.4 35.0 5361 392 137 688;223 24.4 86.0 3603 353 97.7 479;...

221 20.1 155 3172 368 150 739;217 25.0 28.2 2343 373 110 494;164 22.2 35.5 2212 281 153 549;173 8.99 36.0 1624 216 103 257;202 18.6 17.7 3785 225 31.0 67.3;...

182 17.3 24.8 3073 246 50.7 109;211 24.0 17.0 3836 428 73.5 351;246 21.5 93.2 2112 354 71.7 195;164 16.1 38.0 2135 152 64.3 240;179 21.0 35.0 1560 226 47.9 330];

stdr=std(x); %求各变量标准差

[n,m]=size(x);

sddata= x./stdr(ones(n,1),:); %标准化变换

[p,princ,egenvalue]=princomp(sddata) %调用主成分分析程序

p3=p(:,1:3) %输出前三个主成分系数

sc=princ(:,1:3) %输出前三个主成分得分

egenvalue %输出特征根

per=100*egenvalue/sum(egenvalue) % 输出各个主成分贡献率

表1 确诊病例的化验结果

病例号

Zn

Cu

Fe

Ca

Mg

K

Na

1

166

15.8

24.5

700

112

179

513

2

185

15.7

31.5

701

125

184

427

3

193

9.80

25.9

541

163

128

642

4

159

14.2

39.7

896

99.2

239

726

5

226

16.2

23.8

606

152

70.3

218

6

171

9.29

9.29

307

187

45.5

257

7

201

13.3

26.6

551

101

49.4

141

8

147

14.5

30.0

659

102

154

680

9

172

8.85

7.86

551

75.7

98.4

318

10

156

11.5

32.5

639

107

103

552

11

132

15.9

17.7

578

92.4

1314

1372

12

182

11.3

11.3

767

111

264

672

13

186

9.26

37.1

958

233

73.0

347

14

162

8.23

27.1

625

108

62.4

465

15

150

6.63

21.0

627

140

179

639

16

159

10.7

11.7

612

190

98.5

390

17

117

16.1

7.04

988

95.5

136

572

18

181

10.1

4.04

1437

184

101

542

19

146

20.7

23.8

1232

128

150

1092

20

42.3

10.3

9.70

629

93.7

439

888

21

28.2

12.4

53.1

370

44.1

454

852

22

154

13.8

53.3

621

105

160

723

23

179

12.2

17.9

1139

150

45.2

218

24

13.5

3.36

16.8

135

32.6

51.6

182

25

175

5.84

24.9

807

123

55.6

126

26

113

15.8

47.3

626

53.6

168

627

27

50.5

11.6

6.3

608

58.9

58.9

139

28

78.6

14.6

9.7

421

70.8

133

464

29

90

3.27

8.17

622

52.3

770

852

30

178

28.8

32.4

992

112

70.2

169

31

213

19.1

36.2

2220

249

40.0

168

32

170

13.9

29.8

1285

226

47.9

330

33

162

13.2

19.8

1521

166

36.2

133

34

203

13.0

90.8

1544

162

98.90

394

35

167

13.1

14.1

2278

212

46.3

134

36

164

12.9

18.6

2993

197

36.3

94.5

37

167

15.0

27.0

2056

260

64.6

237

38

158

14.4

37.0

1025

101

44.6

72.5

39

133

22.8

31.0

1633

401

180

899

40

156

135

322

6747

1090

228

810

41

169

8.00

308

1068

99.1

53.0

289

42

247

17.3

8.65

2554

241

77.9

373

43

166

8.10

62.8

1233

252

134

649

44

209

6.43

86.9

2157

288

74.0

219

45

182

6.49

61.7

3870

432

143

367

46

235

15.6

23.4

1806

166

68.8

188

47

173

19.1

17.0

2497

295

65.8

287

48

151

19.7

64.2

2031

403

182

874

49

191

65.4

35.0

5361

392

137

688

50

223

24.4

86.0

3603

353

97.7

479

51

221

20.1

155

3172

368

150

739

52

217

25

28.2

2343

373

110

494

53

164

22.2

35.5

2212

281

153

549

54

173

8.99

36

1624

216

103

257

55

202

18.6

17.7

3785

225

31

67.3

56

182

17.3

24.8

3073

246

50.7

109

57

211

24

17

3836

428

73.5

351

58

246

21.5

93.2

2112

354

71.7

195

59

164

16.1

38

2135

152

64.3

240

60

179

21

35

1560

226

47.9

330

表2 就诊人员的化验结果

病例号

Zn

Cu

Fe

Ca

Mg

K

Na

61

58.2

5.42

29.7

323

138

179

513

62

106

1.87

40.5

542

177

184

427

63

152

0.80

12.5

1332

176

128

646

64

85.5

1.70

3.99

503

62.3

238

762.6

65

144

0.70

15.1

547

79.7

71.0

218.5

66

85.7

1.09

4.2

790

170

45.8

257.9

67

144

0.30

9.11

417

552

49.5

141.5

68

170

4.16

9.32

943

260

155

680.8

69

176

0.57

27.3

318

133

99.4

318.8

70

192

7.06

32.9

1969

343

103

553

71

188

8.28

22.6

1208

231

1314

1372

72

153

5.87

34.8

328

163

264

672.5

73

143

2.84

15.7

265

123

73.0

347.5

74

213

19.1

36.2

2220

249

62.0

465.8

75

192

20.1

23.8

1606

156

40.0

168

76

171

10.5

30.5

672

145

47.0

330.5

77

162

13.2

19.8

1521

166

36.2

133

78

203

13.0

90.8

1544

162

98.9

394.5

79

164

20.1

28.9

1062

161

47.3

134.5

80

167

13.1

14.1

2278

212

36.5

96.5

81

164

12.9

18.6

2993

197

65.5

237.8

82

167

15.0

27.0

2056

260

44.8

72.0

83

158

14.4

37.0

1025

101

180

899.5

84

133

22.8

31.3

1633

401

228

289

85

169

8.0

30.8

1068

99.1

53.0

817

86

247

17.3

8.65

2554

241

77.5

373.5

87

185

3.90

31.3

1211

190

134

649.8

88

209

6.43

86.9

2157

288

74.0

219.8

89

182

6.49

61.7

3870

432

143

367.5

90

235

15.6

23.4

1806

166

68.9

188

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值