一种基于Python和BP神经网络的新冠肺炎SIT模型反演方法与流程
本发明属于传染病传播与控制技术领域,具体涉及一种基于python和bp神经网络的新冠肺炎sit模型反演方法。
背景技术:
新冠肺炎(covid-19)是一种新型疾病,调查发现这是一种未知的病毒引起的,这种病毒被称为新型冠状病毒,它的爆发会对人类身体健康和生命安全造成极大的威胁,且改病毒传染性极强。
sir模型是一种为传染病建立的数学模型,该模型不是从病理知识的角度考虑传染病,而是按照一般传染病机理通过数量关系描述传染病的传播过程,从而分析传染病人数的变化规律,揭示传染病的发展形态,每次发生的大规模传染病事件的传染病参数都不同,参数的大小与政府的措施、病毒的传染性、人民的防范意识都对该次的传染病参数起到重要的影响作用,而传染病参数对于一个模型来说是必不可少的,在“sir传染病模型的参数反演”文献中首先建立的sir模型的微分方程,并用亚当斯(adams)方法解出了该方程的多组数值解,但该方法求出的数值解对比编程迭代出的数值解仍有准确度上的差异,这将不利于接下来神经网络的训练和反演。
技术实现要素:
针对上述存在的技术问题,本发明提供了一种基于python和bp神经网络的新冠肺炎sit模型反演方法,通过反演方法模拟,可对疾病发展的趋势做出预测,对将来管控的进行可以起到有效的作用。
本发明采用的技术方案是:
一种基于python和bp神经网络的新冠肺炎sit模型反演方法,其特征在于,包括以下步骤:
步骤s1:建立新冠肺炎sit模型;
设在一固定地区内总人口初值为n,将该地区内的人群分成三类:易感者、感染者和移出者,其中,移出者包括隔离和治愈者,则t时刻的易感者、感染者和移出者之间的关系如下:
n=st+it+rt(1)
其中,s表示易感者;i表示感染者;r表示移出者;
设感染者日接触率为β,移出率为γ,则相对移出率
设初始时刻i(0)=i0,s(0)=s0,r(0)=r0,则有:
s1=s0-βs0i0;(2)
i1=βs0i0-γi0+i0;(3)
r1=γi0+r0;(4)
若初始值是已知的,则有:
st=s(t-1)-βs(t-1)i(t-1)(5)
it=βs(t-1)i(t-1)-γi(t-1)+i(t-1)(6)
rt=γi(t-1)+r(t-1)(7)
步骤s2:参考历史传染病的参数数据,初步确定新冠肺炎sit模型中的参数β和γ取值的预测区间;
步骤s3:从预测区间的最小值开始,依次将β和γ的值增加0.01,取若干组(β,γ)值,将若干组(β,γ)值及n代入循环迭代算法中,获得若干组i(t)值;
步骤s4:通过python构建bp神经网络;
步骤s5:将若干组i(t)值作为输入,各组对应的(β,γ)值作为输出,建立bp神经网络的训练样本,并训练bp神经网络;
步骤s6:将实际的i(t)值输入训练好的bp神经网络中,反演求出参数β和γ的值;
步骤s7:将参数β和γ值代入新冠肺炎sit模型中,可对新冠肺炎疫情走向进行分析。
优选的,在上述步骤s3中,所述循环迭代算法采用python进行编程。
本发明的有益效果:本发明通过python迭代法求出sit模型的数值解,并用python构建bp神经网络,利用bp神经网络的非线性映射能力对得出的数据进行训练,再分阶段利用训练后的bp神经网络和实际的i(t)的值进行反演,根据反演求出的(β,γ)值与历史传染病的参数进行比较,可对新冠肺炎疫情走向进行进一步分析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为sit模型的原理图;
图2为bp神经网络的结构示意图;
图3为相对移出率ρ变化图;
图4为实际感染人数和理论感染人数的变化图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明具体提供了一种基于python和bp神经网络的新冠肺炎sit模型反演方法,包括以下步骤:
步骤s1:建立新冠肺炎sit模型(如图1所示);
设在一固定地区内总人口初值为n,将该地区内的人群分成三类:易感者、感染者和移出者,其中,移出者包括隔离和治愈者,则t时刻的易感者、感染者和移出者之间的关系如下:
n=st+it+rt(1)
其中,s表示易感者;i表示感染者;r表示移出者;
设感染者日接触率为β,移出率为γ,则相对移出率
设初始时刻i(0)=i0,s(0)=s0,r(0)=r0,则有:
s1=s0-βs0i0;(2)
i1=βs0i0-γi0+i0;(3)
r1=γi0+r0;(4)
若初始值是已知的,则有:
st=s(t-1)-βs(t-1)i(t-1)(5)
it=βs(t-1)i(t-1)-γi(t-1)+i(t-1)(6)
rt=γi(t-1)+r(t-1)(7)
步骤s2:参考历史传染病(如sars)的参数数据,初步确定新冠肺炎sit模型中的参数β和γ取值的预测区间;
步骤s3:从预测区间的最小值开始,依次将β和γ的值增加0.01,取若干组(β,γ)值,将若干组(β,γ)值及初始值n代入代入循环迭代算法中,获得若干组i(t)值;
步骤s4:通过python构建bp神经网络;
步骤s5:将若干组i(t)值作为输入,各组对应的(β,γ)值作为输出,建立bp神经网络的训练样本,并训练bp神经网络;
步骤s6:将实际的i(t)值输入训练好的bp神经网络中,反演求出β和γ;
步骤s7:将参数β和γ的值代入新冠肺炎sit模型中,可对新冠肺炎疫情走向进行分析。
在上述步骤s3中,所述循环迭代算法采用python进行编程,过程如下:
由公式(8)、(9)和(10)可知,根据s(t-1)、i(t-1)和r(t-1),便可获得t时刻的st、it和rt;则可建立循环迭代算法法进行求值,例如已知i0,可求得任一时间的i(t),因为我们只需要知道it的值,而知道it的值必须知道st的值,所以公式(10)可以不用,只需要公式(8)、(9)就可以迭代求出各时间的it。
所述循环迭代算法采用python进行编程,其核心代码为:
所述循环迭代法每个周期都会更新s(t)、i(t)的值,将更新后s(t)、i(t)的值代入公式(8)、(9)和(10)中开始新一轮的计算,且循环t次可求得s(t)、i(t)的近似值,该方法求得的值相对显性亚当斯方法求得的近似值更为准确。
bp神经网络创建及训练过程:
(1)创建神经网络类
(2)针对输入数据的权重和偏差进行微调对神经网络进行训练,训练过程的每次迭代包括:
计算预测输出的值,即前馈;
更新权重和偏差,即反向传播;
训练的目标是找到能使损失函数最小化的一组最优的权值和偏差;
(3)向代码中添加前馈和反向传播函数;
(4)输入i(t)值以及对应的(β,γ)对bp神经网络进行1000次以上训练迭代;
(5)得出预测结果。
bp神经网络的结构图如图2所示,由输入层、隐藏层和输出层构成,各层的每个神经元均与相邻层每个神经元相互连接,其中,隐藏层激活函数通常采用sigmoid函数,用于让函数的输出值保持在(0,1)。其原理:信号由输入层,隐藏层,输出层的顺序传输,误差由输出层,隐藏层到输入层传输,并依次调节隐含层到输出层的权重和偏置、输入层到隐藏层的权重和偏置。
实施例
为了验证此方法的可行性,以某地区发生的新冠肺炎作为试验对象,根据卫健委每日上报的人数,分析每天的感染人数和移出人数,并反演得出结论。以三天为一个反演周期,由于2月12日官方修改了确诊条件,导致2月12日较上日感染人数骤增12685人,对反演出的数据影响较大,所以2月8日到2月11日取四天做为一个反演周期。经过多次实验,得出适合本次试验的各个参数:β取值范围[0.05,0.8],γ取值范围[0.02,0.6],bp神经网络学习速率为0.6,隐含层节点个数为8。训练好后,用3天(2月8日为4天)实际感染人数做为输入,反演求得每组i(t)对应的β和γ值,见表1。
表11月24日至3月9日确诊、移出人数和反演参数
根据表1的反演得到的β、γ值可知,新冠肺炎传染力相对sars极强。
图3为新冠肺炎的ρ值变化图,当ρ值接近1时,说明感染率和移出率接近持平,疫情到达最高峰,也就是图3中的2月18日前后,2月18日过后,ρ值大于1,说明移出率已大于感染率,感染人数已经开始逐步减少,后期ρ到达1.67左右,说明现有感染人数正在大幅减少,我国做出的抗疫措施已初显成效。
将反演后的参数代入实际数据的初值,以三天为一个周期重新计算现有确诊人数,并和实际每日确诊人数进行比较,并将重新计算后的数据和实际数据利用python的matplotlib包生成折线图,见图4,该图为实际新冠肺炎现有确诊人数的增长曲线和代入反演后的参数值得出的人数增长曲线,平均误差为23人,可知该方法反演后的参数计算出的数据和实际数据基本一致。因此,可采用本发明设计的sit模型对新冠肺炎疫情走向进行进一步分析。
以上所述,仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其它修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除