当前位置:首页 期刊杂志

基于粒子群优化BP神经网络的新冠肺炎疫情预测

时间:2024-05-04

张磊,余粟

(1.上海工程技术大学机械与汽车工程学院上海 201620;2.上海工程技术大学工程实训中心,上海 201620)

0 引言

截至2021年8月末,全球新冠肺炎确诊病例为2.123 5亿,累计死亡高达443万例。国内外研究人员通过对网上发布的确证病例数据进行分析,建立模型预测疫情病例数量及趋势,这对医疗系统调整各种防疫措施具有重要的指导作用。

目前,主流预测方法包括传播动力学模型、传统时间序列模型及BP神经网络模型。传播动力学模型包括SIR模型、SEIR模型等,该类模型依托疫情爆发早期的数据对趋势作出预测。范如国等利用SIR模型和SEIR模型对新冠疫情进行预测,并通过模型分析不同防疫措施对疫情发展的影响,但该类模型无法根据疫情发展过程中的数据进行预测,参数设定相对固定,忽视了参数以外因素对疫情发展的影响,局限性较大。传统时间序列模型主要包括双指数平滑模型(Holt)、三指数平滑模型(Holt-Winter)等。林挺葵等使用Holt模型对粤西地区疫情进行预测,并针对疫情发展提出了相关防疫建议。黄晓亮等使用Holt-Winter模型对疫情期间广东省住院量进行分析,较为准确地预测了住院人次的变化趋势。BP神经网络是最常见的人工智能模型,现已被广泛应用于非线性预测领域。黄琦琦等使用该方法对新冠肺炎疫情进行时间序列预测的效果较好,但BP神经网络易陷入局部最优,精度较差。

由于本文实验数据来源于疫情发展一年多后的近期数据,不符合传播动力学模型的使用条件,故使用BP神经网络和传统时间序列模型进行预测。然而,2021年国内疫情控制较好,且相当一部分数据为境外输入人员,考虑到数据的可用性及时效性,选择美国公开数据进行实验。为了解决BP神经网络易陷入局部最优解的问题,本文提出利用粒子群算法(Particle Swarm Optimization,PSO)优化BP神经网络。

1 相关研究

1.1 指数平滑法

指数平滑法是由移动平均法改进而来的时间序列分析方法,现已广泛应用于预测传染性疾病。通过对历史数据赋予不同的权值以针对性的提取数据信息,能够充分体现近期数据对预测数据的影响。目前,指数平滑模型主要分为单指数平滑模型、双指数平滑模型(Holt模型)和三指数平滑模型(Holt-Winter模型)。但由于单指数平滑模型和三指数平滑模型适用于季节性序列,因此本文选用双指数平滑模型进行实验。

1.2 BP神经网络

BP神经网络是一种多层前馈神经网络,主要由输入层、隐层和输出层构成,如图1所示。

Fig.1 BPneural network structure图1 BP神经网络结构

其中,单个隐层神经元输出为:

输出神经元的值为:

在使用BP神经网络模型进行实验前,需对数据进行归一化处理,以减少时间损耗。计算公式如式(3):

其中,

y

为数据输出值,

x

为原始数据输入,

X

为原始数据的最小值,

X

为原始数据的最大值。

1.3 粒子群优化算法

粒子群优化算法是应用十分广泛的最小二乘优化算法,其核心思想是将“群体”内的“粒子”视为问题的解,每个粒子都具有各自的位置和速度,通过粒子与粒子间及粒子与群体间的信息共享,经多次迭代得到最优适应度,具体算法描述如下:

假设一个

D

维空间内有

N

个粒子,

i

=1,2,...,

N

,其中第

i

个粒子的位置为

X

=(xi,xi,…,xi),第

i

个粒子的速度为

V

=(vi,vi,…,vi),当前第

i

个粒子的最优值为

P

=(pi,pi,…,pi),当前群体的最优值为

P

=(pi,pi,…,pi)。在迭代的过程中,通过当前适应度值确定个体最优值和群体最优值,然后根据式(4)、式(5)计算当前粒子的速度和位置:

式中,

b

b

表示学习因子,

v

v

为[0,1]内的随机数,

ω

为惯性权重。当

ω

较大时,算法全局收敛性较好;当

ω

较小时,算法具有较好的局部搜索特性。

2 PSO-BP神经网络

如图2所示,利用PSO算法先行计算BP神经网络的初始权值等参数,可在一定程度上避免BP神经网络易陷入局部最优的问题。改进后模型的训练流程如下:

步骤1:确定BP神经网络的输入层、隐层和输出层的个数。

步骤2:将BP神经网络各层的连结参数输入PSO算法的适应度函数中,设定BP神经网络训练结果的均方误差(MSE)为算法适应度值。

步骤3:初始化粒子群个数、粒子个体的速度、位置和边界大小。

步骤4:计算各粒子的适应度。

步骤5:计算个体和群体极值,并与当前适应度值进行对比,保留最小值。

步骤6:根据式(4)、式(5)计算粒子当前的速度和位置并更换当前值。

步骤7:转到步骤4,直至满足条件后停止。

步骤8:当程序达到预设迭代次数或找到最佳极值后,将权值、阀值和偏置参数赋值于BP神经网络。

步骤9:使用优化后的BP神经网络进行训练,计算模型误差。

步骤10:反向传播误差并获取各层误差信号,通过梯度下降法调整各层间参数,使误差达到最小。

步骤11:不断调整各层参数,当达到预设的迭代次数或满足误差条件后停止训练并输出结果。

3 实验结果

3.1 数据处理

将美国明尼苏达州2021年7月7日至8月25日共50天的新冠肺炎累计死亡和累计确诊人数作为原始数据,数据来源于USAFacts(https://usafacts.org/issues/coronavirus/)。考虑到数据由时间先后顺序排列而成,通常利用已有数据进行建模以预测未来数据,具体操作如下:

假设时间序列为X,i=1,2,3,...,

N

,利用前t个数据预测第t+1个数据的具体方法如表1所示。经多次实验,当自回归阶数取4时,即用前4天的数据预测第5天的确诊人数预测精度最高。

Table1 Construction method of data set表1 数据集构造方法

3.2 构建模型

本文使用双指数平滑模型(Holt)、BP与PSO-BP神经网络进行对比。其中,双指数平滑模型使用SPSS 26.0软件进行仿真,选取指数平滑方法中的HOLT线性趋势。BP与PSO-BP神经网络则使用MATLAB 2016软件进行建模,粒子群优化算法的参数设定为:

b

=

b

=1.7,惯性权重

ω

=0.6,粒子群个数为20,迭代次数为200,粒子最大速度

V

为1,最小速度

V

为-1,粒子阀值范围为[-5,5]。

Fig.2 Flow of PSO-BPmodel图2 PSO-BP模型流程

3.3 预测结果

3.3.1 累计死亡人数

3种模型的预测结果如表2所示,由于人数为整数,因此对实验预测数据进行取整操作。图3为预测结果绘趋势图。

Table 2 Forecast results of cumulative deaths in Minnesota表2 明尼苏达州累计死亡人数预测结果

Fig.3 Forecasting trend of cumulative deaths in Minnesota图3 明尼苏达州累计死亡人数预测趋势

由图3可见,3种模型的预测结果都较为理想,从趋势图中难以分析它们在精度上的差异。为此,根据式(7)计算模型的平均误差百分比(MAPE)和最大误差百分比。其中,Holt模型的MAPE和最大误差百分比分别为0.031%和0.087%;BP模型分别为0.028%和为0.082%;PSO-BP模型分别为0.021%和0.078%。由此可见,两种神经网络模型的MAPE和最大误差百分比均低于Holt模型,且PSO-BP的性能最好,MAPE和最大百分比相较于BP神经网络分别降低了0.007%和0.004%;相较于Hlot分别降低了0.01%和0.009%。整体而言,PSO-BP模型的预测精度最高。

3.3.2 累计确诊人数

同样使用3种模型对明尼苏达州累计确诊人数进行预测,具体数据如表3所示,趋势图如图4可见。

Fig.4 Estimated cumulative number of confirmed cases in Minnesota图4 明尼苏达州累计确诊人数预测结果

由表3、图4可知,Holt模型的平均误差百分比(MAPE)和最大误差百分比分别为0.082%和0.439%;BP模型分别为0.043%和为0.456%;PSO-BP模型分别为0.033%和0.165%。其中,Holt的最大百分比相较于BP模型更小但差距不大,PSO-BP的平均误差百分比相较于BP降低了0.01%,相较于Holt降低了0.049%;绝对误差百分比相较于BP降低了0.291%,相较于Holt降低了0.274%。整体而言,在累计确诊人数的预测上,PSO-BP模型的表现依然优于另外两种模型。

4 结果分析

4.1 性能评价指标

为进一步对比模型间的性能差异及评价模型的预测效果,采用了平均绝对误差(MAE)和均方根误差(RMSE)作为性能评价指标,如式(7)-式(9)所示:

Table3 Estimated cumulative number of confirmed cases in Minnesota表3 明尼苏达州累计确诊人数预测结果

4.2 性能分析

表4为使用MAE、RMSE计算明尼苏达州累计死亡人数和累计确诊人数预测结果的偏差情况。由表4可见,在累计死亡人数预测结果中,PSO-BP的MAE和RMSE相较于BP模型分别降低了24.634%和19.648%;相较于Holt模型分别降低了34.063%和29.378%。在累计确诊人数预测结果中,PSO-BP的MAE和RMSE相较于BP模型分别降低了23.648%和39.597%;相较于Holt模型分别降低了59.632%和59.012%。由此可见,PSO-BP模型的性能均为最优。为更直观地对比性能分析结果,根据表4构建模型性能雷达图,如图5所示。

Table4 Minnesota performance index calculation results表4 明尼苏达州性能指标计算结果

Fig.5 Minnesota model performance indicator radar chart图5 明尼苏达州模型性能指标雷达图

4.3 适应度分析

为了进一步检验模型的精确度和适应性,将3种模型分别用于预测美国亚利桑那州和密歇根州2021年7月11日至8月25日的累计死亡和累计确诊人数,趋势图如图6所示,具体性能指标如表5、表6所示。

由图6可见,PSO-BP模型对两地的人数预测基本都符合实际发展趋势。由表5、表6可知,在对亚利桑那州和密歇根州累计和确诊人数的预测中,PSO-BP模型的3项性能指标均为最优。其中,MAPE指标相较于BP模型和Holt分别平均降低了0.012%和0.043%;MAE和RMSE相较于BP模型分别平均降低了14.696%和19.850%,相较于Holt分别平均降低了36.826%和28.046%。由此可见,PSO-BP模型的预测精度和适应性最佳。

Fig.6 Minnesota and Michigan forecast results图6 亚利桑那州和密歇根州预测结果

Table5 Arizona performance indicator calculation results表5 亚利桑那州性能指标计算结果

Table6 Michigan performance indicator calculation results表6 密歇根州性能指标计算结果

5 结语

针对传统时间序列模型精度上的不足及传统BP神经网络易陷入局部最优的缺陷,利用粒子群优化BP神经网络模型,该模型具有PSO算法的全局收敛性和神经网络的自学习特性。实验结果表明,PSO-BP的预测性能优于基准模型,预测精度较高、适应度较好。由于本文所用模型需要先使用PSO对BP神经网络的初始权值和阀值进行计算寻优,再使用优化后的参数训练神经网络,在这个过程中会导致整体迭代次数增加,当处理体量较大的数据时模型迭代时间较长。为此,需要根据实际情况对模型进行简化以提升运行的效率。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!