基于BP神经网络的新冠肺炎疫情病例预测模型
2022-08-29巴艳坤郭松林
巴艳坤,郭松林
(黑龙江科技大学电气与控制工程学院,黑龙江哈尔滨150022)
1 引言
截止到2021 年,全球已经有23414 万人被确诊为新冠肺炎,其中约有478万病例死亡,220多个国家和地区受到巨大影响。由于新型冠状病毒能通过多种方式进行传播,如间接接触、飞沫、气溶胶等,因此新型冠状病毒传播速度非常快。该病症的临床表现有多种形式,主要有发热、呼吸困难、浑身酸软无力等,严重时可能会导致死亡。文献[1-2]已经说明为了保障疫情的防控工作合理进行和有效调度,流行疾病的预测工作格外重要。文献[3]表明国内外众多学者已经做了很多工作,为了新冠肺炎疫情的发展趋势进行预测。文献[4]建立了非线性回归点模型,对累计COVID-19疫情进行预测,并给了出参数估计方法;文献[5]提出对于噪声进行经验模态分解可以对日新增确诊人数进行有效预测。文献[6]探讨了差分自回归移动平均模型(ARIMA)用于巴基斯坦新冠肺炎疫情发展趋势的预测效果,为新冠肺炎疫情预测提供实践经验。研究表明新冠肺炎疫情的发展与时间变化存在一定的相关性,因此新冠肺炎日累计确诊病例数是反映疫情变化发展的重要指标。基于此,本文建立了基于SSA 算法优化BP 神经网络模型,对2021 年7 月2 日至9 月30日挪威新冠肺炎日累计确诊病例数进行训练和测试,为进一步掌握新冠肺炎疫情的发展规律和为全球疫情防控提供帮助。
2 模型建立
本文分别把SSA 算法和GWO 算法与BP 神经网络进行了融合,其中SSA 算法主要是对发现者、跟随者和警戒者的位置更新进行迭代,GWO算法则是通过狼群的位置更新进行迭代。
2.1 SSA算法
麻雀搜索算法主要源于对麻雀觅食过程和躲避其他捕食者攻击行为的启发,麻雀在觅食期间,会将整个群体分配为发现者和跟随者,发现者在种群中的作用最大,不仅需要寻找食物,还要为整个群体寻找觅食区域并提供方向;而跟随者则需要跟随发现者的飞行轨迹进行觅食行为。除此之外,当群体中的麻雀意识到危险时,还会随机分配警戒者,做出反捕食行为。
2.1.1 发现者位置原始更新公式
式(1)中,为种群中第t 代第i 个个体的第d 维位置,α为(0,1]中的均匀随机数,Q 为一个标准正态分布随机数。R2为[0,1]中的均匀随机数,ST为警戒阈值,取值范围为[0.5,1.0]。当R2 2.1.2 跟随者位置原始更新公式 式(2)中,、分别为当前群体中个体所占据的最优和最差位置。当i>n/2 时,说明第i 个个体适应度值较低,没有收获到食物,依然处于饥饿的状态下,必须飞往另一个位置进行觅食。当i 2.1.3 警戒者位置更新公式 式(3)中,β为符合标准正态分布的随机数,K为[1,1]的均匀随机数,为一个较小的数防止分母唯一。其中fw为所有群体中最差的适应度值,fi为任意第i只麻雀的适应度值。当fi>f时,说明当前的麻雀正位于整个群体的边缘,极有可能会遭到其他捕食者的捕猎行为。fi=fg时,说明群体中间的个体感受到了危险,必须靠近附近的其他麻雀来减少自己被捕食者攻击的风险。 灰狼是一种群居的犬科动物,在其群体内部存在着非常严格的等级关系。在狼群处于支配地位的狼记为α狼,其对于整个算法来说被认为是最优解。α狼要领到整个狼群寻求生存。β狼是次优解,必须听从于α狼,并帮助α狼对于群体的各种活动进行管理,在α狼去世后,β狼会成为狼的最佳继承者,β狼可以支配除α狼外的其他所有层级上的狼。δ狼则可以支配除α狼和β狼之外的所有狼。ω狼,由于其处于群体等级的最底层,因此必须服从其他等级狼群的领导。 2.2.1 包围行为 灰狼捜索猎物时会逐渐地接近猎物并包围它,该行为的数学模型如下: 式(4) 至(7) 中,t 为当前迭代次数,A 和C 一样都是协同系数;Xp表示猎物的位置向量;D为距离;在不断地迭代过程中,α会从2慢慢减小至0;r1和r2是[0,1]中的随机向量。 2.2.2 捕猎行为 狼群将猎物包围后,有狼进行指挥,狼和狼协助,开展捕猎行为,捕猎的数学模型如下: 式(8)至(14)中,Xα、Xβ、Xδ分别表示当前种群中α狼、β狼、δ狼的位置向量;X 表示灰狼的位置向量;Dα、Dβ、Dδ分别表示当前候选灰狼与最优三条狼之间的距离。 本文中,将神经网络结构设置为3层。选取预测日前三天的新冠肺炎日累计确诊病例数当作输入变量。为了提高预测模型的收敛速度,并尽可能减小误差,可以相应地做一些工作来对数据进行处理。文献[7]采用了最大最小化法将数据处理在[0,1]范围之内,如式(15)所示: 式中(15),X是将要处理的数据量,Xmin是要处理数据中的最小值,Xmax将要处理的数据中的最小值,X′为对数据处理完之后得到的数据。并将预测当天的日累计确诊病例作为输出量。 在神经网络的预测过程中,隐含层神经元个数过多会导致过拟合,个数过少会导致精度太差,因此要谨慎选择隐含层神经元个数,这关乎整个预测模型的精度。文献[8]表明试凑法对于选取隐含层神经元个数来说,是比较合理的。本文根据网络训练时不同隐含层神经元造成的误差结果,选取误差最小时对应的隐含层神经元个数,建立BP神经网络模型,公式如(16)所示。 式(16)中,l为隐含层神经元个数,m为输入层神经元个数,n为输出层神经元个数,α是调整常数,取值范围为[1,10]之间的整数。通过试凑法[9]可知,隐含层的神经元个数应该是在3 至12 之间,实验结果表明隐含层节点数为9 时,预测模型的误差结果最小。因此我们可以选取3-9-1 作为本文的神经网络结构,此时预测结果最好。训练目标为0.00001,学习率为0.1,最大训练次数为1000。其适应度函数为P: 式(17)中,C 是输出层节点数,M 为总样本数,Si,j代表网络输出值,是期望值。 图1 模型建立流程图 本文收集了世界权威机构约翰斯霍普金斯大学发布的全球疫情统计数据,选取了挪威自2021年7月5日起到2021年9月30日为止的共85组样本数据,其中将训练样本选取为统计的前75组数据,则将测试组选为后10组数据,数据统计如图2所示。 图2 挪威日累计确诊病例 数据收集完毕后,将分别得到的10 组测试样本的预测值与实际值做对比,得到的结果如图3和图4所示。 图3 预测模型对比图 由图3可以看出SSABP预测模型的预测值更符合实际值。且其平均误差仅为0.002,而GWOBP 预测模型的平均误差为0.025,BP神经网络的预测误差则为0.032。因此SSA算法优化的神经网络预测模型是切实可行的。 由图4可以看出,SSABP预测模型收敛效果更好,在经过同样次数的训练下,SSABP误差更小。 图4 各预测模型训练结果 SSABP 预测模型收敛速度更快,全局搜索能力更强,能更快地确定全局最优点,且SSA算法不仅能使神经网络的收敛速度更快,还能提高神经网络的训练精度。因此采用SSA算法优化BP 神经网络对新冠肺炎疫情病例进行预测,预测值和实际值能较好相符。2.2 GWO算法
2.3 BP神经网络结构参数的设置
3 应用案例
3 结论