李順勇, 張鈺嘉
(山西大學數(shù)學科學學院,太原 030006)
肺結核作為我國重大傳染病之一,其發(fā)病數(shù)的預測已經(jīng)成為衛(wèi)生統(tǒng)計領域中一項熱門課題[1-3]. 研究肺結核發(fā)病數(shù)的一種有效方法是對其建立數(shù)學模型,不同的數(shù)學模型應用到肺結核時序上時,擬合效果也不盡相同. Kermark 提出的SIS(Susceptible-Infected-Susceptible)模型是一種常見的傳染病模型,能夠較好地描述肺結核傳播機制[4]. 傳統(tǒng)時間序列模型由于其模型簡單易于實現(xiàn)得到了廣泛的應用,但其在預測肺結核發(fā)病數(shù)時會出現(xiàn)滯后性等問題. BP 神經(jīng)網(wǎng)絡通過其較為強大的學習能力建立起了數(shù)據(jù)之間的非線性關系,在傳染病發(fā)病數(shù)預測方面有一定的優(yōu)勢,但其不能很好地適用于肺結核發(fā)病數(shù)模型[5-7]. 肺結核發(fā)病數(shù)的時序中不僅含有線性時序成分,還包括非線性時序,若采用單個預測模型則很難體現(xiàn)出該事件序列的復合特征,因此,不少學者將ARIMA、GM(1,1)、SVR等模型應用到肺結核發(fā)病數(shù)預測中[8-13]. 2017年,Taylor 等研究人員提出了Prophet模型,該模型支持加入Holiday以及Changepoint,能夠彌補傳統(tǒng)預測模型(如ARIMA)靈活性、通用性的不足,在肺結核發(fā)病數(shù)的時序預測方面有較強的魯棒性[14-15]. Hochreiter 等學者提出了LSTM模型,該模型本質(zhì)上是RNN模型,該模型在實際應用中能夠解決梯度彌散問題,廣泛應用于圖像處理、自然語言處理、傳染病預測中[16].
本文針對肺結核發(fā)病數(shù)時間序列數(shù)據(jù)展開實驗,分別利用Prophet模型與LSTM模型對2011—2019年中國肺結核發(fā)病數(shù)時序數(shù)據(jù)進行建模,比較兩種模型擬合效果以及預測性能,并解釋肺結核發(fā)病數(shù)的規(guī)律,掌握該病發(fā)展情況,為中國肺結核的防控工作提供依據(jù).
圖1 Prophet模型流程圖Fig.1 Prophet model flow chart
Prophet 模型是Taylor 等研究人員在2017 年提出的時序模型,該模型能夠有效地分析數(shù)據(jù)本身的特征以及變化規(guī)律,并有良好的預測性能. 該模型相較于傳統(tǒng)時序模型,加入了Holidays以及Changepoint 因子,預測更加靈活[13],Prophet 工作流程如圖1所示.
Prophet 模型可以理解為加性模型,由growth、seasonality、holidays三個部分組成,模型構成如式(1)所示.
式(1)中:t為時間,g(t)為growth項,是模型的核心項,用來擬合時序中的非周期性變化,該項函數(shù)如式(2)所示.
式(2)中:C代表容量;k代表模型的增長率;b代表模型偏移量;t為時間. 可以看出,t增加時,1+e-k(t-b)趨近于1,即g(t)趨近于C.
s(t)為seasonality項,該項使用傅里葉級數(shù)代表周期因子,表達式如式(3)所示.
式(3)中:T 代表周期;an,bn是被估參數(shù);t為時間;n代表模型中使用周期數(shù)的一半.
h(t)為holidays項,該項將節(jié)日影響分成不同的獨立模型,表達式如式(4)所示.
式(4)中:每個holiday用i表示;t為時間;Z(t)=[1 (t ∈D1),…,1(t ∈Di)] ,1(t ∈Di)為指示函數(shù),Di為holidays集合,若t在Di中,則1(t ∈Di)的值為1,若t不在Di中,則1(t ∈Di)的值為0;κi為每個holidays 的參數(shù),代表對每個holiday的影響.
LSTM 是循環(huán)神經(jīng)網(wǎng)絡(RNN)的一種形式,與RNN 不同的地方在于LSTM 模型增加了Gated,解決了RNN 在層數(shù)較多時出現(xiàn)梯度彌散的問題,LSTM 模型在處理肺結核發(fā)病數(shù)時間序列時有較好的效果[14]. LSTM 模型的關鍵之處在于三個“門”結構,即Input Gate、Output Gate、Forget Gate,具體組成結構如圖2所示.
圖2 LSTM組成結構圖Fig.2 LSTM model framework
LSTM模型具體計算公式如式(5)~(10)所示.
式(5)~(10)中:it為Input Gate,ot為Output Gate,ft為Forget Gate,c?t為t時Cell中輸入的值,ct為t時Cell中的更新值,ht為儲存了t時以及之前隱藏信息的向量;sigmoid,tanh 為激活函數(shù);Wf,Wi,Wc,Wo均為權重矩陣,bf,bi,bc,bo為對應Wf,Wi,Wc,Wo的偏置,具體單元結構圖如圖3所示.
選取2011年7月到2019年9月一共98個月的肺結核發(fā)病數(shù)作為研究數(shù)據(jù),具體內(nèi)容如表1所示.
根據(jù)表1中數(shù)據(jù)進一步得到肺結核發(fā)病數(shù)隨著時間變化的曲線,如圖4所示.
圖4的坐標橫軸表示98個月份,坐標縱軸為肺結核發(fā)病數(shù),從圖4可以看出,我國肺結核發(fā)病數(shù)每月波動較為明顯,具有逐年下降的趨勢,并且有一定的周期性.
為檢驗LSTM模型以及Prophet模型對肺結核發(fā)病數(shù)預測的效果,選取MAE以及RMSE兩個指標作為評估的標準,指標計算公式如式(11)、式(12)所示.
式(11)~(12)中:x 為肺結核當月發(fā)病數(shù)的實際值;x?為LSTM模型或者Prophet模型的預測值;n 為預測的總月數(shù).
采用Tensorflow 與Keras 庫建立LSTM 模型,該模型有三層,即Input、Output、Hidden 層,模型的epochs 設置為500,單元數(shù)設置為128,batch_size設置為1,loss函數(shù)設置為mean_squared_error,optimizer設置為adam,train_size設置為數(shù)據(jù)量的2/3,look_back設置為15,運用LSTM模型對表1中數(shù)據(jù)進行擬合. 此時,該模型的loss值為6.457 1×10-4,訓練集的RMSE值1 439.99,預測集的RMSE值為5 915.26,訓練結果如圖5所示.
圖5 LSTM模型擬合效果Fig.5 LSTM model fitting effect
從圖5可以看出,LSTM模型有較好的擬合效果以及預測性能,能夠較準確地預測出肺結核發(fā)病數(shù)的趨勢以及人數(shù).
采用fbprophet庫建立Prophet模型,模型的interval_width設置為0.95,periods設置為12,fre設置為MS,運用Prophet模型對表1中的數(shù)據(jù)進行擬合. 此時,該模型的RMSE值為4 856.66,擬合效果如圖6所示.
圖6 Prophet模型擬合效果Fig.6 Prophet model fitting effect
圖6中陰影部分為interval_width 等于0.95時的Prophet模型預測值的上下界. 由圖6可知,Prophet模型有較好的擬合效果,預測結果也與實際情況相吻合.
為比較兩種模型預測值,運用LSTM模型以及Prophet模型對表1中2007年6月至2018年12月的數(shù)據(jù)進行訓練,并對2019年1月至2019年6月的數(shù)據(jù)進行預測,預測結果如圖7所示.
圖7 LSTM模型與Prophet模型對比效果Fig.7 Comparison of LSTM model and Prophet model
由圖7中兩個模型6個月的預測曲線可以看出,兩種模型均能較好地預測肺結核發(fā)病數(shù)的變化趨勢;相比LSTM模型,Prophet模型預測曲線與肺結核發(fā)病數(shù)實際曲線更加接近,預測效果更好,能夠更好地對發(fā)病數(shù)的趨勢、發(fā)病數(shù)的周期進行擬合,并且,Prophet模型在發(fā)病數(shù)波動較大時也能有較好的擬合效果.
ARIMA模型與灰度模型常用于對傳染病發(fā)病人數(shù)進行預測[6-7],為進一步判斷LSTM模型與Prophet模型的預測性能,本節(jié)對ARIMA、GM(1,1)、LSTM、Prophet四種模型的預測性能進行對比,運用四種模型對表1中2007年7月至2018年12月的數(shù)據(jù)進行訓練,對2019年1月至2019年6月的數(shù)據(jù)進行預測,并計算各個模型的MAE與RMSE值,模型對比結果如表2所示.
表2 四種模型對比結果Tab.2 Comparison of four models
從表2可以看出,Prophet模型的MAE值與RMSE值分別為5 124.33、5 905.32,兩項指標的值均低于其余三種模型,說明Prophet模型的預測性能最好. 通過比較ARIMA、GM(1,1)、LSTM、Prophet四種模型的MAE、RMSE值可以看出,ARIMA模型的預測性能在四種模型中表現(xiàn)最差,GM(1,1)模型略微優(yōu)于ARIMA模型,而LSTM模型又優(yōu)于GM(1,1)模型,其MAE值與RMSE值分別為6 851.71、9 287.70,僅次于Prophet模型.
對肺結核發(fā)病數(shù)的準確預測能夠為該病的防控工作提供一定的科學理論指導,本文將LSTM 模型與Prophet模型應用到肺結核月發(fā)病數(shù)的預測中. 實驗結果表明,LSTM模型與Prophet模型均有較好的擬合效果以及預測性能. 并且,本文將以上兩種模型的預測性能與ARIMA、GM(1,1)模型進行對比,對比結果表明Prophet模型的預測性能最好,其MAE值與RMSE值分別為5 124.33、5 905.32,其次為LSTM模型,ARIMA 模型預測性能最差.