血样的分组检验.docx
《血样的分组检验.docx》由会员分享,可在线阅读,更多相关《血样的分组检验.docx(16页珍藏版)》请在冰豆网上搜索。
![血样的分组检验.docx](https://file1.bdocx.com/fileroot1/2023-2/1/794e3f6f-475d-42a3-8127-3ea5164b2279/794e3f6f-475d-42a3-8127-3ea5164b22791.gif)
血样的分组检验
题目:
血样分组检验的数学模型
一.摘要
本文主要为了解决减少血样检验次数这个实际问题,为了在人群中(数量很大,基本上是健康人)找出某种病毒的感染者,为减少检验次数(目的是降低费用),通常采用筛选的办法:
即假设人群总数为n,将人群分成m组,每组的人数为k,将每组的k份血样混在一起进行化验,若化验结果呈阳性,则需要对该组的每个人重新进行化验,以确定谁是病毒感染者;若化验结果呈阴性,则表明该组全体成员均为阴性,不需要重新化验。
通过把人群分为若干组,每组若干人,易得到混合血样检验次数,阳性组的概率,进而引入阳性组数的平均值,从而得到平均总检验次数,最后通过一个人的平均检验次数的一元函数,把问题归结为一个关于每组人数k的一元函数E(k),求解得E(k)=kp+1/k;通过计算,
当p>0.307时不应分组;将第1次检验的每个阳性组再次分m组,通过建立一个关于k,m的二元函数E(k,m),通过求导得稳定点函数,解方程组得:
k=1/m=p-1/2
关键词:
先验概率;平均总检验次数;血样的阴阳性;组的基数
二.问题的提出
在人群(数量很大)中进行血样检验,设已知先验阳性率为p,为减少检验次数将人群分组。
若k人一组,当k份血样混在一起时,只要一份呈阳性,这组血样就呈阳性,则该组需人人检验;若一组血样呈阴性,则该组不需检验
在一个很大的人群中,通过血样检验普查某种疾病,假定血样为阳性的先验概率为p(通常p很小).为减少检验次数,将人群分组,一组人的血样混合在一起化验.当某组的混合血样呈阴性时,即可不经检验就判定该组每个人的血样都为阴性;而当某组的混合血样呈阳性时,则可判定该组至少有一人血样为阳性,于是需要对这组的每个人再作检验.
(1),当p固定时(如0.01%,…,0.1%,…,1%)如何分组,即多少人一组,可使平均总检验次数最少,与不分组的情况比较.
(2),当p多大时不应分组检验.
(3),讨论两次分组的情况,即阳性组再分组检验。
(4),讨论其它分组方案,如半分法、三分法。
三.基本假设
2.1血样检查到为阳性的则患有某种疾病,血样呈阴性时的情况为正常
2.2血样检验时仅会出现阴性,阳性两种情况,除此之外无其它情况出现,检验血样的药剂灵敏度很高,不会因为血样组数的增大而受影响.
2.3阳性血样与阳性血样混合也为阳性
2.4阳性血样与阴性血样混合也为阳性
2.5阴性血样与阴性血样混合为阴性
四.符号说明
变量:
n:
检验人群总数
p:
阳性的先验概率
K:
每组的人数
q:
阴性先验概率q=1-p
L:
为一次分组没人的化验次数的最小值
X:
一次分组每人的化验次数
M:
组数
E(x):
X的数学期望,即均值
血样检验为阳性(患有某种疾病)的人数为:
z=np
发生概率:
Pi,i=1,2,.....,x
检查次数:
Ri,i=1,2,......x
平均总检验次数:
五.问题的分析
根据题意,由已知的先验概率是一个很小的数值,我们大可不必要一个一个地检验,为减少检验次数,我们通过一次分组,从而可使检验次数大大减少;然而通过再一次分组,可使结果进一步优化,从而达到一个更佳的结果.由基本假设有p+q=1,且被测人群全体n为定值,所以为使验血次数最少只需使平均每人的验血次数最少即可1对每一分组的检测结果只有两种结果,若血样为阴性则只需验这一次,概率为qk,否则需验k+1次,概率为1-qk1人群全体n中每人的平均需验次数为X的均值,需要考虑的问题是:
①在0六,模型建立与求解
设总人数为n,已知每人血样阳性的先验概率为p,记血样阴性的概率q=1-p
模型一:
设分x组,每组k人(n很大,x能整除n,k=n/x),混合血样检验x次.阳性组的概率为P1=1-qk,分组时是随机的,而且每个组的血样为阳性的机率是均等的,阳性组数的平均值为xp1,这些组的成员需逐一检验,平均次数为kxp1,所以平均检验次数N=x+kxp1,一个人的平均检验次数为N/n。
记作:
E(k)=1/k+1-qk=1/k+1-(1-p)k
(1)问题是给定p求k使E(k)最小.
p很小时利用可得(1-p)k=1-kp得E(k)=1/k+kp
(2)
显然k=p-1/2时E(k)最小.因为K需为整数,所以应取k={p-1/2}和k=(p-1/2)+1,比较E(K),得到K的最优值,见表1.
P(%)
K
E(k)
0.01%
100
0.020
0.1%
32
0.063
1%
10
0.196
2%
8
0.274
5%
5
0.426
表1一次分组检验结果
图一
当p=0.01%时,可用MATLAB模拟出E(k)=1/k+0.0001×k的图像如图一,曲线是关于k的图像.
图形一
2),下图一是关于p和k的关系图(p=0.01%)
图二
同上法,当p=0.1%时,可用MATLAB模拟出E(K)=1/K=0.001×K的图像如图二,曲线是关于k的图像.其它情况我们一样可用其所长Maple模拟出类似的图像:
图2
此图是p=0.1时k关于p的图像
模型二
随着p的增加k减小,E(k)变大.只要E(k)>1时,就不应分组,即当E(K)>1时,不应分组,即:
用数学软件求解得检查k=2,3,可知当p>0.307不应分组.
4.3模型三
将第1次检验的每个阳性组再分y小组,每小组m人(y整除k,
).因为第1次阳性组的平均值为
所以第2次需分小组平均检验
次,而阳性小组的概率为
(为计算
简单起见,将第1次所有阳性组合在一起分小组),阳性小组总数的平均值为
这些小组需每人检验,平均检验次数为
所以平均总检验次数N=x+
+
一个人的平均检验次数为N/n,记作(注意:
n=kx=myx):
(3)
问题是给定p求k,m使E(k,m)最小.
P很小时(3)式可简化为:
(4)
对(4)分别对k,m求导并令其等于零,得方程组:
舍去负数解可得:
(5)
且要求k,m,
均为整数.经在(5)的结果附近计算,比较E(k,m),得到k,m的最优值,见表2:
p
k
M
E(k,m)
0.01%
700
100
0.0028
0.1%
125
25
0.0161
1%
22
11
O.O897
2%
14
7
0.131
5%
8
4
0.305
表2二次分组检验结果
与表1比较可知,二次分组的效果E(k,m)比一次分组的效果E(k)更好.
4.4模型四(平均概率模型)
1)主要参数:
患病人数:
z=np
组的基数:
每组需要检验的人数。
平均检验次数:
阳性血样的分组模型:
可分为x组,每组k人
分组要满足的条件:
{
{
其中y为患病人数.
2),分组人数=患病人数(即:
血样呈阳性的人数)时,通过这样的分组模型可以使检验次数达到最优.
2)当z>k(
)时,一组人不能包括所有的病人数,第一次检验的基数较大.
3)当z具体例子见附录二
模型推广
本数学模型也可适用于某人民医院要对某地区的居民是否患有某种病(如乙肝)的检验,并对该地区的病情作一定的预测,从而达到预防和及早治疗的效果.乙肝的血样检验只有阴性,阳性两种情况,我们可用本数学模型切实地解决这个问题.
6模型评价
由于血样的先检概率通常很小,为减少检验次数,我们通过先对检验的人群进行分组,引入阳性组的概率,通过阳性组数的平均值作为桥梁,由于阳性组的人需要全部重新检验,最后可得平均总检验次数,进而得到一个人的平均检验次数的一元函数.
然而我们通过对阳性组人群进行再次分组(即对检验人群进行二次分组),从而得到一个关于两次分组人数二元函数,进而得到更为优化的数学模型.
最后,我们引入平均概率模型,再把血样检验中出现的可能性细化,得到当血样检验为阳性的人数等于分组后每一组的人数时,通过这样的分组模型可以使检验次数达到最优,但是我们尚未能给出确实的理论证明.
附录【1】:
假定阳性血样的人群有6个小组时的Matlab的程序如下:
clear;clc;
counter=0;
z=input('请输入病人数')
forr1=1:
z
forr2=r1:
z-r1
forr3=r2:
z-r1-r2
forr4=r3:
z-r1-r2-r3
forr5=r4:
z-r1-r2-r3-r4
ifr1+r2+r3+r4+r5==z
[r1,r2,r3,r4,r5]
counter=counter+1;#计数器
end
end
end
end
end
end
counter#输出计数的结果
输入z的值为10,输出计算结果:
couter=7
图一程序:
>>k=0:
20:
400
k=
020406080100120140160180200220240260280300320340360380400
>>p=1./k+0.0001*k
p=
Columns1through17
Inf0.05200.02900.02270.02050.02000.02030.02110.02220.02360.02500.02650.02820.02980.03160.03330.0351
Columns18through21
0.03690.03880.04060.0425
>>plot(k,p)
>>xlabel('人数k')
>>ylabel('E(k)')
>>title('图一')
图二程序:
>>k=26:
2:
40;
>>p=1./k+0.001*k;
>>plot(k,p)
>>xlabel('k')
>>ylabel('E(k)')
>>title('图二')
,p=0.01%时的,p,k图程序
k=0:
20:
200
k=
020406080100120140160180200
>>p=(1./k).^2;
>>plot(k,p)
>>xlabel('人数k')
>>ylabel('p')
>>title('图一')
p=0.1%时p,k图程序:
>>k=20:
2:
40;
>>p=(1./k).^2;
>>plot(k,p,'r')
>>xlabel('k')
>>ylabel('E(k)')
title('图二')
附录【2】
n=1000.P=1%.分100组
阴性组
阳性组
分组可能情况
概率
检验次数
平均检验次数
1
99
1
P1=1/42
110
2.619
2
98
5
P2=4/42
120
11.429
3
97
8
P3=8/42
130
24.763
4
96
9
P4=9/42
140
30
5
95
7
P5=7/42
150
25
6
94
5
P6=5/42
160
19.048
7
93
3
P7=3/42
170
12.143
8
92
2
P8=2/42
180
8.571
9
91
1
P9=1/42
190
4.524
10
90
1
P10=1/42
120
4.762
平均检验次数:
个人平均检验次数:
E=N/1000=0.1429
n=1000,p=1%,分125组,每组8人
阳性组
阴性组
分组可能情况
概率
检验次数
平均检验次数
1
124
0
0
0
0
2
123
4
P1=4/40
141
14.100
3
122
8
P2=8/40
149
29.800
4
121
9
P3=9/40
157
35.325
5
120
7
P4=7/40
165
28.875
6
119
5
P5=5/40
173
21.625
7
118
3
P6=3/40
181
13.575
8
117
2
P7=2/40
189
9.450
9
116
1
P8=1/40
197
4.925
10
115
1
P9=1/40
205
5.125
平均检验次数:
个人平均检验次数:
E=N/1000=0.1628
n=1000,p=1%,分为50组,每组20人
阳性组
阴性组
分组可能情况
概率
检验次数
平均检验次数
1
99
1
P1=1/530
70
0.1321
2
98
10
P2=10/530
90
1.6981
3
97
33
P3=33/530
110
6.8491
4
96
64
P4=64/530
130
15.6981
5
95
84
P5=84/530
150
23.7736
6
94
90
P6=90/530
170
28.8679
7
93
82
P7=82/530
190
29.3962
8
92
70
P8=70/530
210
27.7358
9
91
54
P9=54/530
230
23.4340
10
90
42
P10=42/530
250
19.8113
平均检验次数:
个人平均检验次数:
E=N/1000=0.1774
【参考文献】
[1]姜启源,谢金星,叶俊数学模型(第三版).高等教育出版社.2003.2
[2]姜启源数学模型(第四版)高等教育出版社.1993
[3]王沫然MATLAB6.0与科学计算.电子工业出版社.2001.9
[4]魏宗舒概率论与数理统计教程.高等教育出版社.1982.3
[5]王庚实用计算机数学建模[M].安徽大学出版社.2000[3]
【6】盛骤.概率论与数理统计[M].北京:
高等教育出版社,2001.