2. 上海市疾病预防控制中心 上海 200336
2. Shanghai Municipal Center for Disease Control and Prevention, Shanghai 200336, China
2型糖尿病(type 2 diabetes mellitus,T2DM)和结核病(tuberculosis,TB)是常见的慢性病,两者高发年龄吻合,且相互影响。TB又以肺结核(pulmonary tuberculosis,PTB)最为常见。流行病学调查发现,T2DM患者发生结核病的概率是非T2DM患者的2~3倍,且与地区、种族无关[1-2]。我国首次糖尿病-结核病双向筛查结果显示,糖尿病患者TB检出率为1.25%,远高于非糖尿病患者的0.36%。而TB患者若合并糖尿病,则病程进展更快、疗效差、耐药率高、预后凶险。上海市嘉定区2008—2014年的一项调查显示,PTB合并糖尿病的患者中,痰涂片阳性、合并空洞、治疗失败和转入耐多药和复治患者占比分别达73.67%、56.32%、4.21%和13.16%,远高于未合并糖尿病患者的42.51%、52.91%、0.14%和7.02%[3]。鉴于T2DM患者的TB发病率高于一般人群,且两病共患患者预后较差,及时掌握T2DM人群中TB发病情况,将有利于结核病防控和糖尿病管理。
差分自回归移动平均(autoregressive integrated moving average,ARIMA)模型是预测疾病发病率较为成熟的建模方法,常用于预测PTB、HIV、乙肝等传染病的发病率[4-5]。中国是T2DM与TB同时高发的国家,T2DM合并TB的患者逐年增加。“十三五”全国结核病防治规划倡导在糖尿病患者等重点人群中开展TB的主动筛查。因此,急需在数量庞大的中国T2DM患者中建立TB预测模型,以预测相关疾病负担,制定和评估有针对性的防控策略和措施。
本研究以上海市2010—2015年T2DM患者管理数据和结核发病监测数据为基础,选择时间序列模型中的ARIMA模型,并用支持向量机(support vector machine,SVM)对残差进行拟合,建立结核病发病率的组合预测模型,对T2DM患者的PTB发病率进行预测。
资料和方法资料来源 资料来自2010—2015年上海市糖尿病管理系统和结核监测系统数据库。研究对象纳入标准为:(1)上海市户籍;(2)糖尿病诊断时间为2010—2015年;(3)糖尿病确诊时年龄≥35岁;(4)确诊时未患PTB或已治愈。共纳入T2DM病例217 999例。将T2DM病例的身份证号与上海市结核监测系统进行链接,获得PTB发病信息。在纳入上海市糖尿病管理系统和结核病监测系统时,所有研究对象已口头知情同意所录入系统信息的分析使用。
ARIMA模型 时间序列分析的基本思想是将预测对象随时间变化而形成的序列看作一个随机序列,除偶然原因出现的极个别序列值外,时间序列是依赖于时间(t)变化的一组随机变量,可以利用该序列的过去值、现在值来预测序列的未来发展状态[6]。ARIMA模型由Box和Jenkins提出,也叫博克斯-詹金斯(简称B-J)法,在ARIMA模型中预测值表达式为过去若干个取值和随机误差的线性函数[7]。其基本结构为不包含季节性的ARIMA(p,d,q)和包含季节性的ARIMA(p,d,q)(P,D,Q)。模型建立的步骤如下[8]:
模型识别 通过时序图及单位根检验判断序列平稳性。非平稳的序列一般可以通过差分转换为平稳序列,根据差分的次数来确定差分(d)和季节差分(D)。
模型拟合及参数估计 根据序列自相关函数(autocorrelation function,ACF)和偏自相关函数(partial autocorrelation function,PACF)分析图[9],判断模型自回归阶数(p)、滑动平均阶数(q)、季节回归阶数(P)以及季节滑动平均阶数(Q)。
模型检验 即对模型的残差进行白噪声检验:若白噪声检验结果P < 0.05,则需回到上一步骤,重新进行参数估计,拟合新的模型。若白噪声检验结果P > 0.05,说明序列信息已经提取完整,模型结果合适,但仍需重新进行上一步骤,拟合新的模型。若同时有几个模型残差序列通过白噪声检验,且参数检验结果有意义。则根据拟合优度统计量标准化贝叶斯判别准则(standardized bayesian information criteria,SBIC)和赤池信息(Akaike information criterion,AIC)最小的原则选择最优模型。
支持向量机 SVM是Corinna Cortes和Vapnik等于1995年提出的一种机器学习方法,主要用于非线性回归领域。它能够更好地解决小样本集模型难以选择、经验风险原则的样本容量依赖、维数灾难、过拟合而外推差、局部极小点等问题[10]。
ARIMA-SVM组合预测步骤 将一组时间序列的数据Yt看成由线性结构Lt和非线性结构Nt组成,即Yt=Lt+Nt。。运用ARIMA模型拟合时间序列的线性结构,SVM拟合时间序列的非线性结构。ARIMA-SVM具体建模步骤见图 1。
![]() |
图 1 ARIMA-SVM的组合预测模型流程图 Fig 1 Flow chart of ARIMA-SVM hybrid model establishment |
模型的拟合和预测效果评估 模型的评估分为内部数据评估(模型拟合程度评估)和外部数据评估(预测效果评估)。ARIMA和ARIMA-SVM组合模型的预测效果采用近期预测法,基于2015年1月—12月PTB月发病率数据进行。为了考察模型预测效果,用平均绝对百分误差(mean absolute percentage error,MAPE)和均方根误差(root mean square error,RMSE)来测定模型预测的精度。MAPE和RMSE越小,预测精度越高。
$ MAPE=\frac{1}{n}\sum\limits_{t=1}^{n}{|\frac{{{y}_{t}}-\overset\frown{{{y}_{t}}}}{{{y}_{t}}}\times 100|} $ | (1) |
$ RMSE=\sqrt{\frac{1}{n}\sum\limits_{t=1}^{n}{{{\left( {{y}_{t}}-\overset\frown{{{y}_{t}}} \right)}^{2}}}} $ | (2) |
统计学分析 运用SPSS 23.0统计软件建立和整理发病资料数据库,利用相关统计学模块进行数据处理和分析,实现ARMIA建模过程。对ARIMA模型拟合值与真实值的残差序列进行样本重构获得SVM样本集,使用R 3.6.2中的e1071包对残差进行SVM预测。tune.svm()函数确定核函数的参数,使用svm()函数拟合模型。
结果ARIMA模型的建立 ARIMA模型建立使用2010年1月—2014年12月上海市户籍T2DM患者PTB月发病率,绘制时间序列图,并对其趋势性、季节性和随机误差进行分解。由结果可知,该序列是一组包含季节和趋势的非平稳队列,初步确定模型结构为ARIMA(p,d,q)(P,D,Q)12(图 2、3)。
![]() |
图 2 上海市2010—2014年T2DM患者PTB发病率时序图 Fig 2 Time series plot of PTB incidence in T2DM patients in Shanghai from 2010 to 2014 |
![]() |
图 3 上海市2010—2014年T2DM患者PTB发病率时间序列分解图 Fig 3 Decomposed time series plot of PTB incidence in T2DM patients in Shanghai from 2010 to 2014 |
模型识别 对序列进行1阶逐期差分和12阶季节差分后,时序图及单位根检验(augmented dickey fuller,ADF)结果显示,差分后序列呈稳定序列(t=-5.789 8,P < 0.01),判断d=1,D=1。为了判断模型p、q、P和Q值,需要绘制差分处理后的ACF图和PACF图。由差分后时间序列的ACF图和PACF图可以看出,PACF均呈拖尾衰减,ACF截尾。初步判断自回归阶数p=3,滑动平均阶数q=0。P、Q的定阶比较困难,根据文献[11],模型中的参数P、Q阶数一般在2以内,故我们选择0、1、2进行由低阶到高阶逐个建模,根据SBIC和AIC最小的原则,选择最佳模型(图 4、5)。
![]() |
图 4 差分后T2DM患者PTB发病率序列自相关图 Fig 4 Autocorrelation function graph of differenced PTB incidence series in T2DM patients |
![]() |
图 5 差分后T2DM患者PTB发病率序列偏自相关图 Fig 5 Partial autocorrelation function graph of differenced PTB incidence series in T2DM patients |
模型参数估计及检验 在尝试不同模型参数后,经白噪声检验和模型参数检验获得3个备选模型(表 1、2)。
Model | AIC | SBIC | Box-Ljung Q test | |
χ2 | P | |||
ARIMA (3, 1, 0)(1, 1, 0)12 | 260.34 | 3.206 | 14.311 | 0.427 |
ARIMA (3, 1, 0)(0, 1, 0)12 | 268.53 | 3.260 | 21.382 | 0.125 |
ARIMA (3, 1, 0)(0, 1, 1)12 | 260.61 | 3.210 | 16.025 | 0.312 |
AIC:Akaike information criterion; SBIC:Standardized Bayesian information criteria. |
Parameter | ARIMA (3, 1, 0)(1, 1, 0)12 | ARIMA (3, 1, 0)(0, 1, 0)12 | ARIMA (3, 1, 0)(0, 1, 1)12 | ||||||||
B | t | P | B | t | P | B | t | P | |||
Constant | 0.002 | 0.016 | 0.987 | -0.043 | -0.249 | 0.804 | 0.004 | 0.035 | 0.972 | ||
AR1 | -0.88 | 6.744 | < 0.01 | -0.997 | -7.645 | < 0.01 | 0.900 | 6.837 | < 0.01 | ||
AR2 | -0.78 | 6.083 | < 0.01 | -0.89 | -6.09 | < 0.01 | 0.771 | 5.730 | < 0.01 | ||
AR3 | 0.554 | 3.851 | < 0.01 | -0.55 | -4.25 | < 0.01 | 0.522 | 3.463 | 0.01 | ||
MA1 | - | - | - | - | - | - | 0.634 | 2.573 | 0.014 | ||
SAR1 | -0.541 | -4.290 | < 0.01 | - | - | - | - | - | - |
根据以上结果,综合考虑SBIC和AIC,最终确定最佳模型为ARIMA(3,1,0)(1,1,0)12(不包含常数)。残差序列的Box-Ljung Q检验P > 0.05,可以认为残差序列是白噪声序列,且模型的参数都有统计学意义。模型残差序列的自相关系数和偏自相关系数均在95%CI内,进一步验证了残差已是随机分布的白噪声序列,说明所选的模型是恰当的(图 6)。模型表达式为:
$ \Delta {{Y}_{t}}=-0.997\Delta {{Y}_{t-1}}-0.89{{Y}_{t-2}}-0.55{{Y}_{t-3}}-0.541{{Y}_{t-12}}+{{\varepsilon }_{t}} $ |
![]() |
图 6 上海市2010—2014年T2DM患者PTB发病率残差序列自相关图(左)和偏自相关图(右) Fig 6 Autocorrelation (left) and partial autocorrelation (right) graphs of residual sequence of PTB incidence in T2DM patients in Shanghai from 2010 to 2014 |
ARIMA(3,1,0)(1,1,0)12模型拟合2010—2014年T2DM患者PTB发病率:RMSE=4.05,MAPE=5.8%。
ARIMA-SVM组合模型 将2010—2014年上海市T2DM患者PTB发病率ARIMA模型拟合值与实际值的残差序列使用SVM模型进行拟合,残差SVM预测模型参数:核函数为radial函数,惩罚常数cost=10,γ=0.1。将SVM残差预测值加上ARIMA预测值,得到组合模型PTB发病率预测值。ARIMA模型和ARIMA-SVM组合模型得到的2015年PTB发病率月预测值见表 3。
Date | Actual value(1/105) | Predicted incidence of ARIMA(1/105) | Predicted residual of SVM | Predicted incidence of ARIMA-SVM(1/105) |
Jan 2015 | 2.29 | 4.91 | -3.00 | 1.91 |
Feb 2015 | 6.33 | 2.09 | 2.80 | 4.89 |
Mar 2015 | 6.28 | 4.64 | 3.90 | 8.54 |
Apr 2015 | 2.22 | 8.36 | -0.20 | 8.16 |
May 2015 | 3.08 | 5.46 | -1.10 | 4.36 |
Jun 2015 | 3.47 | 6.14 | -2.90 | 3.24 |
Jul 2015 | 3.00 | 5.94 | -1.90 | 4.04 |
Aug 2015 | 3.82 | 5.31 | -2.10 | 3.21 |
Sep 2015 | 5.48 | 7.06 | 1.30 | 8.36 |
Oct 2015 | 3.77 | 5.12 | -1.97 | 3.15 |
Nov 2015 | 2.92 | 4.91 | -2.09 | 2.82 |
Dec 2015 | 2.00 | 4.80 | -0.09 | 4.71 |
MAPE (%) | - | 87.00 | - | 54.16 |
RMSE | - | 2.96 | - | 2.26 |
模型预测效果评估 由表 3可知,ARIMA模型预测上海市2015年T2DM患者PTB发病率的MAPE为87%,RMSE为2.96;ARIMA-SVM组合模型的MAPE和RMSE均小于单纯ARIMA模型,提示ARIMA-SVM组合模型有效校正了ARIMA模型预测值的残差。但两个模型的MAPE值都较大,预测精度都有待提高。
讨论随着预测理论及预测技术的不断发展和完善,许多统计理论、预测方法和预测模型都被应用到传染病的预测中。常见的传染病预测模型有ARIMA模型、灰色模型、Markov模型、人工神经网络模型、通径分析模型等[12]。SVM也被越来越多地应用到农业[13]、通讯[14]、传染病等领域[15],与传统模型相结合进行预测,均发现组合模型的预测效果高于单一模型。
本研究基于2010—2014年上海市户籍T2DM患者中PTB发病人数,建立并比较了不同参数的ARIMA模型预测2015年T2DM患者PTB发病的效果,得到最优模型进行拟合。利用拟合值与实际值之间的残差序列作为样本集,运用SVM预测残差,建立ARIMA-SVM混合模型。通过比较两个模型的MAPE和RMSE,发现SVM有效拟合了原始序列的非线性部分,ARIMA-SVM混合模型的预测效果优于单一ARIMA模型。
ARMIA拟合2010—2014年PTB发病率的效果也较好,比较ARIMA模型和ARIMA-SVM混合模型的MAPE值可以发现,两个模型的预测精度还存在较大的提升空间。这可能与PTB发病率较低且变化不稳定有关。其次,可能是因为ARIMA分析要求序列是平稳序列,虽然可以通过差分将非平稳序列转化为平稳序列,但是差分意味着信息的损失,导致ARIMA在预测时误差较大。此外,时间序列分析的基本思想是将预测对象随时间变化而形成的序列看作一个随机序列,其要求序列的变化只与时间有关。在现实社会中,PTB发病率受经济、文化、医疗水平等多种因素的影响。本研究通过ARIMA模型预测得到的PTB发病人数明显高于实际值,这可能与近年来PTB防治工作有关。本研究结果可为PTB防治措施的有效性提供了间接证据。
上海市糖尿病管理系统和结核病监测系统建立比较完善,数据体量大,资料比较完整,可以进一步延长观察时间,利用更长年份T2DM患者结核发病月数据进行建模和预测,比较不同单一模型和组合模型的拟合效果。需强调的是,本次预测只是从数据上反映了传染病的发病规律,有助于预测传染病的发病趋势及负担,但并不能用于探讨传染病发病的影响因素。当前,国家要求开展重点人群结核病的筛查,糖尿病患者的结核病发病情况备受关注,一些特异的防控策略和措施可能已经影响了该人群结核病的发病情况。采用ARIMA-SVM进行预测,与观察到的实际情况进行比较,可在一定程度上反映这些防控策略和措施的效果。
本研究初次比较了单一ARIMA预测模型与组合模型在T2DM患者PTB发病预测中的应用,研究结果支持组合模型在该人群中应用的有效性。尽管预测效果仍然不理想,但在一定程度上提示当前PTB防治措施的效果。将来需要继续更新数据,优化混合模型的参数,准确估计T2DM患者的PTB发病情况及疾病负担,指导公共卫生工作者做好重点人群的疾病防控工作。
[1] |
JEON CY, MURRY MB. Diabetes mellitus increases the risk of active tuberculosis:a systematic review of 13 observational studies[J]. PLoS Med, 2008, 5(7): e152.
[DOI]
|
[2] |
DOOLEY KE, CHAISSON RE. Tuberculosis and diabetes mellitus:convergence of two epidemics[J]. Lancet Infect Dis, 2009, 9(12): 737-746.
[DOI]
|
[3] |
李茂青, 冯燕, 梁冬妮, 等. 上海市嘉定区肺结核合并糖尿病的流行病学分析[J]. 健康教育与健康促进, 2017, 12(3): 258-259. |
[4] |
李家琦, 王雷, 宋媛媛, 等. ARIMA模型在湖北省肺结核发病预测中的应用[J]. 公共卫生与预防医学, 2018, 29(5): 37-40. |
[5] |
陈正利, 陈伟, 许汴利. 应用ARIMA模型对河南省1991-2011年乙型肝炎发病趋势分析[J]. 中国卫生统计, 2013, 30(3): 401-402. [CNKI]
|
[6] |
李娜, 殷菲, 李晓松. 时间序列分析在结核病发病预测应用中的初步探讨[J]. 现代预防医学, 2010, 37(8): 1426-1428. [URI]
|
[7] |
谢骁旭, 袁兆康. 基于R的江西省肺结核发病率ARIMA-SVM组合预测模型[J]. 中国卫生统计, 2015, 32(1): 160-162. [CNKI]
|
[8] |
秘玉清, 张继萍, 殷延玲, 等. 基于ARIMA模型的山东省肺结核发病趋势预测[J]. 中国卫生统计, 2018, 35(6): 879-881. |
[9] |
宇传华. SPSS与统计分析[M]. 2版. 北京: 电子工业出版社, 2014: 645-684.
|
[10] |
李望晨, 张利平, 李向云, 等. 基于SVM的死亡率时间序列预测设计与分析[J]. 中国卫生统计, 2010, 27(1): 76-77. [URI]
|
[11] |
吴家兵, 叶临湘, 尤尔科. ARIMA模型在传染病发病率预测中的应用[J]. 数理医药学杂志, 2007, 20(1): 90-92. [URI]
|
[12] |
王丙刚, 曲波, 郭海强, 等. 传染病预测的数学模型研究[J]. 中国卫生统计, 2007, 24(5): 536-540. [URI]
|
[13] |
陈兆荣, 雷勋平, 王亮, 等. 基于ARIMA-SVM组合模型的我国农产品价格预测研究[J]. 财经理论研究, 2013(2): 103-107. [CNKI]
|
[14] |
王佳敏, 张红燕. 基于ARIMA-SVM组合模型的移动通信用户数预测[J]. 计算机时代, 2014, 32(9): 12-15. [URI]
|
[15] |
尤玉玲, 李娟, 高孙玉洁, 等. ARIMA模型和SVM模型联合在感染性腹泻发病预测中的应用[J]. 医学动物防制, 2020, 36(5): 432-435. [URI]
|