本发明涉及人工智能预测领域,具体是指一种基于神经网络与seir模型的传染病趋势预测方法。
背景技术:
对传染病疫情的预测,近年来随着机器学习的发展,预测方法可分为未使用机器学习方法的传统方法和使用了机器学习的方法,传统方法使用传统的静态传染病数学模型(如:sir模型、seir模型等)对疫情传播情况进行建模和预测。
在传统的传染病疫情趋势预测方法中,预测模型中的参数无法自适应,从而无法实现动态预测,且模型参数凭借经验设置,人工干预的影响较大;在使用了机器学习的方法中,或是没有考虑到数据中的时序信息,或是没有对疫情中的各类人群进行总体把握,难以对疫情趋势情况进行全面预测。
技术实现要素:
基于以上问题,本发明提供了一种基于神经网络与seir模型的传染病趋势预测方法,该方法可使用较少的训练数据,对传染病疫情趋势进行有效的自动动态实时预测,且预测过程无需人为干预。
为解决以上技术问题,本发明采用的技术方案如下:
一种基于神经网络与seir模型的传染病趋势预测方法,包括如下步骤:
步骤1、获取数据集;
步骤2、数据预处理;
步骤3、构建由病毒传染率预测模块和疫情趋势预测模块构成的疫情趋势预测模型;
步骤4、使用步骤2预处理的数据对疫情趋势预测模型进行训练,同时设置疫情趋势预测模型的损失函数和模型参数更新方式;
步骤5、利用步骤1~步骤4训练好的疫情趋势预测模型对疫情趋势进行预测。
进一步,所述步骤3中,预处理后的数据输入病毒传染率预测模块,并先后经过一个lstm层、一个全连接层和一个非线性变换层,lstm层将含有时序信息的特征输出,随后全连接层对特征进行整合,使用softplus作为激活函数,最后输出预测某时刻确诊患者和潜伏期患者的病毒传染率。
进一步,所述使用softplus作为激活函数的公式为:
进一步,所述步骤3中,预测某时刻确诊患者和潜伏期患者的病毒传染率的公式为:
其中,
进一步,所述步骤3中,将病毒传染率预测模块的输出结果输入疫情趋势预测模块,并经过一个seir模型层,输出对疫情趋势的预测。
进一步,所述步骤3中,疫情趋势的预测公式如下:
其中,
进一步,所述步骤4中,选择平均平方误差作为训练时的损失函数。
进一步,所述步骤4中,模型参数更新方式设置为学习率为0.005,一个完整的训练集为一个学习批次,学习迭代总次数为5000,网络训练过程针对每一个学习批次进行一次参数更新,根据疫情趋势预测模块输出与真实标签计算学习误差,并采用bp算法利用误差对网络参数进行更新,每一次迭代学习完成后,疫情趋势预测模型都会计算当前的预测误差并与历史最小误差作比较,若当前预测误差小于历史最小误差,则保存当前疫情趋势预测模型,并将历史最小误差更新为当前误差,之后继续训练,直到达到学习迭代总次数。
与现有技术相比,本发明的有益效果是:
1.本发明对传染病病毒的传染率及疫情的趋势发展可实现自动动态预测,减少了人为操作,降低人工干预带来的影响;
2.本发明使用了疫情数据中的时序信息,结合历史信息与当前信息综合预测;
3.对疫情中的各类人群进行预测,把握疫情总体发展趋势。
附图说明
图1为本实施例的流程图;
图2为本实施例中疫情趋势预测模型的框架图。
具体实施方式
下面结合附图对本发明作进一步的说明。本发明的实施方式包括但不限于下列实施例。
如图1所示的一种基于神经网络与seir模型的传染病趋势预测方法,包括如下步骤:
步骤1、获取数据集;
步骤2、数据预处理;
步骤3、如图2所示,构建由病毒传染率预测模块和疫情趋势预测模块构成的疫情趋势预测模型;
步骤4、使用步骤2预处理的数据对疫情趋势预测模型进行训练,同时设置疫情趋势预测模型的损失函数和模型参数更新方式;
步骤5、利用步骤1~步骤4训练好的疫情趋势预测模型对疫情趋势进行预测。
进一步的是,步骤1中,数据集包括疑似病例数据、确诊病例数据和移除病例数据。
进一步的是,步骤2中,将第
进一步的是,病毒传染率预测模块构建原理如下:
本实施例中,对确诊患者和潜伏期患者各创建了病毒传染率
本实施例中,病毒传染率预测模块包括一个lstm层、一个全连接层和一个非线性变换层,预处理后的数据输入病毒传染率预测模块后,lstm层将含有时序信息的特征输出,随后全连接层对特征进行整合,使用softplus作为激活函数,公式为
本实施例中,预测某时刻确诊患者和潜伏期患者的病毒传染率的公式为:
其中,
进一步的是,疫情趋势预测模块构建原理如下:
将病毒传染率预测模块的输出结果
本实施例中,疫情趋势的预测公式如下:
其中,
进一步的是,所述步骤4中,损失函数用于衡量预测结果与真实情况的差异水平,因此,选择结果直接对模型训练的效果产生影响,本实施例中,选择平均平方误差作为训练时的损失函数,同时考虑到现实中各类数据收集的难易性、准确性以及重要性,对
其中,
其中,
进一步的是,步骤4中,网络设置
进一步的是,步骤5中,由于预测是对未来一段时间内的疫情趋势进行预测,所以当前没有任何未来的疫情数据,因而预测时输入疫情趋势预测模型的只有一组初始数据,其包含了连续三天的
如上即为本发明的实施例。上述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。