若Da>Db,则该样本点判为B类;
若Da=Db,则无法判别。
模型求解:
在方法一中运用matlab7.0求解:
所得结果如下:
欧氏距离判别法
表二
1~30号
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
31~60号
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
61~90号
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
表三
1~30号
0
0
1
0
1
0
1
0
0
1
0.8333
0.1333
31~60号
1
1
1
1
1
1
1
1
1
1
0.9000
0.8667
61~90号
1
1
0
1
0
1
0
1
1
1
15\15
其中‘0’表示患病,即表示A类,‘1’表示正常即表示B类。
由欧式判别法知:
当样本患病时判别正确率为0.8333;当样本正常时判别正确率为0.9.通过此判别法对进行检验的样本判断出有15个患病,15个正常,对60个样本的判断正确率为0.8667。
由于欧式判别法比较简单,判别正确率为0.8667,在比较粗糙的判断是否患病具有一定的价值,需要结合其他判别方法进行判断。
方法二
马氏距离判别法
表四
1~20号
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31~50号
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
61~80号
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
表五
21~30号
0
0
0
0
0
0
0
0
0
0
1
0.0167
51~60号
1
1
1
1
1
1
1
1
1
1
0.9667
0.9833
81~90号
1
1
0
0
0
1
0
1
1
1
13\17
其中‘0’表示患病,‘1’表示正常。
由马氏距离当样本患病时判别正确率为1;当样本正常时判别正确率为0.9667.通过此判别法对进行检验的样本判断出有13个患病,17个正常,对60个样本的判断正确率为0.9833。
马氏判别法判断患病样本的正确率为1,与确定的患病样本十分吻合,说明此法判断患病样本十分有效。
对于正常人的判断达到0.9667也可作为判断依据。
对于总体60个样本判断正确率为0.9833.与实际情况也相当近似。
当然,若结合其他判断方法进行二次判断就会更加正确。
现剔除某些元素后分析基于其他剩余元素上用马氏判别法所得到的结果,并与原来的马氏判别法的判别结果的正确率的百分比进行比较,可得如下表格:
模型检验
上述两种方法在判别就诊人员时有些样本存在差异,所列表格如下:
表六
序号
18
23
25
27
30
32
39
48
49
54
欧氏
1
1
1
1
1
1
0
0
1
1
马氏
0
0
0
0
0
0
1
1
0
0
由该表格可看出在1~30的患病样本中,其中马氏判别全部正确,但欧氏判别法在第18、23、25、27及30号样本的判别上有误判,在31~60的健康样本中,欧氏在39及48号样本的判别上出现误判,而马氏在32、38、49及54号样本的判别上出现误判。
根据表一的百分比可依次剔除相关的元素后算得相应的正确率,并得到如下两表格:
表七
方式
欧氏
马氏
Zn
Cu
Fe
Ca
Mg
K
Na
正确率
0.8667
0.9833
0.9167
0.9667
0.9333
0.5167
0.7333
0.8167
0.8500
由表七知Zn、Cu、Fe的正确率分别为0.9167、0.9667、0.9333且0.9667>0.9333>0.9167>0.9在只剔除一个影响因素的条件下故最优先剔除铜,其次为铁再者为锌。
表八
方式
Zn&Cu
Zn&Fe
Cu&Fe
Zn&Cu&Fe
Zn&Na
Zn&K
正确率
0.8333
0.8667
0.9000
0.6667
0.6
0.5333
再考虑剔除两个或两个以上因素:
由编程逐个检验知在剔除三个或三个以上因素的情况下,正确率低于70%,不能作为判断依据。
由表八0.9000>0.8667>0.8333>0.6667>0.6667在保证准确率又能减少化验的指标的基础上,化验元素Fe、Cu不是影响人们患肾炎的关键或主要因素,可以考虑减少此两元素的化验。
通过两种判别的具体实施方法可得就诊人员在两种判别方法的判别结果及剔除某些元素后将剩余的元素项代入两种判别方法的公式可得判别结果,并得如下两表格
表九
(一)
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
欧氏
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
马氏
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
Zn
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
Cu
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
Fe
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
Zn&Cu
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
Zn&Fe
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
Cu&Fe
表九
(二)
77
78
79
80
81
82
83
84
85
86
87
88
89
90
B\A
1
1
1
1
1
1
0
1
0
1
0
1
1
1
欧氏
15\15
1
1
0
1
1
1
0
0
0
1
0
1
1
1
马氏
13\17
1
1
1
1
1
1
0
0
0
1
1
1
1
1
Zn
16\14
1
1
0
1
1
1
0
0
0
1
0
1
1
1
Cu
13\17
1
1
0
1
1
1
0
0
0
1
0
1
1
1
Fe
12\18
1
1
1
1
1
1
0
0
0
1
0
1
1
1
Zn&Cu
13\17
1
1
1
1
1
1
0
0
0
1
0
1
1
1
Zn&Fe
14\16
1
0
1
1
1
1
0
0
0
1
0
1
1
1
Cu&Fe
12\18
由上述两表格可看出在79及84号样本的判别上,欧氏与马氏结果不一致,需要作其他进一步分析,而我们发现84号样本在马氏和剔除某些元素后的判别结果都相同,故可以判别它是患者。
剔除某些元素后,79号样本的欧氏与马氏判别结果有出入,故它无法判别。
此时66号的判别存在较大的差异,故该样本的剔除元素之后的检验结果不能作为判断依据,这个样本的全部元素都应检验,而由表格可知66号样本在不剔除任何元素的情况下,两种判别方法的判别结果相同,故可以认定它的判断结果有效,即是健康的。
综上可得结果:
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
77
78
79
80
81
82
83
84
85
86
87
88
89
90
1
1
无法判别
1
1
1
0
0
0
1
0
1
1
1
模型的评价与改进
方法一中欧氏判别法能较好的反映以确诊病例的化验结果,在一定程度上能对病历作出较正确的结果,由于判断的正确率只能达到0.8667,需要进一步改进模型;马氏判别法相对于欧氏判别法正确率有很大的提高,达到0.9883,有很好的参考价值。
在剔除元素Fe和Cu的化验后,正确率为0.9000.减少了化验成本和工作量的同时,有较高的正确率,可以采用马氏判别法并剔除Cu、Fe的化验。
由于马氏判别法判断正确率不能达到100%,还需结合其他判别法作进一步的判断,最终不出现误诊情况。
神经网络能够更好的提高判别准确率。
神经网络模型:
对于激活函数我们可以根据输出层为0和1,我们选择了s型对数函数即
参数
>0,
样品s而言,隐单元j的输入
,相应的输出状态为:
由此输出单元i所接受的叠加信号是
网络的最终的输入是
对于任何一组确定的输入,输出是所有权{
}的函数,如果我们能够选定一组适当的权值{
},使得对应于学习样本中任何一个患病的样品输入为(
),输出为0,任何一个健康的样品输入为(
),输出为1,那么我们就可以利用它对待测样品进行判断,如果输出的近视为0,就判为患病,如果输出为近似为1,我们就判断为健康
通过matlab编程得到结果:
1
2
3
4
5
6
7
8
9
10
0.00196
0.0063997
0.0097014
0.0097014
0.064839
0.06484
0.06484
0.009701
0.06484
0.094192
11
12
13
14
15
16
17
18
19
20
0.0019503
0.0052581
0.065012
0.2579
0.009701
0.064839
0.25793
0.06522
0.09418
0.009701
21
22
23
24
25
26
27
28
29
30
0.009701
0.009701
0.0648
0.0097
0.06484
0.0097014
0.065472
0.009701
0.00195
0.064839
31
32
33
34
35
36
37
38
39
40
0.99827
0.9948
0.998
0.906
0.9983
0.99827
0.99532
0.96312
0.99732
0.99532
41
42
43
44
45
46
47
48
49
50
0.98459
0.9061
0.2579
0.9953
0.9953
0.9629
0.9953
0.9989
0.9953
0.99532
51
52
53
54
55
56
57
58
59
60
0.9953
0.9953
0.9953
0.9953
0.99827
0.9983
0.99532
0.99532
0.99532
0.99527
当用bp神经网络进行仿真时
,x表示仿真结果。
所得结果正确率为100%
1
2
3
4
5
6
7
8
9
10
0.0003
0.0017
0.0352
0.0003
0.0352
0.9902
0.9906
0.0017
0.0206
0.9906
11
12
13
14
15
16
17
18
19
20
0.0017
0.0003
0.0003
0.9906
0.9994
0.0352
0.9994
0.8207
0.9981
0.9992
21
22
23
24
25
26
27
28
29
30
0.9992
0.9992
0.0003
0.9906
0.0013
0.9906
0.0352
0.9994
0.9994
0.9994
则患病序号为1234589111213162527总共13个
正常序号为67101415171819202122232426282930总共17个
参考文献:
《数学建模》杨启帆主编高等教育出版社2005.5
《数学建模与数学试验》赵静但琦主编高等教育出版社2008.11
附录:
方法一:
欧氏判别法
相关程序如下:
A=[16615.824.5700112179513
18515.731.5701125184427
1939.825.9541163128642
15914.239.789699.2239726
22616.223.860615270.3218
1719.299.2930718745.5257
20113.326.655110149.4141
14714.530659102154680
1728.857.8655175.798.4318
15611.532.5639107103552
13215.917.757892.413141372
18211.311.3767111264672
1869.2637.195823373347
1628.2327.162510862.4465
1506.6321627140179639
15910.711.761219098.5390
11716.17.0498895.5136572
18110.14.041437184101542
14620.723.812321281501092
42.310.39.762993.7439888
28.212.453.137044.1454852
15413.853.3621105160723
17912.217.9113915045.2218
13.53.3616.813532.651.6182
1755.8424.980712355.6126
11315.847.362653.6168627
50.511.66.360858.958.9139
78.614.69.742170.8133464
903.278.1762252.3770852
17828.832.499211270.2169
21319.136.2222024940168
17013.929.8128522647.9330
16213.219.8152116636.2133
2031390.8154416298.9394
16713.114.1227821246.3134
16412.918.6299319736.394.5
1671527205626064.6237
15814.437102510144.672.5
13322.8311633401180899
15613532267471090228810
1698308106899.153289
24717.38.65255424177.9373
1668.162.81233252134649
2096.4386.9215728874219
1826.4961.73870432143367
23515.623.4180616668.8188
17319.117249729565.8287
15119.764.22031403182874
19165.4355361392137688
22324.486360335397.7479
22120.11553172368150739
2172528.22343373110494
16422.235.52212281153549
1738.99361624216103257
20218.617.737852253167.3
18217.324.8307324650.7109
21124173836428