韓天齊 宋 波
麻疹是一種常見的急性呼吸道傳染病之一,該疾病傳染性很強,在人口密集而未普種疫苗的地區易發生流行。自1965年我國開始普種麻疹減毒活疫苗以來,各地麻疹發病率逐漸下降,麻疹大規模流行基本上得到控制。但由于改革開放及經濟發展所帶來的人口流動增加,原有的疫苗接種制度受到了一定的沖擊,部分兒童麻疹疫苗漏種或免疫失敗的現象不斷出現。加之初免后隨著年齡增長而免疫力逐漸降低等原因,致使麻疹小規模流行仍時有發生。據統計數據顯示,麻疹流行有明顯的季節性,以10月至次年2月為發病季節。普種麻疹疫苗后,發病季節后移至每年3~5月份,麻疹流行大幅度的周期波動減弱,但仍有一定的小幅度周期波動。
在傳染病的預防過程中,發病率的預測起著重要作用,研判傳染病流行初期的發展趨勢,對制定相關疾病的預防和控制措施有重要的參考意義。目前在疾病發病率預測工作中,一種常用方法是基于統計學的分析模型或時間序列模型,如基于ARIMA和NAR模型對細菌性痢疾發病率的預測[1]研究,基于Poisson模型對人口死亡率[2]的研究,另一種是基于機器學習的神經網絡模型對歷史數據分析訓練并預測未來走勢,如基于BP神經網絡模型對肺結核發病率的預測[3]等等。
近年來,隨著深度學習技術發展成熟,越來越多的深度學習模型被應用到數據分析預測的研究中。其中循環神經網絡(Recurrent Neural Network,RNN)在對時間序列數據的分析中表現出更好的特性,基于RNN模型出現了很多的變
體模型,其中長短期記憶(Long Short-Term Memory,LSTM)模型[4]彌補了RNN的梯度消失和梯度爆炸、長期記憶能力不足[5]等問題,使得循環神經網絡能夠更加有效地利用長距離的時間序列信息。本文通過對麻疹疾病歷史發病數據進行分析,通過LSTM網絡模型對原始數據進行訓練擬合、分析以及測試,力求對未來各地區麻疹發病趨勢作出預測,為預防和控制疫病相關措施的部署提供理論依據,盡最大力度減少麻疹疾病造成的影響。

圖1 LSTM結構圖
LSTM網絡是一種特殊的RNN類型,是為了解決RNN模型梯度彌散的問題而提出的。最初的LSTM門層只有輸入門和輸出門,由Gers FA等[6]加入遺忘門成為現在通用的LSTM結構,由Duan Y等[7]引入了“peephole connection”,讓門層也會接受細胞狀態的輸入,成為LSTM最流行的一個變體。傳統的RNN模型,在訓練的過程中的梯度下降過程中,回傳的殘差便會指數下降,導致網絡權重更新緩慢,無法體現出RNN的長期記憶的效果,因此LSTM通過設置一個存儲單元來存儲記憶,通過輸入輸出門來解決輸入輸出權值的矛盾問題。
現在針對LSTM模型的訓練方法主要分為實時遞歸學習算法(Real Time Recurrent Learning,RTRL)[8]和反向傳播算法(Back-Propagation Through Time,BPTT)[9],本文采用時間效率較高的按時間展開反向誤差傳播算法來訓練LSTM模型。反向傳播算法的大致思路如下:先將LSTM網絡按照時間順序展開為一個深層的網絡,然后反復應用鏈式規則,經過損失函數(loss function)計算,然后通過BPTT反向傳播算法計算梯度,通過自適應矩估計算法(adaptive moment estimation,Adam)[10]更新網絡權重。

圖2 模型訓練示意圖
本文構建的基于LSTM預測模型的整體框架流程圖如下:

圖3 模型框架圖
通過LSTM模型訓練數據,訓練模型包括數據預處理模塊,LSTM模型模塊(包括輸入層、隱藏層、輸出層、網絡訓練更新模塊),數據后處理模塊,輸出展示模塊,以及通過加載訓練好的模型參數進行擬合預測流程的功能模塊。數據預處理模塊對原始時間序列數據處理為LSTM網絡需要的格式,LSTM網絡對數據進行訓練,計算梯度,采用優化算法更新權重,輸出結果經過處理還原后送到數據結果展示平臺顯示。
本文使用人口與健康科學數據共享平臺提供的1950至2014年全國麻疹報告數據集,包括各省及全國發病人數(morbidity)、死亡人數(death)、發病率(morbidity ratio)、死亡率(death_ratio)。根據數據集可以發現,隨著醫療條件改善和生活水平的提高,特別是實行了普種麻疹減毒活疫苗以來,部分省市有連續多年死亡人數和死亡率統計為0的情況。因此以發病人數或發病率進行麻疹的發病預測更有指導意義。
根據給定數據集,本文選取發病率作為訓練數據,這是一個關于時間序列的數據,從這個時間序列中擬合原始數據并預測未來的發病率趨勢。原始數據記錄顯示大部分省份統計數據先后于1965年之后出現下降趨勢,并最遲在1980-1985年間逐漸下降并穩定到一個小幅度波動范圍內波動。由于改革開放后我國醫療水平大幅度提高,導致1985年前后統計數據波動幅度差別很大,故本文對原始數據集訓練了兩個模型(全體數據集的擬合模型和1985年之后數據的擬合預測模型),預測模型用于1985年之后數據擬合以及對未來趨勢的預測。
驗證結果度量指標采用均方根誤差(Root Mean Square Error,RMSE),均方根誤差是均方誤差(Mean Square Error,MSE)的算術平方根:

其中,observedt和predictedt分別為t時刻的觀測值和模型輸出值,N為數據點個數。本文通過對訓練集和測試集分別計算RMSE值來定量地評價模型的擬合和預測精度。下文中計算的RMSE均為擬合或預測數據逆歸一化還原后的值和原始數據進行均方根誤差計算的結果。
通過上述模型設定,對原始數據集預處理后進行模型訓練,用訓練好的模型對各省數據進行擬合和預測,部分實驗結果如下:
圖4為河北省以全體數據集訓練的模型擬合結果和原始數據曲線的對比。藍線為實際數據曲線,黑線為模型擬合曲線。結果顯示全數據集訓練的模型對1985年前的年份擬合

圖4 河北省數據擬合圖
圖5 為河北省以1985年之后數據集訓練的模型擬合結果和原始數據曲線的對比。

圖5 河北省近20年數據擬合圖
為了驗證該模型發病率預測的效果。本文選取四川省衛生和計劃生育委員會官方發布的2015年至2017年麻疹疫情數據,以1985年至2014年的數據集訓練的模型預測結果與2015年至2017年全國和四川省的麻疹實際發病率進行對比,如圖6所示,藍線為實際發病率曲線,黑線為模型預測曲線。結果顯示模型預測發病率數據與實際發病率數據擬合度較高。

圖6 四川省2014年至2017年實際發病率與預測發病率結果對比圖
圖7 為該模型對西南地區未來5年麻疹發病率趨勢的預測,通過預測的發病率可以對麻疹疫情的預防和監測起到一定的指導作用。

圖7 西南地區麻疹發病率趨勢預測圖
本文通過LSTM網絡構建擬合預測模型,對麻疹疾病發病率擬合預測及參數優化等結果實驗測試表明,LSTM網絡模型對疾病預測相關的時間序列問題具有一定的適用性。由于麻疹疾病的爆發流行受到諸多因素的影響,同時原始數據集波動幅度比較大,統計結果顯示各省數據波動有一定規律和相關性,卻又各不相同,神經網絡模型的非線性變換對處理這種多相關和非線性問題相比傳統統計學分析模型更具優勢。但單純依靠歷史數據預測未來趨勢仍有一定的局限性。基于目前的工作,后續研究可以考慮引入更多相關影響因素,同時對數據集預處理過程進行優化調整,對模型參數選擇可以進行更多優化測試。