曹倩,孫乾,金永超
(華北理工大學(xué) 理學(xué)院,河北 唐山 063210)
自2019年12月,新冠肺炎病毒席卷全球,給全球各國(guó)的經(jīng)濟(jì)、政治和人民身體健康造成了嚴(yán)重的損害。隨著新型冠狀病毒在全球的快速傳播,2020年初新冠肺炎疫情在美國(guó)爆發(fā)。由于美國(guó)采取了消極的抗擊疫情政策——自然免疫法[1],導(dǎo)致新冠肺炎累計(jì)確診人數(shù)呈指數(shù)增長(zhǎng),對(duì)美國(guó)的經(jīng)濟(jì)發(fā)展和人民健康造成了極大的影響。美國(guó)作為新冠疫情的重災(zāi)區(qū)[2],截止2023年3月9日,新冠肺炎累計(jì)確診人數(shù)達(dá)到了103 802 702人,位居全球第一。新型冠狀病毒在全球的全面爆發(fā),讓世界再一次意識(shí)到公共衛(wèi)生安全的重要性。
自新冠肺炎爆發(fā)以來,為了進(jìn)一步了解新型冠狀病毒的發(fā)展趨勢(shì),對(duì)其進(jìn)行科學(xué)合理的防控,以減少新型冠狀病毒帶來的負(fù)面影響。國(guó)內(nèi)外眾多學(xué)者基于時(shí)間序列模型對(duì)新冠肺炎疫情和流行病發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè)。在新冠肺炎疫情初期,盛華雄等人利用Logistic模型對(duì)新型冠狀病毒疫情進(jìn)行建模預(yù)測(cè),在短期預(yù)測(cè)方面,模型的擬合效果較好,但是模型建立的一個(gè)前提假設(shè)是新型冠狀病毒潛伏期內(nèi)沒有傳染性[3],這與目前新型冠狀病毒的特點(diǎn)不符。William W. Thompson等人建立了Serfling最小二乘周期回歸模型對(duì)美國(guó)流感疫情死亡人數(shù)進(jìn)行預(yù)測(cè)[4],證明了Serfling最小二乘周期回歸模型應(yīng)用于流行病預(yù)測(cè)的可行性。部分學(xué)者利用SIR[5]和SEIR[6]動(dòng)力學(xué)模型對(duì)疫情發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè)分析,取得了一定的成效,但由于模型包含感染率恒定等基本假設(shè),導(dǎo)致SIR和SEIR動(dòng)力學(xué)模型在預(yù)測(cè)新冠肺炎疫情發(fā)展趨勢(shì)時(shí)存在一定的局限性。丘婕帆等人通過移動(dòng)平均自回歸模型(ARIMA)對(duì)中國(guó)廣州新冠肺炎疫情進(jìn)行建模預(yù)測(cè)[7],但是該方法非線性擬合能力較差[8],并且不能對(duì)新冠肺炎疫情進(jìn)行長(zhǎng)期預(yù)測(cè)。陳夢(mèng)凡采用灰色預(yù)測(cè)模型(GM(1,1)模型)及其改進(jìn)模型對(duì)意大利新冠肺炎疫情進(jìn)行建模預(yù)測(cè),新冠肺炎確診病例的預(yù)測(cè)相對(duì)誤差保持在5%以下[9],預(yù)測(cè)效果較好。由于機(jī)器學(xué)習(xí)在預(yù)測(cè)領(lǐng)域表現(xiàn)優(yōu)異[10],一些學(xué)者采用機(jī)器學(xué)習(xí)的方法對(duì)新冠疫情發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè)。孫許可建立了XGBoost預(yù)測(cè)模型[11],對(duì)中國(guó)新冠肺炎疫情進(jìn)行預(yù)測(cè),模型擬合效果較好。劉云翔等人利用支持向量機(jī)對(duì)中國(guó)新疆地區(qū)新冠肺炎疫情進(jìn)行預(yù)測(cè)[12],模型泛化能力較強(qiáng)。隨著深度學(xué)習(xí)的進(jìn)一步發(fā)展,越來越多的學(xué)者采用深度學(xué)習(xí)的方法來處理時(shí)間序列數(shù)據(jù),對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行建模分析與預(yù)測(cè)。為了克服動(dòng)力學(xué)模型和移動(dòng)平均自回歸模型(ARIMA)模型在預(yù)測(cè)新冠肺炎疫情的局限性,部分學(xué)者利用深度學(xué)習(xí)對(duì)新冠肺炎疫情發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè)。其中吳琦琦等人利用BP-神將網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)[13],但是BP-神將網(wǎng)絡(luò)存在梯度消失和梯度爆炸,難以捕捉時(shí)間序列數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系。張晴利用時(shí)間卷積網(wǎng)絡(luò)TCN模型預(yù)測(cè)美國(guó)新冠肺炎疫情發(fā)展趨勢(shì)[14],驗(yàn)證了該模型對(duì)新冠疫情進(jìn)行長(zhǎng)期預(yù)測(cè)的可行性,并且擬合效果較好。
為了更好地?cái)M合非線性數(shù)據(jù)、避免傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的梯度消失與梯度爆炸問題,并且有效地捕捉新冠肺炎疫情時(shí)間序列數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系,進(jìn)而對(duì)美國(guó)新冠肺炎疫情發(fā)展情況進(jìn)行長(zhǎng)期預(yù)測(cè)。本文基于LSTM時(shí)間序列預(yù)測(cè)模型,對(duì)美國(guó)新冠肺炎疫情發(fā)展趨勢(shì)進(jìn)行建模預(yù)測(cè),進(jìn)一步了解新冠肺炎疫情發(fā)展趨勢(shì),為政府采取科學(xué)合理的新冠肺炎疫情防控措施提供參考。
本次研究所采用的數(shù)據(jù)集為美國(guó)在2020年1月22日至2023年3月9日期間的COVID-19累計(jì)確診病例,數(shù)據(jù)來源于霍普金斯大學(xué)新冠疫情統(tǒng)計(jì)網(wǎng)站。經(jīng)驗(yàn)證,該數(shù)據(jù)集無缺失值和明顯異常值,部分?jǐn)?shù)據(jù)見表1。
表1 美國(guó)每日累計(jì)確診病例
考慮到LSTM模型對(duì)輸入數(shù)據(jù)的數(shù)值范圍較為敏感,為了加快模型的訓(xùn)練速度,并且簡(jiǎn)化模型的復(fù)雜度,在此對(duì)數(shù)據(jù)進(jìn)行歸一化處理,歸一化數(shù)據(jù)會(huì)被壓縮到0~1之間[15]。除此之外,數(shù)據(jù)歸一化還可以提高LSTM模型的精度和泛化能力。數(shù)據(jù)歸一化公式見式(1)。
(1)
在公式1中,data*為歸一化后的數(shù)值;data為原始數(shù)據(jù)的數(shù)值;min(data)、max(data)分別為原始數(shù)據(jù)的最小值和最大值。
在LSTM模型輸出數(shù)據(jù)后,需對(duì)模型輸出數(shù)據(jù)進(jìn)行反歸一化處理,反歸一化公式見式(2)。
data***=data**(max(data)-min(data))+min(data)
(2)
在公式2中,data***為反歸一化后的數(shù)值;data**為L(zhǎng)STM模型輸出的數(shù)值;min(data)、max(data)分別為原始數(shù)據(jù)的最小值和最大值。
在此次研究中,將經(jīng)過歸一化處理后得到的數(shù)據(jù)按照時(shí)間順序劃分為訓(xùn)練集和測(cè)試集。其中訓(xùn)練集為歸一化處理后數(shù)據(jù)的前70%,測(cè)試集為歸一化處理后數(shù)據(jù)的后30%。其中訓(xùn)練集用來訓(xùn)練LSTM模型,通過不斷進(jìn)行參數(shù)的更新和優(yōu)化來提升模型的性能,測(cè)試集用來驗(yàn)證和評(píng)估模型的性能。
LSTM(Long Short Term Memory)模型是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),最早由Hochreiter和Schmidhuber于1997年提出。其設(shè)計(jì)初衷是為了解決傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)中普遍存在的長(zhǎng)期依賴問題,實(shí)現(xiàn)對(duì)時(shí)序長(zhǎng)期規(guī)律的學(xué)習(xí)[16]。在解決長(zhǎng)期依賴問題的同時(shí),它還很好的解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的梯度消失和梯度爆炸等重大問題[17],被廣泛應(yīng)用于時(shí)間序列預(yù)測(cè)、自然語言處理、語音識(shí)別等領(lǐng)域。
LSTM模型通過設(shè)置記憶單元來解決長(zhǎng)期依賴問題,每個(gè)記憶單元包含三個(gè)精心設(shè)計(jì)的“門”,分別為遺忘門、輸入門和輸出門。通過這三個(gè)精心設(shè)計(jì)的“門”來控制記憶單元保留或者丟棄信息。LSTM模型的記憶單元結(jié)構(gòu)如圖1所示[18-20]。
圖1 LSTM記憶單元結(jié)構(gòu)
圖2 LSTM模型預(yù)測(cè)值與真實(shí)值對(duì)比
遺忘門:遺忘門根據(jù)當(dāng)前時(shí)刻的輸入xt和上一時(shí)刻輸出ht-1,通過激活函數(shù)sigmoid的作用,決定遺忘或者保留哪些信息。當(dāng)ft→1,表示保留;當(dāng)ft→0,表示遺忘。ft函數(shù)公式見公式(3)。
ft=sigmoid(Wf[ht-1,xt]+bf)
(3)
公式中Wf表示遺忘門的權(quán)重矩陣,bf表示遺忘門的偏置系數(shù)。
(2)輸入門:輸入門根據(jù)當(dāng)前時(shí)刻的輸入xt和上一時(shí)刻輸出ht-1,通過激活函數(shù)sigmoid的作用,決定添加哪些信息。it函數(shù)公式見式(4)。
it=sigmoid(Wt[ht-1,xt]+bi)
(4)
在得到當(dāng)前時(shí)刻的ft和it后,更新上一時(shí)刻節(jié)點(diǎn)的候選狀態(tài)Ct-1→Ct,更新函數(shù)公式見式(5)。
Ct=ft·Ct-1+it·Ct
(5)
其中,
Ct=tanh(Wc[ht-1,xt]+bc)
(6)
(3)輸出門:輸出門根據(jù)當(dāng)前時(shí)刻的輸入xt、上一時(shí)刻輸出ht-1和當(dāng)前節(jié)點(diǎn)的候選狀態(tài)Ct來決定當(dāng)前時(shí)刻的輸出,相關(guān)計(jì)算見公式(7)和公式(8)。
ot=sigmoid(Wo[ht-1,xt]+bo)
(7)
ht=ottanh(Ct)
(8)
本次研究通過R語言構(gòu)建LSTM時(shí)間序列預(yù)測(cè)模型,考慮到本次研究?jī)H包含美國(guó)每日累計(jì)確診病例這一個(gè)變量,并且數(shù)據(jù)量較大,故采用One-to-One LSTM時(shí)間序列預(yù)測(cè)模型。在搭建LSTM時(shí)間序列預(yù)測(cè)模型中,使用的是Keras框架中的Sequential模型[21],通過添加Layers圖層的方式構(gòu)建了LSTM層和一個(gè)全連接層,模型根據(jù)LSTM層和全連接層自動(dòng)創(chuàng)建相應(yīng)的輸入層和輸出層。在LSTM層中,將時(shí)間步長(zhǎng)設(shè)置為3,輸入特征設(shè)置為1。在編譯模型中,采用均方誤差作為模型的損失函數(shù),使用Adam優(yōu)化器來優(yōu)化模型參數(shù)。在訓(xùn)練模型中,將迭代次數(shù)設(shè)置為100,批量大小設(shè)置為10,學(xué)習(xí)率設(shè)置為0.001。
按照1.3介紹的數(shù)據(jù)劃分形式,將數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集。將訓(xùn)練集和測(cè)試集的數(shù)據(jù)轉(zhuǎn)換為適合LSTM模型輸入的數(shù)據(jù)結(jié)構(gòu)后,運(yùn)用訓(xùn)練集的數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練。模型訓(xùn)練完成后,將測(cè)試集數(shù)據(jù)輸入到模型中,得到在測(cè)試集上預(yù)測(cè)累計(jì)確診病例數(shù)和真實(shí)累計(jì)確診病例數(shù)對(duì)比圖如下。
通過上圖可以看出,基于LSTM時(shí)間序列預(yù)測(cè)模型對(duì)美國(guó)每日累計(jì)確診COVID-19病例擬合效果較為良好,在測(cè)試集上真實(shí)值和預(yù)測(cè)值曲線重合程度較高。在真實(shí)值急劇上升階段,模型預(yù)測(cè)結(jié)果也較為準(zhǔn)確,這說明LSTM時(shí)間序列預(yù)測(cè)模型很好的捕捉到了時(shí)間序列數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系,具備良好的非線性表征能力。
合理地選取模型評(píng)估的指標(biāo)是非常重要的,不同的數(shù)據(jù)類型與預(yù)測(cè)模型的評(píng)價(jià)指標(biāo)大多是不相同的??紤]到常見疫情的發(fā)展大多呈現(xiàn)指數(shù)趨勢(shì),故在本次研究中采用均方根對(duì)數(shù)誤差(RMSLE)作為L(zhǎng)STM模型評(píng)價(jià)的指標(biāo)。RMSLE對(duì)真實(shí)值和預(yù)測(cè)值進(jìn)行取對(duì)數(shù)處理,在處理取值范圍較大且呈現(xiàn)對(duì)數(shù)趨勢(shì)的數(shù)據(jù)時(shí),RMSLE懲罰欠預(yù)測(cè)大于過預(yù)測(cè)[14]。均方根對(duì)數(shù)誤差的計(jì)算公式見公式(9)。
(9)
將模型在測(cè)試集上的預(yù)測(cè)結(jié)果經(jīng)過反歸一化處理后得到最終的預(yù)測(cè)值,將最終的預(yù)測(cè)值和測(cè)試集真實(shí)數(shù)據(jù)代入公式(9),得到在測(cè)試集上模型的均方根對(duì)數(shù)誤差RMSLE=0.000 6。RMSLE接近于0,進(jìn)一步定量的說明了LSTM時(shí)間序列預(yù)測(cè)模型的擬合效果較好,可以較為準(zhǔn)確地對(duì)新冠肺炎發(fā)展情況進(jìn)行預(yù)測(cè)。
為了驗(yàn)證LSTM模型預(yù)測(cè)美國(guó)新冠肺炎累計(jì)確診病例的準(zhǔn)確性,在本次研究中,除基本的LSTM模型(Basic_LSTM)外,還建立了包含有Dropout層的LSTM模型(Dropout_LSTM),對(duì)美國(guó)新冠肺炎疫情發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè)。Dropout層可以在模型的訓(xùn)練過程中以一定的概率將一部分神經(jīng)元的輸出置為0,從而減少模型的復(fù)雜度,提高模型的泛化能力,防止模型過度擬合。在Dropout_LSTM模型建模中,將dropout層的丟棄率設(shè)置為0.5,其余參數(shù)設(shè)置同Basic_LSTM模型。二者在測(cè)試集上預(yù)測(cè)累計(jì)確診病例數(shù)和真實(shí)累計(jì)確診病例數(shù)對(duì)比圖如圖3。
圖3 不同模型預(yù)測(cè)結(jié)果對(duì)比
通過圖3可以看出,Basic_LSTM模型在訓(xùn)練集上的預(yù)測(cè)效果明顯優(yōu)于Dropout_LSTM模型。進(jìn)一步計(jì)算得Basic_LSTM模型的均方根對(duì)數(shù)誤差RMSLE=0.000 6,小于Dropout_LSTM模型的均方根對(duì)數(shù)誤差RMSLE=0.003 9。其主要原因在于本次研究所選取的數(shù)據(jù)噪聲較小,使得Dropout_LSTM模型在訓(xùn)練過程中較為保守,沒有充分利用數(shù)據(jù)集中的信息。
新冠肺炎累積確診病例數(shù)據(jù)存在非線性信息,使用傳統(tǒng)時(shí)間序列預(yù)測(cè)方法對(duì)其進(jìn)行預(yù)測(cè)時(shí),預(yù)測(cè)精度較低,擬合效果較差?;谏鲜鰡栴},本文采用LSTM時(shí)間序列預(yù)測(cè)模型,對(duì)美國(guó)新冠肺炎疫情進(jìn)行建模預(yù)測(cè)。結(jié)果表明,LSTM模型可以有效的處理數(shù)據(jù)間的非線性問題并且很好的捕捉數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系,對(duì)美國(guó)新冠肺炎累計(jì)確診病例數(shù)據(jù)的擬合效果較好。通過均方根對(duì)數(shù)誤差對(duì)模型進(jìn)行評(píng)估,計(jì)算得在測(cè)試集上均方根對(duì)數(shù)誤差RMSLE=0.000 6,并且預(yù)測(cè)效果明顯優(yōu)于添加隨機(jī)失活層的LSTM模型,說明建立的LSTM時(shí)間序列預(yù)測(cè)模型是切實(shí)可行的,可用于預(yù)測(cè)新冠肺炎疫情的發(fā)展趨勢(shì)。