数学建模论文-血样的分组化验.doc

上传人:小小飞 文档编号:3277174 上传时间:2019-08-07 格式:DOC 页数:14 大小:743.51KB
返回 下载 相关 举报
数学建模论文-血样的分组化验.doc_第1页
第1页 / 共14页
数学建模论文-血样的分组化验.doc_第2页
第2页 / 共14页
数学建模论文-血样的分组化验.doc_第3页
第3页 / 共14页
数学建模论文-血样的分组化验.doc_第4页
第4页 / 共14页
数学建模论文-血样的分组化验.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《数学建模论文-血样的分组化验.doc》由会员分享,可在线阅读,更多相关《数学建模论文-血样的分组化验.doc(14页珍藏版)》请在三一文库上搜索。

1、血样的分组化验 摘要本问题所述的情况在医学统计、病毒检测等诸多问题中是首要解决的问题。进行某种疾病的调查,需要大量的统计数据,而统计数据的取得主要靠实验的方法,这时候,我们就要考虑如何让分组使得我们处理问题的效率提高,花销最少,本文就是以找出最优分组为主要目的。首先解决的是在阳性先验概率p固定情况下建立一个概率模型使化验次数最小的问题,我们设平均每人检验次数的函数为f(x),然后通过非线性方程数值解法对其求解,找到是化验次数最小的每组人数;接着要解决的是阳性先验概率p为多大时,就不应该再分组;再接下来,解决二次分组(即阳性组再分组检验)的问题,我们采用非线性规划模型利用LINGO软件求使化验次

2、数最少的最优解;最后通过平均概率模型讨论其它类型的血样分组情况。关键字:概率模型 非线性方程数值解法 非线性规划 平均概率模型一、问题提出要在人群中(数量很大)找出某种病患者,为减少检验次数,通常采用筛选的办法。即假设人群总数为 n, 将人群分成 m 组,每组的人数为 k,将每组的 k 份血样混在一起进行化验,若化验结果呈阳性,则需要对该组的每个人重新进行化验,以确定患者;若化验结果呈阴性,则表明该组全体成员均为阴性,不需要重新化验。 (1)已知先验阳性率为 p,,当 p 固定时,如何分组可使得化验次数最小; (2)找出不必分组的先验阳性率p的取值范围; (3)讨论两次分组的情况,即检测为阳性

3、的组再次分组检验的情况;(4)讨论其它分组方案,如半分法、三分法,这里我们采用平均概率模型进行分组。二、基本假设血样的检验结果只存在阴性和阳性两种结果, 即阴性与阳性的先验概率之和为1,即p+q=1;假设先验概率是对某个人检验一次,结果呈阳性的概率,并假设先验概率在检验中保持不变(即假设该概率只与疾病有关,而对同一种疾病该值为常量);用来抽样的随机人群相互独立(即不考虑是否有遗传性与病毒的传染); 为了简化模型,假设能够平均分配,进行再分组的时候,对呈阳性的组进行内分组。三、 符号说明n人群总数m第一次分组的组数k第一次分组每组人数 m第二次分组的组数 k第二次分组每组人数p先验阳性概率q先验

4、阴性概率L为一次分组每人的化验次数的最小值X第一次分组每人的化验次数X第二次分组每人的化验次数x1E(X)第一次分组的平均每个人化验次数的数学期望E(X)第二次分组平均每个人化验次数的数学期望X1第一次检验中化验为阳性的组数X2第二次分组后的组数X3第二次化验后得到的阳性组数的期望值y1第一次分组的化验次数y2第二次分组后第一步化验的次数y3第二次化验结束后的化验次数y总共需要化验的次数四、 问题分析1.问题一分析设人群总数为n,分为m组,每组的人数为k(2kn2)。设阳性的先验概率为 p,则阴性的先验概率为q=1-p。如果不进行分组,则每个人都需要化验1次。如果分组,当某组化验结果为阴性时,

5、则不需再进行化验,又因为每个人是否是感染者是相互独立的,故该组平均每个人的化验次数为,概率为qk;若某组化验结果是阳性,则需要对该组的每个人进行化验,该组平均每个人的化验次数为1+,概率为1-qk。因此,需要分组的条件是第一次分组化验次数的数学期望小于1。要求化验次数的数学期望的最小值,就是要求在满足数学期望小于1的情况下的每组人数。2.问题二的分析不应分组的条件就是要求阳性的先验概率p某一范围内,使分组后平均每个人化验次数的数学期望大于1。3.问题三的分析 在第一次分组化验的基础上结果显示为阳性的组再次进行分组化验。对于第一次分组化验为阳性的组,重新分为m组,每组k人。以二次分组时每个人的平

6、均检验次数为目标,建立非线性规划模型,取不同的p,求出第一次分组的最佳分组人数k和第二次分组的最佳分组人数k。4.问题四的分析我们引入平均概率模型,把血样检验中可能出现的情况进行细化分析,最后得出,在实际情况当中,我们可以近似认为当血样检验位阳性的人数等于分组后每一组的人数时,可以使得我们的模型达到很好的优化。五、模型建立与求解1、模型一的建立与求解(问题一和问题二)1模型的建立由以上分析我们可以得出随机变量X 的分布律为:X1k1+kkpqk1-qk由此可以算出X的数学期望为:EX=1kqk+1+kk1-qk=1-qk+1k即一次分组每人的化验次数的数学期望。又因为阳性的先验概率p是固定的,

7、故而是求当k是多少时此期望值为最小值,并且E(X)值不能超过1。L=min1-qk+1k1-qk+1k1kkp1-1kk2.模型求解(1)、由L=min1-qk+1k可知,只要选取适当的k,使得EX取得最小值,也就能得到到次数最小的分配方法,数学期望可以看成是一个关于k(k是自变量)的一个函数,记作:f( x) = 1 qx+1x ( x 2, 0 q 1),只要其在定义域内连续且任意阶导数存在,求f ( x)的极值点,只需令f(x)=0即可,即:fx=-lnqqk-1x2=0 px=1-1xx(x2)因为pe时,函数P(x)单调减少,当2xe时,函数P(x)单调增加,在x=e时取得最大值。画

8、出P(x)的图像如下:又因为k是离散的,只能取整数,故k取3时,P(x)取得最大值P(3)=0.3066故由p1-1kkp0.3066,也就是只有在p0.3066时,调整k的值总能满足p1-1kk。即此时分一次组才比不分组每人平均检验次数少。而对于大于此值的p,并不满足p1-1kk,因而不分组比分一次组平均每人检验次数少。对 f( x) = 1 qx+1x ( x 2, 0 q 1)求导可得:fx=-lnqqk-1x2=0 如果对于给定的q=1-p(必须满足约束条件p0.3066)值,可以通过非线性方程数值解法求得f(x)最小的xm值。由于本题变量(每组人数)均为离散变量,故取与xm最相近的两

9、个整数值(上取整和下取整)xa(xaxm),xb(xbxm),代入E(X),比较两个值,其中较小的那个值即为只分一次组总次数最少的k值。下表即为对应不同的先验概率,相应的最小检验次数的每组人数:0.000010.000030.000050.000080.00010.00050.00131718314211210145320.00630.01090.01410.01780.02000.04480.06280.0050.010.020.030.040.050.081511866540.13910.19560.27420.33370.38390.42620.5336p0.100.200.300.30

10、60.30660.3080.443333330.59390.82130.99030.99901.00051.00201.1173由此可以看出当p0.3066时,E(x)1, 所以分组可以减少检验的工作量,并且能够达到减小检验费用的目的。从上面的E(x)p图像可以分析出:平均每个人的检验次数随的增大而增大。因此,当阳性的先验概率增大时,进行再次分组可以减小检验的次数,达到降低检验费用的目的。从上面的Kp图像我们可以看出:从整体上看,最佳分组人数随的增大而呈现先急剧减小,后趋于水平的趋势。当时,最佳分组人数随着阳性先验概率的增大而急剧减小,当,最佳分组人数几乎不变,结合图1,当增大到一定程度而继续

11、增大时,分组反而增加了检验费用,故而没有必要在进行分组了。2、二次分组(即阳性组再分组检验)的情况1.模型假设(1)在进行第二次分组时,将第一次分组时检验为阳性的组的k个人分为m组是随机的;(2)第二次分组时,阳性的先验概率仍然为2.模型建立与求解第一次分组化验:第一次分组组数为m,所以化验需要的化验次数为次 ,这m组中,化验出阳性的组数应为:组。再给阳性组进行第二次分组化验。我们把化验出为阳性的归为一类,以前的个人随机分为组,每组人,所以有。第二次化验:通过以上的分组方法,可以得到的总小组数为:组,故第二次化验需要的次数次。第二次分组化验时,若检验出某组为阴性,表明该组全体成员全为阴性,不需

12、要重新化验,如为阳性,需要对该组的每个人进行化验,以确定谁是病毒感染者。第二次化验后得到的阳性组数的期望值为:组,每组的人数为人。所以再需要的化验次数次。所以要进行两次分组,总共需要的化验次数y为:又由于总人数,所以可得平均每人需要的化验次数数学模型为: 令E(x)=E(x)可以得出时取K ,代入式子可以得出。由此可见,只要所给的值小于0.2929(而且满足假设(4),分两次组就比分一次组要好。使用LINGO编程(见附件)求出当P在(0.00001,0.40)之间变化满足以上条件的最优解,下面给出几组有代表性、:0.0050.010.020.030.040.050.08422414121010

13、51412765550.05020.08390.13910.18550.22890.2710.38440.10.20.30.3060.3070.3080.4633333333333330.44980.73410.9840.99851.00091.00331.2093根据上面表分析得:当,可以进行两次分组,分组能够减小平均每个人的化验次数,当,分组反而增加了平均每个人的化验次数。3.结果分析血样分组检验的方式不同,就会导致检测次数的不同,在实践情况当中,我们会对检测的方式进行分析,得出最合适的方式。下面我们来分析一次分组检验与二次分组检验平均检验次数与的关系:当阳性的先验概率时,不分组每个人一次

14、一次的检验可以使总次数最少;当所给时,进行一次检验比分二次组和不分组均可使总次数最少;当时,分两次组总次数比分一次组总次数要少。由于题给条件是人群数量很大,基本是健康人,所以可以认为先验概率很小,不分组的情况在实际当中可以不予考虑(此时的概率在0.3左右,相当大),故而我们可以认为当时,二次分组更好。综上所述,当时,即一次分组血样化验的平均检验次数大于二次分组血样化验的平均化验次数,因此一次分组化验的费用比两次分组化验的费用要大,在实际的血样分组化验过程中,应该选择二次分组化验;当时,即不管是一次分组化验还是二次分组化验,平均化验次数都大于不分组时平均化验次数,反而提高了化验费用,因此,在实际

15、的血样分组检验中,不需要分组化验。3.讨论其它分组方案-平均概率模型首先我们先给出一个假定阳性血样的人群有5个小组检测为阳性,10人患病,求共有多少组情况的MATLAB编程示例。示例:假定阳性血样的人群有5个小组时的Matlab的程序如下:clear;clc;counter=0;z=input(请输入病人数: )for r1=1:z for r2=r1:z-r1 for r3=r2:z-r1-r2 for r4=r3:z-r1-r2-r3 for r5=r4:z-r1-r2-r3-r4 if r1+r2+r3+r4+r5=z r1,r2,r3,r4,r5 counter=counter+1;

16、end end end end endendcounter输入z的值为10,输出计算结果: z = 10ans = 1 1 1 1 6ans = 1 1 1 2 5ans = 1 1 1 3 4ans = 1 1 2 2 4ans = 1 1 2 3 3ans = 1 2 2 2 3ans = 2 2 2 2 2counter = 7这表示如果有5个组为阳性,有10个人患病的话,可能会有7种分组情况,分组情况如上。假定总人数为1000,p=1%时分组情况的讨论:1. n=1000,p=1%,分100组,每组10人阳性组阴性组分组可能情况概率检验次数平均检验次数1991P1=1/421102.6

17、192985P2=5/4212014.2863978P3=8/4213024.7624969P4=9/42140305957P5=7/42150256945P6=5/4216019.0487933P7=3/4217012.1438922P8=2/421808.5719911P9=1/421904.52410901P10=1/422004.762平均检验次数:= 145.715个人平均检验次数:E=N/1000= 0.14572. n=1000,p=1%,分125组,每组8人阳性组阴性组分组可能情况概率检验次数平均检验次数1124000021235P1=5/4114117.19531228P2=

18、8/4114929.07341219P3=9/4115734.46351207P4=7/4116528.17161195P5=5/4117321.09871183P6=3/4118113.24481172P7=2/411899.2291161P8=1/411974.805101151P9=1/412055平均检验次数:= 162.269个人平均检验次数:E=N/1000= 0.16233. n=1000,p=1%,分50组,每组20人阳性组阴性组分组可能情况概率检验次数平均检验次数1491P1=1/42701.6672485P2=5/429010.7143478P3=8/4211020.952

19、4469P4=9/4213027.8575457P5=7/4215025.0006445P6=5/4217020.2387433P7=3/4219013.5718422P8=2/4221010.0009411P9=1/422305.47610401P10=1/422505.952平均检验次数:= 141.427个人平均检验次数:E=N/1000= 0.14144. n=1000,p=1%,分40组,每组25人阳性组阴性组分组可能情况概率检验次数平均检验次数1391P1=1/42751.7857142385P2=5/4210011.904763378P3=8/4212523.809524369P

20、4=9/4215032.142865357P5=7/4217529.166676345P6=5/4220023.809527333P7=3/4222516.071438322P8=2/4225011.904769311P9=1/422756.54761910301P10=1/423007.142857平均检验次数:= 164.2857个人平均检验次数:E=N/1000= 0.1643结果分析根据上述图表我们可以知道,总数为1000人,患病率为1%的群体,选择每组人数为10到25之间的分组情况为宜。对于群体总量比较少的检验我们可以尽量选取多的如上面所述的模型进行计算进而得出期望检验次数最少且比较

21、合理的分组方案。但对于数量比较大的总体应该重新考虑。根据上面各表以及我们对期望检验次数的计算,可以知道每组人数为10的期望检验人数为145.715,其前即每组分8个人方案的期望检验人数为162.8,而之后到了第组25即期望检验人数为164.2857变化比较小,虽然中间有每组20人的检验人数比其小但为了方便对于数量比较大的总体每组人数我们选择可以选择np(n代表总量,p代表患病概率)六、模型评价和推广在实际操作中,由于多次分组需要多次混合血样,在操作中会带来很大的麻烦;而且,在混合当中可能会造成很大的误差,特别是当多次混合血样比一次混合或不分组的平均每人检验次数不是少很多的时候,进行一次分组或不

22、分组效果可能会更好。本模型可以说在所给定的假设内解决了该问题。假设(1)在实际当中可能不会被作为分组与不分组的判断标准;假设(2)与(3)是可以接受的,直观上可以认为以阳性的先验概率至于不同疾病有关,而不会与检验次数有关,同时在没有遗传病的情况下,做出假设(3)也是合理的;假设(4)在人群数目较小时是很容易实现的,但当人群数目很大时,很难严格的达到平均分组的条件。例如对某几个地区某病毒的感染情况进行调查统计时,往往利用分治法的思想把人群按单位或更小的行政区域进行分区调查,再将所有的数字汇总。这种分组的方法并不能保证平均分配人数。影响此模型的因素还有先验概率,先验概率是一定人群中的患病概率,如果

23、人群的情况有所变化可能会对模型给出的结论有所影响。比如普通人群中艾滋病病毒抗体的感染率是很低的,如果用这个概率作为先验概率去进行对以男性同双性恋者为对象的估计中,往往会出现较大的偏差。最后,我们引入平均概率模型,再把血样检验中出现的可能性细化,得到当血样检验为阳性的人数等于分组后每一组的人数时,通过这样的分组模型可以使检验次数达到最优,。七、参考文献【1】 姜启源,谢金星,叶俊 数学模型 高等教育出版社【2】王松桂,张忠占,陈维虎高旅端 概率论与数理统计 科学出版社【3】周兴建,岂兴明,矫津毅,常春藤 MATLAB从入门到精通人民邮电出版社八、附件(1)附件清单:附件1:第一次分组不同值下的最佳分组人数和平均每个人的检验次数的LINGO程序附件2:第二次分组不同值下的最佳分组人数和平均每个人的检验次数的LINGO程序(2)附件1的LINGO程序(非线性规划法):data:p=0.08;enddatamin=1-(1-p)k+1/k;gin(k);(注:只需要按表1改变值就可以得到表1的结果)(3)附件2的LINGO程序(非线性规划法):data:p=0.0001;enddatamin=1/k+(1-(1-p)k)*(1/m+1-(1-p)m);gin(k);gin(m);z=k/m;gin(z);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1