一种疾病传染过程的空时动态模拟方法与流程

文档序号:16369025发布日期:2018-12-22 08:35阅读:733来源:国知局
一种疾病传染过程的空时动态模拟方法与流程

本发明涉及一种新型模拟方法,尤其是一种疾病传染过程的空时动态模拟方法。

背景技术

目前,在人类社会中,传染病的威胁无处不在。从非典型性肺炎开始,许多疾病都对社会造成了极大的影响。何时以及如何控制传染病的爆发时一个十分有意义的问题。传染病的扩散过程,是疾病在人群中的一种复杂扩散过程。如果对这种复杂过程进行建模,可以更好的学习传染病的流行方法,认识其流行规律,并对其传播过程进行预测,以便对其进行干预。

用数学模型帮助研究传染病的传播机理,预测传染病的流行趋势是一种非常常见的方法。传染病的数学模型研究总共分为两类:决定性模型和网络动力学模型。虽然决定论模型目前仍然具有非常重要的学术地位,不过随着人工智能技术的发展,网络动力学模型成为了新的研究热点。这两种模型都可以利用其模拟结果更好地为传染病防治决策提供支持。

目前对决定性模型的构造多为微分方程,但是所得到的结果相对单一,对各种元素的设定较弱。而网络动力学模型虽然对各种元素的设定都较为方便,但是这些模型对个体的传染方式却很难控制。这两种现有模型都不能满足我们对复杂传染病的模拟。



技术实现要素:

本发明要解决的技术问题是提供一种疾病传染过程的空时动态模拟方法,用以解决上述问题。

本发明的技术方案是:一种疾病传染过程的空时动态模拟方法,其特征在于:首先,建立每个个体的信息库;其次,建立每个个体的移动坐标信息库;然后,随着天数增加,患病状态也同时增加,每天每个个体的位移都会改变。在增加过程中,判断患病状态是否达到了传染门限和治愈门限,如果达到要求,则传染或治愈,最后,治愈个体移出系统,不再参与系统中的各个部分运作;包括个体信息库建立、个体移动坐标信息库建立、天数判定、疾病状态增加、位移改变、传染门限判定、进行传染过程、传染距离判定、传染未患病者、治愈门限判定、治愈移出系统几个步骤。

具体步骤为:

step1:个体信息库建立:即建立一个矩阵,将这个矩阵作为个体发病状态的信息库;发病人hi(i=n)有三个状态参数:坐标(xi,yi)和发病状态;首先产生一个三列矩阵,分别由x,y,s三列组成,每行代表一个个体的信息,其中,x,y为此个体坐标,s为其发病状态;

每个个体的发病状态由数字组成,未感染上传染病的个体由数字0表示,已经患病的个体初始状态为1,随着天数的增加,患病个体的数值依次增加;

step2:个体移动坐标信息库建立:以step1中的坐标信息为基准,进行坐标信息的更改,产生2n个独立的服从正态分布的随机数δ1-δ2n,组成另一个矩阵,作为地点增减的指标;

对原矩阵进行前两列的修改,以达到改变位置的目的:

随着天数更新,δ也变化,每个个体从之前的位置进行移动;

step3:天数判定:设定天数门限d为一个大于0的常数,将目前的天数d设定成循环因子,与已经设定的天数门限d进行比较,当d<d时,持续进行循环;当d>d时,循环结束,停止循环;

step4:疾病状态增加:即对满足step3中条件且step2矩阵中的不为0的个体的s值进行改变,在step3的循环中,随着循环因子天数d的增加,在矩阵中遍历矩阵s,如果s≠0,则在现有的s值上增加1,即增加状态值;

step5:位移改变:在step2中的距离矩阵进行随机的加减,即设定随机数m,使m服从正态分布,产生2×n个随机数m,与原来的距离矩阵相加,以达到从原来位置进行移动的效果;

step6:传染门限判定:将满足step5中条件个体的状态值s与传染门限imax进行比较,当s>imax时,认为此个体具备传染条件,可以进行下一步的传染;若s<imax,则认为此时此个体不构成传染其他个体的条件,暂时不能被传染,继续进行循环;

step7:进行传染过程:满足step6中条件的个体视为具有了传染其他未染病个体的条件,满足传染条件的个体,即可继续进行后续步骤;未满足条件的个体继续进行循环;

step8:传染距离判定:对个体之间的相对距离进行计算,形成距离矩阵dis,设定传染距离dmax,step7中的具有传染能力的个体可以传染小于传染距离dmax的未患病个体,即当个体s>imax且在其距离内距离r<dmax的s=0个体可以被传染;

step9:传染未患病者:满足step8中条件的个体对未患病的个体进行传染,即状态值s>imax的个体将满足条件s=0的个体的状态值改变,其状态值由0更改为1,视为已经染病;

step10:治愈门限判定:将step9中个体的状态值与cmax进行比较,若s>cmax,则视为个体治愈,将状态值改为负值,视为移出系统;若s<cmax,则个体未满足条件,继续参与系统循环;

step11:治愈移出系统,满足step10中治愈条件的个体移出系统,不再参与系统循环。

本发明的有益效果是:既可以对整体的传染方法进行模拟,也可以对不同个体的状态进行设定,通过蒙特卡洛法对每个个体的状态进行模拟,解决单一模型只能对所有数据进行模拟且不能控制元素的问题,为疾病的动态模拟提供了一种新的思路。

附图说明

图1是本发明的步骤流程图。

具体实施方式

下面结合附图和具体实施方式,对本发明作进一步说明。

实施例1:如图1所示,一种疾病传染过程的空时动态模拟方法,假设某个生态系统中有n个个体,总共的传染天数为d,传染门限为imax,治愈门限为cmax,部分个体初始状态为0,代表未染病;其余个体初始状态为1,代表已经染病。随着天数的增加,未染病的个体保持状态为0不变,已经染病的个体每日增加1。每天每个个体的坐标也增加服从正态分布的随机数数目。当个体状态达到imax时,可以传染其传播距离内未染病的个体。如果有未患病个体的与此个体的相对距离小于传染距离,则未患病个体被传染。当个体状态继续增加达到cmax时,视其受到管控,疾病得以治愈。此时治愈个体视为移出系统,不再参与系统的其他运作。

具体步骤为:

step1:个体信息库建立,即建立一个矩阵,将这个矩阵作为个体发病状态的信息库。发病人hi(i=n)有三个状态参数:坐标(xi,yi)和发病状态。首先产生一个三列矩阵,分别由x,y,s三列组成,每行代表一个个体的信息。其中,x,y为此个体坐标,s为其发病状态。

每个个体的发病状态由数字组成,未感染上传染病的个体由数字0表示。已经患病的个体初始状态为1。随着天数的增加,患病个体的数值依次增加。

step2:个体移动坐标信息库建立。以step1中的坐标信息为基准,进行坐标信息的更改。产生2n个独立的服从正态分布的随机数δ1-δ2n,组成另一个矩阵,作为地点增减的指标。

对原矩阵进行前两列的修改,以达到改变位置的目的:

随着天数更新,δ也变化,每个个体从之前的位置进行移动。

step3:天数判定。设定天数门限d为一个大于0的常数,将目前的天数d设定成循环因子,与已经设定的天数门限d进行比较。当d<d时,持续进行循环;当d>d时,循环结束,停止循环。

step4:疾病状态增加,即对满足step3中条件且step2矩阵中的不为0的个体的s值进行改变。在step3的循环中,随着循环因子天数d的增加,在矩阵中遍历矩阵s,如果s≠0,则在现有的s值上增加1,即增加状态值。

step5:位移改变,在step2中的距离矩阵进行随机的加减。即设定随机数m,使m服从正态分布,产生2×n个随机数m,与原来的距离矩阵相加,以达到从原来位置进行移动的效果。

step6:传染门限判定。将满足step5中条件个体的状态值s与传染门限imax进行比较,当s>imax时,认为此个体具备传染条件,可以进行下一步的传染;若s<imax,则认为此时此个体不构成传染其他个体的条件,暂时不能被传染,继续进行循环。

step7:进行传染过程,满足step6中条件的个体视为具有了传染其他未染病个体的条件,满足传染条件的个体,即可继续进行后续步骤;未满足条件的个体继续进行循环。

step8:传染距离判定,对个体之间的相对距离进行计算,形成距离矩阵dis。设定传染距离dmax,step7中的具有传染能力的个体可以传染小于传染距离dmax的未患病个体,即当个体s>imax且在其距离内距离r<dmax的s=0个体可以被传染。

step9:传染未患病者,满足step8中条件的个体对未患病的个体进行传染,即状态值s>imax的个体将满足条件s=0的个体的状态值改变,其状态值由0更改为1,视为已经染病。

step10:治愈门限判定,将step9中个体的状态值与cmax进行比较,若s>cmax,则视为个体治愈,将状态值改为负值,视为移出系统;若s<cmax,则个体未满足条件,继续参与系统循环。

step11:治愈移出系统,满足step10中治愈条件的个体移出系统,不再参与系统循环。

以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1