南昌大學公共衛生學院(330006) 謝驍旭 袁兆康
基于R的江西省肺結核發病率ARIMA-SVM組合預測模型*
南昌大學公共衛生學院(330006) 謝驍旭 袁兆康△
目的在ARIMA和SVM基礎上,提出一種肺結核發病率組合預測方法。方法以2004年至2012年江西省肺結核月發病率資料為例,利用R中的forecast包、e1071包,擬合ARIMA-SVM模型實現對肺結核發病率的預測。結果ARIMA-SVM組合預測模型的預測精度優于單純ARIMA模型。結論ARIMA-SVM組合預測模型是一種切實可行的肺結核發病率預測方法。
支持向量機 差分自回歸移動平均 組合預測 肺結核發病率
肺結核是由結核分枝桿菌引發的肺部感染性疾病,是嚴重威脅人類健康的疾病,我國是世界上結核疫情最嚴重的國家之一[1]。對肺結核發病率進行預測,從而做到有效防控是一件具有實際意義的事情。常見的時間序列預測模型為差分自回歸移動平均(ARIMA)模型,ARIMA模型為基于線性數據的預測模型,因此可能會出現精度不理想的情況[2]。本研究將擬合ARIMA-SVM組合模型來預測江西省肺結核發病率。使用ARIMA-SVM預測模型既對肺結核發病率的線性趨勢進行了預測,又對非線性關系進行了預測;且能克服小樣本數據過擬合、泛化能力不強、局部極小、結果不穩定、沒有解釋能力等問題。常用的時間序列分析軟件為SAS、SPSS、Matlab等,這些軟件雖然功能強大但是均為商業付費軟件,且軟件是大型集成統計軟件,不夠靈活。而R是一個自由、免費、源代碼開放的軟件,因此本研究擬用R進行預測模型的擬合。
從國家人口與健康科學數據共享平臺公共衛生科學數據中心(http://www.ncmi.cn/info/69/1544)下載2004-2012年江西省肺結核月發病率,見表1。

表1 2004-2012年江西省肺結核月發病率(1/10萬人)
1.R軟件
R是用于統計分析、繪圖的語言和操作環境,R是屬于GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用于統計計算和統計制圖的優秀工具[3]。本文使用R語言3.0.2版forecast包Arima函數建立ARIMA模型,計算原序列與ARIMA模型預測結果的殘差。對殘差序列進行樣本重構獲得SVM樣本集,使用R語言e1071包對殘差進行SVM預測。將兩種模型的預測結果相加得到最終的預測結果。
2.ARIMA模型[4-5]
ARIMA模型由Box和Jenkins提出,在ARIMA模型中預測值表達為過去若干個取值和隨機誤差的線性函數。

式中,yt是t時的預測值,εt是t時的隨機誤差,φi和θj是系數,p為自回歸項數,q為移動平均項數。
肺結核發病率ARIMA模型的建立:使用auto.arima()函數來尋找合適的模型,采用AIC準則作為參數估計和判斷模型殘差是否為白噪聲的標準。
3.ARIMA-SVM組合模型[6-8]
支持向量機(SVM)是Corinna Cortes和Vapnik等于1995年首先提出的,建立ARIMA-SVM組合模型的過程如下。
(1)使用ARIMA對肺結核發病率Pt進行預測,設預測結果為原序列和ARIMA模型預測結果的殘差為et,即et=Pt-t,序列{et}隱含了原序列中的非線性關系,et=f(et-1,et-2,…,et-n)+ε,其中,ε為隨機誤差。
(2)對上一步的殘差序列進行輸入向量構造,得到SVM樣本集{e(ti),e(ti-s),…,e(ti-τs)},利用SVM對殘差進行預測,設預測結果為t。
肺結核發病率ARIMA-SVM組合模型的建立:使用tune.svm()函數確定核函數的參數,使用svm()函數擬合模型。


1.ARIMA模型
擬合2004-2011年的江西省肺結核發病率數據后的ARIMA模型為ARIMA(0,1,1)(2,0,0)12。根據該模型得2012年1-12月發病率月預測值,見表2。
2.ARIMA-SVM組合模型
將2004-2011年的江西省肺結核發病率ARIMA模型預測值殘差使用SVM模型進行擬合,殘差SVM預測模型參數:核函數為radial函數,C=100,γ=0.01,ε=0.1。將SVM殘差預測值加上ARIMA預測值得肺結核發病率ARIMA-SVM預測值。根據該模型得2012年1-12月發病率月預測值,見表2。
3.ARIMA模型和ARIMA-SVM組合模型的比較
由表2可知,ARIMA-SVM組合模型的均方誤差、平均相對誤差均低于單純ARIMA模型,說明ARIMA-SVM組合模型有效的校正了ARIMA模型預測值的殘差。但是MAPE偏大,說明整體擬合效果不是非常好,這可能和肺結核發病率變化不穩定及發病率較低有關。

表2 2012年江西省肺結核月發病率的兩種模型預測值比較(1/10萬人)
傳染病發病率的預測是一個非常活躍的研究領域,傳統的預測方法通常沒有考慮到發病率數據的非線性部分,對于不規則數據序列難以確定合適的模型結果,因而會導致預測準確度不高的問題。
支持向量機(SVM)是一種可訓練的機器學習方法,最早應用于對資料進行分類,但是基于SVM的原理,現已將其擴展應用于回歸以及時間序列分析中[9-10]。SVM在解決小樣本、非線性及高維模式識別中表現出許多特有的優勢,支持向量機方法是建立在統計學習理論的VC維理論和結構風險最小原理基礎上的,根據有限的樣本信息在模型的復雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折衷,以求獲得最好的推廣能力[11-12]。即使在訓練樣本較小的情況下,SVM也可以有效地處理高維數據,并對復雜模型擬合出效果好的模型;SVM表現出良好的回歸和時間序列預測能力,可以對非線性關系資料擬合出有效穩定的模型;SVM在很多情形下是解決凸優化問題的唯一解決方案;但是SVM也存在著缺點,如果沒有有效的算法,在數據包含較多的樣本時,模型擬合時間會非常長[13-14]。
SVM在多個領域中得到了廣泛的應用,Patrick Rebentrost應用SVM進行了對大數據的分類[15];Eszter Hazai應用SVM對人類乳腺癌耐藥蛋白的底物進行了預測;PP Bhagwat應用SVM預測了河流流量[16];吳虹采用ARIMA-SVM預測了石油價格[17]。本研究使用ARIMA模型擬合肺結核發病率的線性部分,使用SVM模型擬合肺結核發病率的非線性部分,建立兼有ARIMA和SVM模型優點的ARIMA-SVM組合模型,從而達到更優的預測效果。通過對江西省肺結核發病率的預測研究,驗證了組合模型比單一模型的預測結果更合理可靠。
綜上所述,ARIMA-SVM組合預測模型是一種切實可行的肺結核發病率預測方法。
1.Zhao F,Cheng S,He G,et al.Space-time clustering characteristics of tuberculosis in china,2005-2011.PLoS One,2013,8(12):e83605.
2.陳正利,陳偉,許汴利.應用ARIMA模型對河南省1991-2011年乙型肝炎發病趨勢分析.中國衛生統計,2013,30(3):401-402.
3.薛毅,陳立萍.統計建模與R軟件.北京:清華大學出版社,2007.
4.Cowpertwait PSP,Metcalfe AV.Introductory time series with R.Newyork:Springer,2009.
5.吳家兵,葉臨湘,尤爾科.時間序列模型在傳染病發病率預測中的應用.中國衛生統計,2006,23(03):276.
6.Fan RE,Chen PH,Lin CJ.Working set selection using second order information for training support vector machines.Journal of Machine Learning Research,2005,6:1889-1918.
7.Chang CC,Lin CJ.LIBSVM:A Library for Support Vector Machines. ACM Transactions on Intelligent Systems and Technology,2011,2(273SI).
8.David Meyer.Support Vector Machines-the Interface to libsvm in package e1071.http://cran.r-project.org/web/packages/e1071/vignettes/svmdoc.pdf.
9.李磊,黃水平.支持向量機原理及其在醫學分類中的應用.中國衛生統計,2009,26(1):22-25.
10.Jiang Q,Wang G,Jin S,et al.Predicting human microRNA-disease associations based on support vector machine.Int J Data Min Bioinform,2013,8(3):282-293.
11.武振宇,李康.支持向量機在基因表達數據分類中的應用研究.中國衛生統計,2007,24(1):8-11.
12.Chen Y,Xu W,Kuang F,et al.The research and application of visual saliency and adaptive support vector machine in target tracking field. Comput Math Methods Med,2013,2013:925341.
13.李望晨,王培承,潘慶忠.BPNN與SVM在醫院管理綜合評價中的應用.中國衛生統計,2008,25(1):15-17,21.
14.李望晨,張利平,李向云,等.基于SVM的死亡率時間序列預測設計與分析.中國衛生統計,2010,27(1):76-77,79.
15.Rebentrost P,Mohseni M,Lloyd S.Quantum support vector machine for big feature and big data classification.arXiv preprint arXiv:1307.0471,2013.
16.Bhagwat PP,Maity R.Hydroclimatic stream flow prediction using Least Square-Support Vector Regression.ISH Journal of Hydraulic Engineering,2013(3):320-328.
17.吳虹,尹華.ARIMA與SVM組合模型的石油價格預測.計算機仿真,2010,27(5):264-266,326.
(責任編輯:郭海強)
江西省研究生創新專項資金項目(YC2013-S009)
△通信作者:袁兆康,E-mail:yuanzhaokang@126.com