李順勇, 何金莉
(山西大學數(shù)學科學學院,太原 030006)
傳染病是由各類病原體引起的、可大范圍傳播且傳播速度較快的疾?。?]. 甲乙類傳染病中,肺結(jié)核、乙肝、布魯氏菌病和艾滋病是每年發(fā)病人數(shù)較多的法定傳染病. 若能掌握其發(fā)病規(guī)律,預測其發(fā)病趨勢,并對發(fā)病狀況進行分析與預測,可以為傳染病防控工作提供科學的建議,對傳染病防治具有重要的意義[2].
近年來,隨著人工智能發(fā)展,已有眾多模型應用于傳染病預測分析中. 徐映梅和陳堯[3]考慮對非結(jié)構(gòu)化數(shù)據(jù)與單變量數(shù)據(jù)在模型預測上的效果差異,對比了自回歸移動平均(Autoregressive Integrated Moving Average,ARIMA)模型與長短期記憶神經(jīng)網(wǎng)絡(Long Short-term Memory,LSTM)模型在國民生產(chǎn)總值季度數(shù)據(jù)上的預測效果. 馮一平等[4]對比了分布滯后線性模型(Distributed Lag Non-linear Model,DLNM)與LSTM 模型在預測山東省手足口病的發(fā)病趨勢上的效果. 單一的預測模型通常具有一定的局限性,例如ARIMA模型在捕捉非線性關(guān)系上存在局限,DLNM對模型假設條件較敏感. 對此,賴曉鎣和錢?。?]運用LSTM模型對ARIMA模型殘差序列的非線性成分進行校正,用XGBoost集成預測模型,但其沒有考慮到時間序列本身的復雜度,且沒有挖掘時間序列中的潛在信息.
傳染病數(shù)據(jù)常常具有非平穩(wěn)、非線性的特征,而信號分解能夠提取序列的局部特征且保證序列的平穩(wěn)性,降低時間序列的復雜度,進而提升時間序列的可預測性[6-7]. 對此,本文提出了一種基于自適應噪聲完備集合經(jīng)驗模態(tài)分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)和模糊熵(Fuzzy Entropy,F(xiàn)E)改進長短時記憶網(wǎng)絡(LSTM)的傳染病組合預測模型. 首先運用CEEMDAN 算法將序列分解;接著運用FE算法計算各分量復雜度并將其重構(gòu),以發(fā)掘序列的潛在信息,提高運算的效率;最后建立LSTM模型[8]對重構(gòu)的序列進行預測. 本文采用RMSE、MAE和MAPE三種評價指標對預測效果進行評判,選取SARIMA、CEEMDAN-FE-SARIMA 和LSTM 作為對比模型. 從模型的預測效果上探索模型在傳染病預測中的適用性,以期發(fā)現(xiàn)傳染病發(fā)病的變化規(guī)律,為傳染病預防控制提供依據(jù).
CEEMDAN[9-10]由經(jīng)驗模態(tài)分解(Empirical Mode Decomposition,EMD)發(fā)展而來,通過添加自適應的白噪聲能使EMD中的模態(tài)混疊問題得到有效改善,改善后信號分解的重構(gòu)誤差極小. 該方法適用于將非線性和不平穩(wěn)的信號分解成不同尺度的模態(tài)分量與殘差分量,實現(xiàn)步驟如下.
步驟1對時間序列添加白噪聲序列,并進行EMD分解取平均得到模態(tài)分量IMF1. 假設原始時間序列為x(n),自適應系數(shù)為ε,對于每次分解都加入白噪聲序列ωi(n),則第i次添加噪聲后的序列xi(n)為
EMD分解N次實驗的均值為模態(tài)分量IMF1,即
步驟2計算步驟1得到的余量序列r1(n),并由此計算IMF2,計算方法如式(3)和式(4)所示:
步驟3重復步驟2的計算至第k+1步,得到第k步的余量序列rk(n)以及第k+1個模態(tài)分量IMFk+1,即
步驟4重復上述步驟,直至余量序列的極值點個數(shù)小于等于2時停止,得到固有模態(tài)分量IMFk以及殘差序列RES,此時得到的時間序列為
FE算法[11-12]是一種計算時間序列的復雜度與隨機性的動力學方法. 與近似熵和樣本熵不同,該算法通過指數(shù)函數(shù)來代替絕對幅值差,減小了數(shù)據(jù)波動對結(jié)果的影響,能使模糊熵值隨著參數(shù)改變而平穩(wěn)變化[13],實現(xiàn)步驟如下.
LSTM[14]作為一種特殊的循環(huán)神經(jīng)網(wǎng)絡,能有效解決循環(huán)網(wǎng)絡中梯度消失與梯度爆炸問題,并且能夠?qū)W習數(shù)據(jù)中長期的信息[15]. 該模型的內(nèi)部包括了輸入門、遺忘門和輸出門,在遺忘門中該模型對上一步傳遞的信息進行有選擇性的記憶與遺忘,實現(xiàn)了信息在隱藏態(tài)上更新. LSTM的內(nèi)部結(jié)構(gòu)如圖1所示.
圖1 LSTM的內(nèi)部結(jié)構(gòu)圖Fig.1 Internal structure of LSTM
LSTM網(wǎng)絡的計算公式如式(14)~(19)所示:
其中:xt表示當前時刻的輸入;ht-1表示前一時刻隱藏層的輸出;it、ft、ot分別表示輸入門、遺忘門、輸出門的值;W表示權(quán)重系數(shù);表示當前時刻記憶單元輸入的值;ct表示當前時刻記憶單元的更新值;σ、tanh 為激活函數(shù).
傳染病發(fā)病受到地理條件、氣候條件等多種因素影響,發(fā)病人數(shù)呈現(xiàn)典型的非線性、非平穩(wěn)趨勢. 本文通過建立基于CEEMDAN-FE-LSTM的傳染病預測模型,實現(xiàn)對傳染病發(fā)病數(shù)據(jù)預測研究,具體步驟如下.
步驟1數(shù)據(jù)分解. 對傳染病數(shù)據(jù)x(n)進行分解,由式(2)計算EMD 分解N次實驗的均值作為第一個模態(tài)分量IMF1,并由式(3)計算得到余量序列r1(n). 對每次分解都加入白噪聲ωi(n),如式(4)~(7)所示. 當余量序列的極值點個數(shù)小于等于2 時停止,得到m個頻率由高到低的模態(tài)分量IMF1,IMF2,…,IMFq以及殘差分量RES.
步驟2不同尺度數(shù)據(jù)的重構(gòu). 對分解后的每個模態(tài)分量由式(8)~(10)計算空間向量和,計算兩空間向量之間的切比雪夫距離和相似度以及在m和m+1維下的關(guān)系維度φm(n,r)和φm+1(n,r),最后根據(jù)式(13)計算得到該分量的模糊熵. 重復上述步驟得到所有分量下的模糊熵FE1,F(xiàn)E2,…,F(xiàn)Eq. 將FE值相差0.05以內(nèi)的分量序列進行重組得到重構(gòu)序列x1(n),x2(n),…,xk(n) . 其中k<q.
步驟3重構(gòu)數(shù)據(jù)的LSTM 預測. 將重組后的數(shù)據(jù)序列x1(n),x2(n),…,xk(n). 首先進行歸一化處理以提高模型的運算效率和模型的預測精度. 然后將歸一化后的序列分別建立LSTM模型進行預測,在隱藏層內(nèi)由式(14)~(19)計算t時刻輸入門、遺忘門、輸出門的值分別為it、ft、ot,計算當前記憶單元的更新值ct和隱藏層的輸出值ht,最后由輸出層輸出各序列的預測結(jié)果. 反歸一化預測結(jié)果并進行累加,得到最終預測結(jié)果.
本文選取的肺結(jié)核、乙肝、布魯氏菌病和艾滋病月患病資料均來源于中華人民共和國國家衛(wèi)生健康委員會(http://www.nhc.gov.cn/wjw/index.shtml),數(shù)據(jù)范圍為全國數(shù)據(jù),數(shù)據(jù)周期為2010年1月至2021年12月.
為比較不同模型在各患病數(shù)據(jù)集上的預測效果,采用RMSE、MAPE和MAE三個指標對模型預測精度進行評價,使用Python3.8.5軟件進行仿真實驗,指標計算公式如下式所示:
其中:x表示月發(fā)病數(shù)的實際值;表示模型的預測值;n為預測總月數(shù). RMSE、MAPE和MAE量化了預測值與實際值之間的誤差大小,該值越小說明模型效果越好.
首先,對四個疾病數(shù)據(jù)集進行CEEMDAN分解,如圖2~圖3所示. 可以看出,原始序列被分解為多個頻率由高到低的IMF分量和1個殘差分量,頻率越低的IMF分量序列呈現(xiàn)出越平滑的趨勢. 殘差分量的量級約為10-7,分解誤差很小,說明序列被完全分解.
圖2 肺結(jié)核病與乙肝數(shù)據(jù)集CEEMDAN分解序列圖Fig.2 CEEMDAN decomposition of tuberculosis and hepatitis B dataset
圖3 布魯氏菌病與艾滋病數(shù)據(jù)集CEEMDAN分解序列圖Fig.3 CEEMDAN decomposition of brucellosis and AIDS dataset
為了更準確反映被分解序列的尺度,提升模型的預測精度,同時降低計算規(guī)模,因此對各分解后的序列計算FE值,得到各分解子序列的復雜度,如表1所示.
表1 各數(shù)據(jù)集上分解序列的FE值Tab.1 FE values of decomposed sequences on each dataset
由表1可以看出,在各數(shù)據(jù)集中分解的IMF分量的FE值隨該分量頻率的降低而越來越小,說明由高頻分量至低頻分量的序列隨機性和復雜度逐漸降低. 通過比較FE值之間的接近程度對分解的各序列進行重組,將FE值相差0.05以內(nèi)的分量進行合并得到重構(gòu)的序列.
對重構(gòu)后的序列分別建立LSTM模型. 由于在LSTM神經(jīng)網(wǎng)絡中,隱藏層的個數(shù)以及對應神經(jīng)元的個數(shù)對模型預測精度的影響較大[16-18],經(jīng)多次實驗之后,本文設置2個隱藏層,每個隱藏層的神經(jīng)元個數(shù)取32,擬合預測的時間步長設定為4,輸出變量的個數(shù)為1,迭代次數(shù)為100次,并使用Adam函數(shù)優(yōu)化內(nèi)部參數(shù). 采用SARIMA模型、CEEMDAN-FE-SARIMA模型和LSTM模型作為對比算法.
參數(shù)設置方面,對于SARIMA模型[19-20]和CEEMDAN-FE-SARIMA模型,經(jīng)過分析自相關(guān)系數(shù)和偏自相關(guān)系數(shù)圖,確定赤池信息準則(Akaike Information Criterion,AIC),準則的最小AIC值對應參數(shù)為p=1,q=1,d=1,P=1,D=1,Q=0. LSTM模型的具體參數(shù)與本文提出的模型參數(shù)相同.
模型預測結(jié)果如圖4~圖5 所示. 通過對比各數(shù)據(jù)集上的模型預測值與實際值曲線,可見CEEMDANFE-LSTM模型較單一的LSTM模型預測誤差更小,預測值與實際值更為接近. 并且CEEMDAN-FE-SARIMA模型與SRIMA模型在數(shù)據(jù)前半段的預測值與實際觀測值較接近,但在后半段數(shù)據(jù)上的預測誤差均較大. 綜合以上可知,基于CEEMDAN-FE-LSTM模型的預測結(jié)果較其他模型更好,雖然在部分拐點處與實際觀測值有所偏差,但是總體預測誤差較小,整體上更好地反映了傳染病的發(fā)病趨勢.
圖4 肺結(jié)核病與乙肝數(shù)據(jù)集各模型預測效果Fig.4 Prediction effects of each model in the tuberculosis and hepatitis B dataset
圖5 布魯氏菌病與艾滋病數(shù)據(jù)集各模型預測效果Fig.5 Prediction effect of each model in brucellosis and AIDS dataset
不同模型在RMSE、MAE和MAPE三個評價指標上的對比結(jié)果如表2和表3所示,各個指標上性能最優(yōu)的算法用加粗表示. 由表2和表3可知,在肺結(jié)核病、乙肝、布魯氏菌病和艾滋病四個數(shù)據(jù)集上,CEEMDANFE-LSTM模型較其他模型相比具有更小的RMSE、MAE和MAPE值,反映了該模型能更好地對非線性、非平穩(wěn)的時間序列進行擬合與預測. 在乙肝數(shù)據(jù)集上,與單一的LSTM模型相比,本文模型的MAE值、MAPE值和RMSE值分別降低了11.13%、11.33%和11.36%. 這表明經(jīng)過CEEMDAN-FE 分解重構(gòu)后的序列能提高預測精度,并有效發(fā)掘非線性數(shù)據(jù)中的有用信息.
表2 各模型性能指標在肺結(jié)核病和乙肝數(shù)據(jù)集上的對比Tab.2 Comparison of performance indicators of each model in the tuberculosis and hepatitis B datasets
表3 各預測模型性能指標在布魯氏菌病和艾滋病數(shù)據(jù)集上的對比Tab.3 Comparison of performance indicators of each prediction model in brucellosis and AIDS datasets
根據(jù)傳染病時間序列具有典型的非線性與非平穩(wěn)的波動特征,本文提出了CEEMDAN-FE-LSTM 模型應用于常見傳染病的預測,并通過模型的預測性能對比,得到如下結(jié)論:
1)經(jīng)過CEEMDAN分解后的時間序列具有不同頻率尺度的特征,對分解后的序列進行預測分析有助于掌握患病數(shù)據(jù)的變化規(guī)律. 使用FE算法計算復雜度并重構(gòu),得到的重構(gòu)序列之間的復雜度差異明顯,有助于發(fā)掘時間序列的隱藏信息,提升運算效率.
2)與經(jīng)典SARIMA模型相比較,本文提出的CEEMDAN-FE-LSTM 模型具有更好的預測效果,且預測性能更加穩(wěn)定,充分發(fā)揮了LSTM模型在預測非線性的傳染病數(shù)據(jù)上的優(yōu)勢.
本文模型在選定模型參數(shù)時使用了多次嘗試法選取,在參數(shù)尋優(yōu)上存在局限,后續(xù)將在本文模型的基礎上,綜合考慮優(yōu)化模型參數(shù),提高模型的適用性.