ARIMA和Prophet模型在艾滋病发病预测中的应用
2020-10-20李顺勇李可心
李顺勇, 李可心
(山西大学数学科学学院,太原 030006)
艾滋病主要是由HIV病毒攻击人体免疫系统而引起,具有传染性强、致死率高的特点,现已引起全球健康机构的高度关注[1-3]. 目前,我国处于艾滋病发病和死亡的高峰期,有效地预测短期内艾滋病的发病人数,可以为我国卫生防护工作带来可靠的依据. 当前,国内对各地区艾滋病发病人数的预测研究已有多种方法,且都取得了不错的效果[4-14]. 2017年,Taylor等研究人员提出了一种新时序模型,即Prophet模型. 该模型加入了新的构成项Holiday 以及Changepoint,并将其广泛应用于语言处理以及图像处理中[15-16]. 但是相比之下,Prophet模型与传统时序模型哪个对艾滋病发展状况有更好的预测效果,也是值得讨论的问题. 本文采用ARIMA乘积季节模型和Prophet模型对我国艾滋病发病数进行预测与评估,从而为艾滋病的控制和预防提供合理依据.
1 资料与方法
1.1 资料来源
2013年1月至2019年10月的艾滋病发病人数来源于国家疾病预防控制局[17],发病人数据统计截至每月最后一天.
1.2 ARIMA时间序列模型的构建
ARIMA模型是应用最广泛的一种时间序列预测统计模型,主要是利用一定的数学原理,将预测对象随时间推移所形成的数据序列进行近似描述. ARIMA模型不需利用额外的变量,但要求序列本身或差分后的序列是平稳的[18-20]. 考虑到时间序列数据的季节性、周期性和长期趋势性,选择了ARIMA乘积季节模型,即ARIMA(p,d,q)×(P,D,Q)s.其中,p和P分别为自回归平均阶数与季节性自回归平均阶数,q和Q分别为移动平均阶数与季节性移动平均阶数,d和D分别为平稳化过程中的差分阶数与季节差分阶数,s为季节周期[1].
图1 Prophet模型流程图Fig.1 Prophet model flow chart
1.3 Prophet模型
Prophet 模型是Taylor 等研究人员在2017 年提出的时序模型,该模型能够有效地分析数据本身的特征以及变化规律,并有良好的预测性能. 该模型相较于传统时序模型,加入了节日以及切换因子,预测更加灵活[21-22],Prophet工作流程如图1.
1.3.1 模型构成
Prophet模型从另一角度可看作加性模型[22],分为趋势、季节、节日3个部分,模型构成如式(1).
1.3.2 模型解释
1)g(t)为趋势项,是模型的核心项,用来拟合时序中的非周期性变化[23-24],该项函数式为
式中:C 代表容量;k 代表模型的增长率;b 代表模型偏移量,当t 不断增加时,1+e()-k(t-b)会趋近于1,即g(t)趋近于C.
2)s(t)为季节项,该项的周期因子采用了傅里叶级数,表达式为:
式中:T代表周期;n代表模型中使用周期数的一半.
3)h(t)为节日项,该项将节日影响这一因素独立出来,表达式为
式中:每个节日用i 表示;Di为节日集合;Z(t)=[1(t ∈D1),…,1(t ∈Di)];1(t ∈Di)为指示函数,若t 在Di中,则1(t ∈Di)的值为1,若t不在Di中,则1(t ∈Di)的值为0;κi为每个节日的参数,代表对每个节日的影响.
2 结果与分析
2.1 ARIMA时间序列模型
2.1.1 检验时间序列稳定性 利用Python软件,对2013年1月至2019年10月的艾滋病发病数进行趋势与季节分解(图2). 图2表明,艾滋病发病人数在2013年1月至2019年10月呈现明显上升趋势,且具有极强的季节性,周期约为1年. 进入10月后,发病人数迅速升高,达到一年中的顶峰,随后又快速下降至最小值.
为判断该时间序列数据是否为平稳序列,对其进行Dickey Fuller 平稳性检验,结果见表1. 所得P值为1.00,远远大于临界值0.05,说明不能拒绝原假设. 所以在一定的可信度下,可以认为该时间序列数据是不稳定的.
图2 AIDS发病数趋势分解图Fig.2 AIDS incidence trend decomposition chart
表1 DF检验统计结果Tab.1 DF test statistics result
2.1.2 时间序列平稳化 时间序列数据的不稳定因素主要有两个:一是趋势,数据随时间推移有上升或下降的趋势. 二是季节性,数据在经过一段时间后,又出现相似的发展状况. 对不平稳序列的处理方式主要有对数变换法、平滑法、差分法以及分解法. 本文主要采用对数变换法消除时间序列的方差不齐性,采用差分法消除时间序列的季节性.
首先对2013年1月至2019年10月间的艾滋病发病人数进行对数变换,使得数据值域的范围缩小,振幅减小,并在此基础上进行一阶差分(d=1)(图3(a)),由图可见时序图仍存在一定的趋势. 再进一步进行季节差分(D=1)(图3(b)). 结果表明,经过两次差分后,时间序列的移动平均值与移动标准差都趋于一个固定的常数,几乎没有波动,由此可以认为此时的序列数据已经达到平稳状态.
2.1.3 模型阶数的确定 对经过一阶差分与季节差分后的平稳时间序列做ACF 和PACF 检测,结果见图4. 时间序列的自相关系数与偏自相关系数超过95%落在2 倍标准差范围内,且呈现拖尾状态,故初步假定模型为ARIMA(p,1,q)×(P,1,Q)12. 其中,p、q、P 和Q 可以取值为0 和1. 依据赤池信息量准则(AIC)和贝叶斯信息量准则(BIC)对16 种模型进行判定(表2),最终选取AIC 和BIC 最小值所对应的最优模型:ARIMA(0,1,1)×(0,1,1)12.
图3 两次差分后的指标时序图Fig.3 Index timing chart after two differences
图4 差分后序列的ACF和PACF图Fig.4 ACF and PACF diagram of the sequence after difference
表2 16种ARIMA模型的信息量对比Tab.2 Comparison of the information contents of ARIMA model
2.1.4 AIDS发病数预测 将2013年1月至2019年10月的艾滋病发病人数取对数后分为训练集(2013年1月至2018 年12 月)和预测集(2019 年1 月至2019 年10 月),利用ARIMA 模型进行预测与评估,结果见表3 和图5. 可以看出,艾滋病发病人数的预测数据和实际数据基本吻合,且发展趋势也相同,相对误差RMSE 为345.46.
表3 ARIMA模型2019 年各月序列预测评价结果Tab.3 Monthly sequence prediction evaluation results in 2019 with ARIMA model
图5 ARIMA模型序列预测趋势图Fig.5 Monthly forecast trend chart with ARIMA model
2.2 Prophet模型
2.2.1 评价指标选取 为判断Prophet模型对艾滋病发病数的预测效果,同样选取相对误差(RMSE)作为评估的标准. 指标计算公式:
式中:x为艾滋病发病数的实际值;xˆ为Prophet 模型的预测值;n为预测的总月数. RMSE值越小,说明模型预测性能越好.
2.2.2 Prophet 模型拟合效果 采用fbprophet 库建立Prophet 模型,模型的interval width 参数设置为0.95,periods 参数设置为12,fre设置为MS. 运用Prophet模型对2013年1月至2019年10月的数据进行拟合,结果见表4和图6. 可以看出,预测趋势和实际趋势基本相同,RMSE为328.88.
表4 Prophet模型2019 年各月序列预测评价结果Tab.4 Monthly sequence prediction evaluation results in 2019 with Prophet model
图6 Prophet模型序列预测趋势图Fig.6 Monthly forecast trend chart with Prophet model
3 讨论
艾滋病是全球关注的健康卫生问题,正确预测艾滋病的发展趋势有助于艾滋病的控制和防护.
ARIMA模型结合了回归分析和移动平均两种方法的优点,主要通过阶数判定来选择最优模型,它以数据平稳性为前提条件,对具有趋势性与周期性的序列进行预测. 本文以2013年1月至2019年10月艾滋病发病人数为基础,根据AIC最小原则选取ARIMA(0,1,1)×(0,1,1)12模型,对全国艾滋病发病数进行了预测和验证. 结果表明,实际发病人数在预测值的95%置信范围内波动,说明ARIMA模型可以有效地对我国艾滋病发病状况进行短期预测.
Prophet模型在传统时序模型的基础上,减小了时间在结构上的依赖关系,综合考虑了时间序列中可能存在的趋势性、周期性、节假日效应以及异常值等情况,可以通过调整参数来寻找最优的预测效果. 本文在进行多次模拟后,将参数interval width设置为0.95,periods设置为12,fre设置为MS,对2013年1月至2019年10月的艾滋病发病数进行拟合. 结果表明,预测数据和实际数据基本吻合,且发展趋势也相同. 同时,相比ARIMA模型,Prophet模型预测所得的RMSE有所降低,这说明Prophet模型在全国艾滋病发病数上的预测效果优于ARIMA模型.