关于肾炎诊断问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
的优化分析
摘要:由题目我们知道,在诊断肾炎的时候可以通过化验体内的一些化学元素量的多少来得到准确的判别结果。本
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
由此对医院诊断肾炎病人的过程中,如何利用有效的判别准则对就诊人员进行诊断,建立了统计回归模型,最终得到了判别准则。
我们对1~60号病例进行统计处理:对七种化学元素随机分为1、2、3、4、5、6、7七个等级,利用MATLAB编程求解出各种情况下各个化学元素的权重值,然后权重与化学元素量相乘,计算出每个病例的化学元素总量的值。在各种情况下,总和与前30号为患者,31~60为非患者比较,以此确定出最优的权重赋予值。再由隶属度
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
(大型柯西分布和对数函数)确定各元素的权重。
权重确定以后,用线性加权函数作为综合评价模型,对n个系统进行判别。并通过随机代入已确诊的病例来检验模型的准确性。问题一得到解决。
将表格2中的数据带入到上述的模型,判别出15名是健康者,15名是患者。
对于问题三,我们由第一问中,求出来的权重大小来判定哪些指标是影响人们患肾炎的主要因素。找到系数显著性最小三种元素,分别为Na,Zn,K;我们又用排列组合的方法分别删除其中的一种、两种和三种元素,分别计算此时代入前60组数据时的准确度,通过比较从而确定主要影响元素。保留了Ca,Cu,Fe,Mg四种元素,除去非主因素的干扰,用同样的方法重新计算该模型各系数的数值,在保证较高准确率的前提下,最终达到了简化
检测
工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训
过程的目的。
对比问题二、四的结果,我们发现两者的结果基本相同。这说明,在所给的因素中,有一些是小作用因素,可以忽略不计。如此,便可大大节约诊断的时间、人力、财力。
关键字:MATLAB、全样本对比取优法、线性加权法、样本检验法
问题重述
人体的病变和人体内各元素含量的变化密切相关,人们到医院就诊时,通常要化验一些指标来协助医生的诊断。诊断就诊人员是否患肾炎时通常要化验人体内各种元素含量。表1是确诊病例的化验结果,其中1-30号病例是已经确诊为肾炎病人的化验结果;31-60号病例是已经确定为非肾炎病人的结果。表2是就诊人员的化验结果。(表1,表2见附录)我们的问题是:
1.根据表1中的数据,提出一种或多种简便的判别方法,判别属于肾炎病人或非肾炎病人的方法,并检验你提出方法的正确性;
2.按照1提出的方法,判断表2中的30名就诊人员的化验结果进行判别,判定他(她)们是肾炎病人还是非肾炎病人;
3.能否根据表表1的数据特征,确定哪些指标是影响人们患肾炎的关键或主要因素,以便减少化验的指标;
4.根据3的结果,重复2的工作;
5.对2和4的结果作进一步的分析。
表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.30
608
58.9
58.9
139
28
78.6
14.6
9.70
421
70.8
133
464
29
90.0
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.0
28.2
2343
373
110
494
53
164
22.2
35.5
2212
281
153
549
54
173
8.99
36.0
1624
216
103
257
55
202
18.6
17.7
3785
225
31.0
67.3
56
182
17.3
24.8
3073
246
50.7
109
57
211
24.0
17.0
3836
428
73.5
351
58
246
21.5
93.2
2112
354
71.7
195
59
164
16.1
38.0
2135
152
64.3
240
60
179
21.0
35.0
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
问题分析
题目中给出了30组已确诊为肾炎的人员体内七种元素的含量,同时给出了30组已确诊为非肾炎的人员体内七种元素的含量。这七种元素分别是Zn,Cu,Fe,Ca,Mg,K,Na.
问题一是要求我们提出一种或多种简便的判别方法,判别属于肾炎或非肾炎病人的方法,并且要求检验我们提出方法的正确性,根据表1确诊病人的化验结果中七种元素在人体内的含量的不同,30组肾炎病人体内的元素含量与30组非肾炎病人体内的元素含量相比较,一些元素在体内含量太高或太低,或着是各种元素占总含量比例的变化,是判断肾炎和非肾炎的依据。所以,我们通过元素的总量来判别是否患病,但每种元素对判别的影响并不是一样的,所以我们要给它们赋上权重。权重的赋值,我们通过比较准确的全样本对比的方法,虽然这样比较麻烦,但对比图形法要准确的多,况且在MATLAB的帮助下,变的比较容易实现。
权重解出以后,建立线性加权函数,其中,为每个病例的某一元素的含量,为权系数,通过全样本计算后,我们确定400为分界值,小于的为患者,大于等于的为健康者。其中有8个不符合,这样,我们的判别准确率约为87%。
根据问题一所建立的模型来分析表2 中没有确诊的人员的化验结果中的数据,将表2中的每个病例的元素含量代入模型中,依据400分界值来判断表2中这30个人员的健康情况(这里只有肾炎和非肾炎的区别)。发现其中有15人患病,15人健康。
这七种元素并不都是判别是否患有肾炎的重要元素,有些元素对判别是否是肾炎影响不大,为了减少化验指标,这几种元素在人体内的含量我们可以不用知道,这样既不影响判是否是肾炎病人同时也简略了确诊肾炎的医学步骤。因此,我们依据权值的大小,去掉了两种元素。
重新确立了判别肾炎的关键元素后再利用表2中没有确诊的人员的化验结果中的数据来判断表2中这30个人员的健康情况(这里只有肾炎和非肾炎的区别)。
利用七种元素在人体内的含量的数据和利用重新确立的这几种元素在人体内的含量分析出来的表2中30个人员的健康情况有什么不同,就这些有差异的人员的数据做进一步的分析。
问题假设
(1)假设表1给出的数据完全正确,没有误诊并且在化验过程中没有任何错误。
(2)假设表2的化验结果完全正确,在化验过程中没有出现错误和较大的误差。
(3)假设表1中30组已确诊为肾炎的病人的化验数据和30组已确诊为非肾炎。
(4)病人的化验数据对于我们解决分析这一个问题数据是足够的,不存在因为数据不足而引起的分析有较大偏差的问题。
(5)假设对于确诊是不是肾炎这一问题,题目中所给出的七种元素已经足够了,这七种以外的其他元素不会对肾炎的判别有影响。
(6)假设只有肾炎和非肾炎的区别,其他疾病不会对判别结果产生影响。
(7)假设各种元素对于判别是否是肾炎的影响是相互独立的。
符号说明
:某一元素的权重系数
:一位病例的某一元素的含量
:一位病例所测试元素量的总和
: 待定系数
模型的建立及求解
考虑到题目已经给出60位病例,且各种化学元素之间没有很必然的联系,我们考虑到了线性加权的方法。首先,我们对七种化学元素随机分为1、2、3、4、5、6、7七个等级,利用公式
,在MATLAB软件的帮助下,求解出各种赋值情况下的y,求得权重结果如下:然后将不同权重依次赋予每个元素,根据公式运行求得60个人的结果,对所有结果进行比较,得到最理想的权重顺序,每位元素权重大小由高到低依次为钙、镁、锌、铁、铜、钾、纳。(注:为减少运行结果,我们根据元素分布图对病人与健康人分布明显区别的赋予较大权重,对程序进行调试)
由计算出来的各种权重情况下y的值,与前60位病例进行拟合,我们最终选取了最优的一种权重:七个等级权重为:
0.0022
0.0755
0.1408
0.1725
0.1897
0.2038
0.2157
式子表示了其中一位病例的各种元素在乘以相应的权重系数的和,通过60位病例是否患病的情况,我们最优的选取了一个临界值400,即大于等于四百的为健康者,小于四百的为患者。依次,我们将表2的数据代入到模型,求解出y值,并与400比较,因此我们得到了15人为健康者,15人为患者。
由图形,及在计算出所有的y与表一患病情况比较后,我们得出Na,Zn,K三种元素的影响作用很小,可以忽略不记。保留了Ca,Cu,Fe,Mg作为判别是否患病的主要因素。由前边的模型计算出五个等级权重为:
0.0031
0.1615
0.2464
0.2811
0.308
再将表2中的数据代入到新的数据模型中,判别得出,17人为患者,13人为健康者。
结果分析
由前面的的分析解答,我们第一问权重赋予后代回表一检验,得出其中有8个不符合,这样,我们的判别准确率约为87%。因此,问题二15位为患者,15位为健康者有一定的偏差。并且7种元素都进行检验,不但浪费时间经历还可能造成误诊。
因此,我们优化了模型,找到系数显著性最小三种元素,分别为Na,Zn,K;我们又用排列组合的方法分别删除其中的一种、两种和三种元素,分别计算此时代入前60组数据时的准确度,通过比较从而确定主要影响元素。保留了Ca,Cu,Fe,Mg四种元素,除去非主因素的干扰,得到问题二中,有17位患者,13位健康者,与先前的15位患者、15位健康者的结果有一定的偏差,可见,模型的优化不但能提高工作效率,还能提高判别的准确性。
模型评价与推广
此模型方法简单,容易操作,采用了最原始的全样本比较法,但此法具有很高的准确性,在MATLAB软件的支持下,使原本复杂的问题变的简单、容易操作。模型中可以对n个人进行判别,使它的推广变的简单可行。
参考文献: 董立华 高秀莲 ,《数学建模与数学实验》, 天津教育出版社;
赵静 但琦 严尚安 杨秀文 ,《数学建模与数学实验》,高等教育出版社;
附录
问题一MATLAB程序:
clear;clc
%weiti1.m
%病人化验结果
ill=[166
15.8
24.5
700
112
179
513
185
15.7
31.5
701
125
184
427
193
9.80
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.5
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
];
%健康人化验结果
health=[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
];
%分为7个等级所得权重数值
quan=[0.0022
0.0755
0.1408
0.1725
0.1897
0.2038
0.2157
];
result1=ones(30,1);
result2=ones(30,1);
j=1;
for q=1:7 %保证每种元素赋予不同权重
q=5;
for w=1:7
w=3;
if (q==w)==0
for e=1:7
e=4;
if ((e==q)&(e==w))==0
for r=1:7
r=7;
if ((r==e)&(r==q)&(r==w))==0
for t=1:7
t=6;
if ((t==q)&(t==w)&(t==e)&(t==r))==0
for y=1:7
y=2;
if ((y==q)&(y==w)&(y==e)&(y==r)&(y==t))==0
for u=1:7
u=1;
if ((u==q)&(u==w)&(u==e)&(u==r)&(u==t)&(u==y))==0
quan=[quan(q) quan(w) quan(e) quan(r) quan(t) quan(y) quan(u)];
for i=1:30
result1(i,1)=sum(ill(i,:).*quan);%每位病人元素与权重相乘求和
result2(i,1)=sum(health(i,:).*quan);%每位健康人元素与权重相乘求和
b=[q w e r t y u ];
end
end
end
end
end
end
end
end
end
end
end
end
end
end
result1 %病人结果
result2 %健康人结果
b
for m=1:30
if result1(m)>=400
disp('健康');
else
disp('有病');
end
end
问题二MATLAB程序:
clear;clc
%wenti2.m
%表2化验结果
ill3=[58.2
5.42
29.7
323
138
179
513
106
1.87
40.5
542
177
184
427
152
0.8
12.5
1332
176
128
646
85.5
1.7
3.99
503
62.3
238
762.6
144
0.7
15.1
547
79.7
71
218.5
85.7
1.09
4.2
790
170
45.8
257.9
144
0.3
9.11
417
552
49.5
141.5
170
4.16
9.32
943
260
155
680.8
176
0.57
27.3
318
133
99.4
318.8
192
7.06
32.9
1969
343
103
553
188
8.28
22.6
1208
231
1314
1372
153
5.87
34.8
328
163
264
672.5
143
2.84
15.7
265
123
73
347.5
213
19.1
36.2
2220
249
62
465.8
192
20.1
23.8
1606
156
40
168
171
10.5
30.5
672
145
47
330.5
162
13.2
19.8
1521
166
36.2
133
203
13
90.8
1544
162
98.9
394.5
164
20.1
28.9
1062
161
47.3
134.5
167
13.1
14.1
2278
212
36.5
96.5
164
12.9
18.6
2993
197
65.5
237.8
167
15
27
2056
260
44.8
72
158
14.4
37
1025
101
180
899.5
133
22.8
31.3
1633
401
228
289
169
8
30.8
1068
99.1
53
817
247
17.3
8.65
2554
241
77.5
373.5
185
3.9
31.3
1211
190
134
649.8
209
6.43
86.9
2157
288
74
219.8
182
6.49
61.7
3870
432
143
367.5
235
15.6
23.4
1806
166
68.9
188
];
quan=[0.0022
0.0755
0.1408
0.1725
0.1897
0.2038
0.2157
];
result3=ones(30,1);
j=1;
for q=1:7
q=5;
for w=1:7
w=3;
if (q==w)==0
for e=1:7
e=4;
if ((e==q)&(e==w))==0
for r=1:7
r=7;
if ((r==e)&(r==q)&(r==w))==0
for t=1:7
t=6;
if ((t==q)&(t==w)&(t==e)&(t==r))==0
for y=1:7
y=2;
if ((y==q)&(y==w)&(y==e)&(y==r)&(y==t))==0
for u=1:7
u=1;
if ((u==q)&(u==w)&(u==e)&(u==r)&(u==t)&(u==y))==0
quan=[quan(q) quan(w) quan(e) quan(r) quan(t) quan(y) quan(u)];
for i=1:30
result3(i,1)=sum(ill3(i,:)*quan);
b=[q w e r t y u ];
end
end
end
end
end
end
end
end
end
end
end
end
end
end
%根据1问结果设定病人健康分界线定位400,小于400为病人,反之则为健康
for m=1:30
if result1(m)>=400
disp('健康');
else
disp('有病');
end
end
问题三MATLAB程序:
%wenti3.m
clear;clc
%去掉权重最小钾、纳后所得化验表
ill2=[ 58.2
5.42
29.7
323
138
106
1.87
40.5
542
177
152
0.8
12.5
1332
176
85.5
1.7
3.99
503
62.3
144
0.7
15.1
547
79.7
85.7
1.09
4.2
790
170
144
0.3
9.11
417
552
170
4.16
9.32
943
260
176
0.57
27.3
318
133
192
7.06
32.9
1969
343
188
8.28
22.6
1208
231
153
5.87
34.8
328
163
143
2.84
15.7
265
123
213
19.1
36.2
2220
249
192
20.1
23.8
1606
156
171
10.5
30.5
672
145
162
13.2
19.8
1521
166
203
13
90.8
1544
162
164
20.1
28.9
1062
161
167
13.1
14.1
2278
212
164
12.9
18.6
2993
197
167
15
27
2056
260
158
14.4
37
1025
101
133
22.8
31.3
1633
401
169
8
30.8
1068
99.1
247
17.3
8.65
2554
241
185
3.9
31.3
1211
190
209
6.43
86.9
2157
288
182
6.49
61.7
3870
432
235
15.6
23.4
1806
166
];
quan=[0.0031;0.1615;0.2464;0.2811;0.3080] %分为5个权重
result1=ones(30,1);
for q=1:5
q=3;
for w=1:5
w=1;
if (q==w)==0
for e=1:5
e=2;
if ((e==q)&(e==w))==0
for r=1:5
r=5;
if ((r==e)&(r==q)&(r==w))==0
for t=1:5
t=4;
quan=[quan(q) quan(w) quan(e) quan(r) quan(t) ];
for i=1:30
result1(i,1)=sum(ill2(i,:).*quan);
b=[q w e r t ];
end
end
end
end
end
end
end
end
end
for m=1:30
if result1(m)>=400
disp('健康');
else
disp('有病');
end
end
10
_1343196012.unknown
_1343196546.unknown