韓天齊 宋 波
麻疹是一種常見的急性呼吸道傳染病之一,該疾病傳染性很強,在人口密集而未普種疫苗的地區(qū)易發(fā)生流行。自1965年我國開始普種麻疹減毒活疫苗以來,各地麻疹發(fā)病率逐漸下降,麻疹大規(guī)模流行基本上得到控制。但由于改革開放及經(jīng)濟發(fā)展所帶來的人口流動增加,原有的疫苗接種制度受到了一定的沖擊,部分兒童麻疹疫苗漏種或免疫失敗的現(xiàn)象不斷出現(xiàn)。加之初免后隨著年齡增長而免疫力逐漸降低等原因,致使麻疹小規(guī)模流行仍時有發(fā)生。據(jù)統(tǒng)計數(shù)據(jù)顯示,麻疹流行有明顯的季節(jié)性,以10月至次年2月為發(fā)病季節(jié)。普種麻疹疫苗后,發(fā)病季節(jié)后移至每年3~5月份,麻疹流行大幅度的周期波動減弱,但仍有一定的小幅度周期波動。
在傳染病的預防過程中,發(fā)病率的預測起著重要作用,研判傳染病流行初期的發(fā)展趨勢,對制定相關疾病的預防和控制措施有重要的參考意義。目前在疾病發(fā)病率預測工作中,一種常用方法是基于統(tǒng)計學的分析模型或時間序列模型,如基于ARIMA和NAR模型對細菌性痢疾發(fā)病率的預測[1]研究,基于Poisson模型對人口死亡率[2]的研究,另一種是基于機器學習的神經(jīng)網(wǎng)絡模型對歷史數(shù)據(jù)分析訓練并預測未來走勢,如基于BP神經(jīng)網(wǎng)絡模型對肺結核發(fā)病率的預測[3]等等。
近年來,隨著深度學習技術發(fā)展成熟,越來越多的深度學習模型被應用到數(shù)據(jù)分析預測的研究中。其中循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)在對時間序列數(shù)據(jù)的分析中表現(xiàn)出更好的特性,基于RNN模型出現(xiàn)了很多的變
體模型,其中長短期記憶(Long Short-Term Memory,LSTM)模型[4]彌補了RNN的梯度消失和梯度爆炸、長期記憶能力不足[5]等問題,使得循環(huán)神經(jīng)網(wǎng)絡能夠更加有效地利用長距離的時間序列信息。本文通過對麻疹疾病歷史發(fā)病數(shù)據(jù)進行分析,通過LSTM網(wǎng)絡模型對原始數(shù)據(jù)進行訓練擬合、分析以及測試,力求對未來各地區(qū)麻疹發(fā)病趨勢作出預測,為預防和控制疫病相關措施的部署提供理論依據(jù),盡最大力度減少麻疹疾病造成的影響。
圖1 LSTM結構圖
LSTM網(wǎng)絡是一種特殊的RNN類型,是為了解決RNN模型梯度彌散的問題而提出的。最初的LSTM門層只有輸入門和輸出門,由Gers FA等[6]加入遺忘門成為現(xiàn)在通用的LSTM結構,由Duan Y等[7]引入了“peephole connection”,讓門層也會接受細胞狀態(tài)的輸入,成為LSTM最流行的一個變體。傳統(tǒng)的RNN模型,在訓練的過程中的梯度下降過程中,回傳的殘差便會指數(shù)下降,導致網(wǎng)絡權重更新緩慢,無法體現(xiàn)出RNN的長期記憶的效果,因此LSTM通過設置一個存儲單元來存儲記憶,通過輸入輸出門來解決輸入輸出權值的矛盾問題。
現(xiàn)在針對LSTM模型的訓練方法主要分為實時遞歸學習算法(Real Time Recurrent Learning,RTRL)[8]和反向傳播算法(Back-Propagation Through Time,BPTT)[9],本文采用時間效率較高的按時間展開反向誤差傳播算法來訓練LSTM模型。反向傳播算法的大致思路如下:先將LSTM網(wǎng)絡按照時間順序展開為一個深層的網(wǎng)絡,然后反復應用鏈式規(guī)則,經(jīng)過損失函數(shù)(loss function)計算,然后通過BPTT反向傳播算法計算梯度,通過自適應矩估計算法(adaptive moment estimation,Adam)[10]更新網(wǎng)絡權重。
圖2 模型訓練示意圖
本文構建的基于LSTM預測模型的整體框架流程圖如下:
圖3 模型框架圖
通過LSTM模型訓練數(shù)據(jù),訓練模型包括數(shù)據(jù)預處理模塊,LSTM模型模塊(包括輸入層、隱藏層、輸出層、網(wǎng)絡訓練更新模塊),數(shù)據(jù)后處理模塊,輸出展示模塊,以及通過加載訓練好的模型參數(shù)進行擬合預測流程的功能模塊。數(shù)據(jù)預處理模塊對原始時間序列數(shù)據(jù)處理為LSTM網(wǎng)絡需要的格式,LSTM網(wǎng)絡對數(shù)據(jù)進行訓練,計算梯度,采用優(yōu)化算法更新權重,輸出結果經(jīng)過處理還原后送到數(shù)據(jù)結果展示平臺顯示。
本文使用人口與健康科學數(shù)據(jù)共享平臺提供的1950至2014年全國麻疹報告數(shù)據(jù)集,包括各省及全國發(fā)病人數(shù)(morbidity)、死亡人數(shù)(death)、發(fā)病率(morbidity ratio)、死亡率(death_ratio)。根據(jù)數(shù)據(jù)集可以發(fā)現(xiàn),隨著醫(yī)療條件改善和生活水平的提高,特別是實行了普種麻疹減毒活疫苗以來,部分省市有連續(xù)多年死亡人數(shù)和死亡率統(tǒng)計為0的情況。因此以發(fā)病人數(shù)或發(fā)病率進行麻疹的發(fā)病預測更有指導意義。
根據(jù)給定數(shù)據(jù)集,本文選取發(fā)病率作為訓練數(shù)據(jù),這是一個關于時間序列的數(shù)據(jù),從這個時間序列中擬合原始數(shù)據(jù)并預測未來的發(fā)病率趨勢。原始數(shù)據(jù)記錄顯示大部分省份統(tǒng)計數(shù)據(jù)先后于1965年之后出現(xiàn)下降趨勢,并最遲在1980-1985年間逐漸下降并穩(wěn)定到一個小幅度波動范圍內波動。由于改革開放后我國醫(yī)療水平大幅度提高,導致1985年前后統(tǒng)計數(shù)據(jù)波動幅度差別很大,故本文對原始數(shù)據(jù)集訓練了兩個模型(全體數(shù)據(jù)集的擬合模型和1985年之后數(shù)據(jù)的擬合預測模型),預測模型用于1985年之后數(shù)據(jù)擬合以及對未來趨勢的預測。
驗證結果度量指標采用均方根誤差(Root Mean Square Error,RMSE),均方根誤差是均方誤差(Mean Square Error,MSE)的算術平方根:
其中,observedt和predictedt分別為t時刻的觀測值和模型輸出值,N為數(shù)據(jù)點個數(shù)。本文通過對訓練集和測試集分別計算RMSE值來定量地評價模型的擬合和預測精度。下文中計算的RMSE均為擬合或預測數(shù)據(jù)逆歸一化還原后的值和原始數(shù)據(jù)進行均方根誤差計算的結果。
通過上述模型設定,對原始數(shù)據(jù)集預處理后進行模型訓練,用訓練好的模型對各省數(shù)據(jù)進行擬合和預測,部分實驗結果如下:
圖4為河北省以全體數(shù)據(jù)集訓練的模型擬合結果和原始數(shù)據(jù)曲線的對比。藍線為實際數(shù)據(jù)曲線,黑線為模型擬合曲線。結果顯示全數(shù)據(jù)集訓練的模型對1985年前的年份擬合
圖4 河北省數(shù)據(jù)擬合圖
圖5 為河北省以1985年之后數(shù)據(jù)集訓練的模型擬合結果和原始數(shù)據(jù)曲線的對比。
圖5 河北省近20年數(shù)據(jù)擬合圖
為了驗證該模型發(fā)病率預測的效果。本文選取四川省衛(wèi)生和計劃生育委員會官方發(fā)布的2015年至2017年麻疹疫情數(shù)據(jù),以1985年至2014年的數(shù)據(jù)集訓練的模型預測結果與2015年至2017年全國和四川省的麻疹實際發(fā)病率進行對比,如圖6所示,藍線為實際發(fā)病率曲線,黑線為模型預測曲線。結果顯示模型預測發(fā)病率數(shù)據(jù)與實際發(fā)病率數(shù)據(jù)擬合度較高。
圖6 四川省2014年至2017年實際發(fā)病率與預測發(fā)病率結果對比圖
圖7 為該模型對西南地區(qū)未來5年麻疹發(fā)病率趨勢的預測,通過預測的發(fā)病率可以對麻疹疫情的預防和監(jiān)測起到一定的指導作用。
圖7 西南地區(qū)麻疹發(fā)病率趨勢預測圖
本文通過LSTM網(wǎng)絡構建擬合預測模型,對麻疹疾病發(fā)病率擬合預測及參數(shù)優(yōu)化等結果實驗測試表明,LSTM網(wǎng)絡模型對疾病預測相關的時間序列問題具有一定的適用性。由于麻疹疾病的爆發(fā)流行受到諸多因素的影響,同時原始數(shù)據(jù)集波動幅度比較大,統(tǒng)計結果顯示各省數(shù)據(jù)波動有一定規(guī)律和相關性,卻又各不相同,神經(jīng)網(wǎng)絡模型的非線性變換對處理這種多相關和非線性問題相比傳統(tǒng)統(tǒng)計學分析模型更具優(yōu)勢。但單純依靠歷史數(shù)據(jù)預測未來趨勢仍有一定的局限性?;谀壳暗墓ぷ?,后續(xù)研究可以考慮引入更多相關影響因素,同時對數(shù)據(jù)集預處理過程進行優(yōu)化調整,對模型參數(shù)選擇可以進行更多優(yōu)化測試。