趙 娜,孫 紅,黎銓祺,黃甌嚴(yán)
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,上海 200093)
時間序列數(shù)據(jù)記錄了觀測目標(biāo)對象在各個單位時間點(diǎn)上的狀態(tài)值,反應(yīng)了某個或某些變量隨時間變化的呈現(xiàn)的內(nèi)在模式.時間序列預(yù)測是通過分析歷史觀測值,挖掘出數(shù)據(jù)的內(nèi)在特征,對將來的數(shù)據(jù)做出估計.時序預(yù)測在許多領(lǐng)域都發(fā)揮著重要作用,如天氣預(yù)測、金融科技、互聯(lián)網(wǎng)領(lǐng)域等.
傳統(tǒng)的時間序列預(yù)測研究主要基于統(tǒng)計模型,例如自回歸移動平均模型(ARIMA)[1]以其擴(kuò)展[2]、馬爾可夫鏈模型[3]和貝葉斯模型[4].后來一些判別模型用于時間序列的預(yù)測.例如支持向量回歸模型(SVR)[5]、隨機(jī)森林(RF)[6].近年來,神經(jīng)網(wǎng)絡(luò)模型已被用于解決時間序列預(yù)測問題,并且在許多實(shí)際應(yīng)用中取得了較好的效果.例如循環(huán)神經(jīng)網(wǎng)絡(luò)RNN,特別是RNN的兩個變體:長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[7]和門控單元(Gated Recurrent Unit,GRU)[8].還有序列到序列sequence to sequence(Seq2Seq)模型[9]等,已經(jīng)被廣泛應(yīng)用于自然語言處理中,也被應(yīng)用于時序預(yù)測的研究中.
時序分析的方法可以包括時域方法和頻域方法[10].時域方法將時間序列視為按時間順序索引的一系列數(shù)據(jù)點(diǎn),并分析它們之間的相關(guān)性.上面提到的一些方法基本上是在時域中研究的.頻域方法使用諸如離散傅里葉變換之類的變換算法將時間序列變換到頻域,在頻域分析原始序列的特征.小波分解是用于捕獲時域和頻域中時間序列特征的眾所周知的方法.Wang等人提出了一種多級小波分解網(wǎng)絡(luò)(mWDNet)[11],該網(wǎng)絡(luò)結(jié)合了小波的時間序列分解和循環(huán)神經(jīng)網(wǎng)絡(luò),但是該模型并未考慮到時序數(shù)據(jù)的隱含的空間特征.
為了充分利用時序的時域和頻域特征以及時間維度和隱含的空間維度特征,本文提出了一種基于多級小波分解的CNN-LSTM網(wǎng)絡(luò)和線性ARIMA模型的集成模型(An Integrated Model of CNN-LSTM Network Based on Multilevel Wavelet Decomposition and Linear ARIMA Model),簡稱為mWDLNet.將原始時序數(shù)據(jù)分解為不同頻率的子序列,再對子序列進(jìn)行單支重構(gòu),作為神經(jīng)網(wǎng)絡(luò)的輸入.神經(jīng)網(wǎng)絡(luò)由一維卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)組成(CNN-LSTM),利用一維卷積神經(jīng)網(wǎng)絡(luò)(CNN)提取空間特征,LSTM提取長短期時間特征,利用ARIMA模型解決神經(jīng)網(wǎng)絡(luò)模型的尺度不敏感問題.最后將神經(jīng)網(wǎng)絡(luò)的輸出和線性模型輸出進(jìn)行加權(quán)求和得到最終的預(yù)測結(jié)果.
最經(jīng)典的單變量時序預(yù)測模型為差分自回歸移動平均模型(ARIMA),在模型的統(tǒng)計特征選擇過程中,具有較強(qiáng)的可解釋性.ARIMA模型不僅適用于指數(shù)平滑應(yīng)用,而且還涵蓋了其他類型的時序模型,包括自回歸模型(AR)、移動平均模型(MA)和自回歸移動平均模型(ARMA),ARIMA的預(yù)測能力較強(qiáng),但是對于高維多元時序預(yù)測中計算成本較高.
考慮對相關(guān)序列發(fā)展趨勢和預(yù)測序列特定屬性,機(jī)器學(xué)習(xí)模型被用于時間序列的預(yù)測.支持向量回歸模型(SVR)是使用支持向量機(jī)(SVM)分類器來擬合曲線,進(jìn)行回歸分析模型.SVR引入核概念使自身具備非線性建模的能力.利用SVR預(yù)測最高氣溫和空氣污染物的濃度[12].決策樹是一種弱學(xué)習(xí)器,而基于決策樹的集成方法使預(yù)測效果更好,如隨機(jī)森林(Random Forest,RF)、XGBoost[13]、lightGBM[14].Dudek應(yīng)用隨機(jī)森林預(yù)測多季節(jié)變化的短期電力負(fù)荷序列[15],Wang等人提出了一種基于小波分析的XGBoost模型預(yù)測電力負(fù)荷情況,其結(jié)果優(yōu)于SVM和小波變換的混合模型[16].
為了更好地了解未來的不確定性,深度學(xué)習(xí)模型的時序預(yù)測已引起越來越多的關(guān)注.卷積神經(jīng)網(wǎng)絡(luò)使用多通道多個卷積核來提取數(shù)據(jù)歷史信息.Alberto Mozo等人采用不同時間窗口歷史數(shù)據(jù)進(jìn)行線性變換構(gòu)造了多特征[17].Agbossou等人利用卷積神經(jīng)網(wǎng)絡(luò)結(jié)合小波分解增加特征來預(yù)測風(fēng)速[18].RNN是專門用于處理序列的網(wǎng)絡(luò),所有神經(jīng)元節(jié)點(diǎn)按照鏈?zhǔn)竭B接,具有記憶性和參數(shù)共享,對學(xué)習(xí)序列的非線性特征有一定的優(yōu)勢.但對于長序列會產(chǎn)生梯度爆炸或梯度消失,不適合用來分析存在長期依賴關(guān)系的時間序列.許多學(xué)者嘗試對RNN模型進(jìn)行改進(jìn),Lai等人提出了長期和短期時間序列網(wǎng)絡(luò)(LSTNet)結(jié)合RNN和CNN來提取時間的長期和短期模式的趨勢[19].Flunkert等人提出DeepAR模型,該模型在大量相似時間序列的集合上訓(xùn)練自回歸RNN模型,并在多個真實(shí)數(shù)據(jù)集上產(chǎn)生更準(zhǔn)確的概率預(yù)測[20].Rangapuram等人提出了深度狀態(tài)空間模型(DeepState)[21],該模型將狀態(tài)空間模型與深度學(xué)習(xí)相結(jié)合,并且可以在從原始數(shù)據(jù)中學(xué)習(xí)復(fù)雜模式的同時保留數(shù)據(jù)的效率和可解釋性.在類似的方案下,Maddix等人提出了深度神經(jīng)網(wǎng)絡(luò)和高斯過程的結(jié)合[22].
本文提出的時序預(yù)測模型在以往研究成果基礎(chǔ)上,主要貢獻(xiàn)如下:
1)模型考慮了時域特征和頻域特征,利用小波分解,得到低頻和高頻子序列,再利用神經(jīng)網(wǎng)絡(luò)提取特征;
2)模型考慮了時間維度特征和空間維度特征,模型添加一維卷積神經(jīng)網(wǎng)絡(luò)主要負(fù)責(zé)提取空間維度特征,長短期記憶網(wǎng)絡(luò)負(fù)責(zé)提取時間維度特征;
3)模型融合了線性和非線性預(yù)測結(jié)果,利用線性模型彌補(bǔ)非線性模型的尺度不敏感問題,提高了預(yù)測的準(zhǔn)確性.
本文提出的mWDLNet模型由4部分組成,分別為小波分解部分、一維卷積神經(jīng)網(wǎng)絡(luò)部分、循環(huán)神經(jīng)網(wǎng)絡(luò)部分和線性自回歸部分.首先,原始時間序列數(shù)據(jù)經(jīng)過多級小波分解,得到低頻和高頻子序列,再對子序列分別進(jìn)行單支重構(gòu),實(shí)現(xiàn)子序列的長度一致,之后通過一位卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,再通過LSTM進(jìn)行訓(xùn)練,最后全連接得到非線性的預(yù)測結(jié)果;同時,將原始時序數(shù)據(jù)通過ARIMA模型進(jìn)行線性預(yù)測.最后,通過小波重構(gòu)得到的非線性預(yù)測結(jié)果和線性預(yù)測結(jié)果進(jìn)行加權(quán)求和得到最終的預(yù)測結(jié)果.mWDLNet模型結(jié)構(gòu)圖如圖1所示.
圖1 mWDLNet模型結(jié)構(gòu)圖Fig.1 Overview of mWDLNet model
采用Mallat算法進(jìn)行小波分析,原理是基于多分辨率分析,將信號分解到不同的尺度空間[23].對PM2.5時序數(shù)據(jù)進(jìn)行多級小波分解,可以得到一個低頻子序列和多個高頻子序列,然后再分別對低頻子序列和高頻子序列做單支重構(gòu),可以將變化趨勢分散到不同頻率上進(jìn)行細(xì)化分析.計算公式如公式(1)所示:
aj+1=Gajdj+1=Hdj,j=0,1,…,N
(1)
公式(1)中,G為低通濾波器,H為高通濾波器,a0為初始時序信號,N為小波分解次數(shù).按照上式對原始時間序列進(jìn)行分解,得到d1,d2,…,dN和aN,aj和dj分別是小波在分辨率為2-j時的近似分量和細(xì)節(jié)分量.
Mallat算法進(jìn)行小波分解時,每次分解后得到的子序列長度都會減少到分解前序列長度的一半,原始信號信息分散到各個子序列信號的不同時間點(diǎn)上,結(jié)果為每個子序列的時間刻度不一致,不利于進(jìn)行時序預(yù)測.因此對每個子序列的分支進(jìn)行單支重構(gòu),重構(gòu)之后的子序列長度和原始的信號長度相等.重構(gòu)算法如公式(2)所示:
Aj=G*aj+1+H*dj+1,j=N-1,N-2,…,0
(2)
其中,G*和H*分別是G和H的對偶算子.
低通濾波器表示為g(k),高通濾波器表示為h(k).小波分解的層級表示為L.小波分解步驟為:
S1:初始化參數(shù)如公式(3)所示:
a0=X(t),g1(k)=g(k),h1(k)=h(k),j=1
(3)
S2:進(jìn)行小波分解,方法如公式(4)和公式(5)所示:
aj[k]=aj-1[k]×gj[-k]
(4)
dj[k]=dj-1[k]×hj[-k]
(5)
其中×代表卷積操作.
S3:插值填充數(shù)據(jù),插值方法如公式(6)和公式(7)所示:
(6)
(7)
S4:j=j+1,如果j 圖2 兩級小波分解示意圖Fig.2 Process of two-level wavelet decomposition 將分解后的子序列按照公式(2)進(jìn)行重構(gòu),得到序列D1,D2,…,DN和AN,D1,D2,…,DN和AN和原始序列X長度一致,并且重構(gòu)序列之和等于原始序列,如公式(8)所示: X=D1+D2+…+DN+AN (8) mWDLNet模型的第2部分是由卷積神經(jīng)網(wǎng)絡(luò)組成,實(shí)現(xiàn)提取時序的空間特征和局部的依賴關(guān)系.卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以識別出數(shù)據(jù)中的簡單模式,然后使用這些簡單模式在更高級的層中生成更復(fù)雜的模式.一維卷積神經(jīng)網(wǎng)絡(luò)常用于處理時序問題,1D-CNN可以很好的捕獲時間維度的信息,非常適用于分析傳感器采集的時間序列數(shù)據(jù).1D-CNN卷積操作為:卷積核在一維時序數(shù)據(jù)上滑動,和輸入的對應(yīng)元素進(jìn)行矩陣乘法,然后將結(jié)果作為單個輸出,表示為特征,一維卷積運(yùn)算如公式(9)所示: (9) 其中,w(k)×x(k)表示w(k)和x(k)的卷積,w(k)是我們選定的卷積核,x(k)是輸入的時間序列,y(k)是卷積后輸出結(jié)果. 一維卷積神經(jīng)網(wǎng)絡(luò)的卷積過程如圖3所示,其中x1~x6為1維時間序列,o1~o4為經(jīng)過卷積操作之后輸出的特征,卷積核大小為1×3,共有3個權(quán)重值,整個網(wǎng)絡(luò)共享此卷積核,為視覺清晰,圖3中相鄰的輸出對應(yīng)的線條分別用實(shí)線和虛線表示,實(shí)際上是一樣的. 圖3 1D卷積的操作過程Fig.3 One-dimensional convolution operation process 本文構(gòu)建的模型采用一維卷積神經(jīng)網(wǎng)絡(luò),不進(jìn)行池化操作.原始序列經(jīng)過上述小波分解和單支重構(gòu)后,得到子序列集為,D={d1,d2,…,dL,aL}作為一維卷積神經(jīng)網(wǎng)絡(luò)的輸入,采用RELU作為激活函數(shù),卷積層的計算如公式(10)所示: hk=RELU(Wk×Dk+bk) (10) 其中×代表卷積操作,hk是輸出向量.RELU激活函數(shù)公式為:RELU(x)=max(0,x). 循環(huán)神經(jīng)網(wǎng)絡(luò)RNN是一種時間上進(jìn)行線性遞歸的神經(jīng)網(wǎng)絡(luò).長短期記憶LSTM模型是一種改進(jìn)的RNN模型,緩解了RNN不能處理長距離依賴問題.基本原理是通過門控狀態(tài)來對信息進(jìn)行選擇性的記憶,滿足需要長時間記憶信息和遺忘信息的需求.LSTM的門控單元包括遺忘門、輸入門、輸出門3個元件.則門的操作如公式(11)所示: g(x)=σ(Wx+b) (11) 其中,W是該門的權(quán)重,b是偏置項,σ是sigmoid函數(shù),g(x)的值域是0~1之間的實(shí)數(shù)向量. 每個一維卷積神經(jīng)網(wǎng)絡(luò)的輸出作為LSTM的輸入,使用RELU函數(shù)作為激活函數(shù).公式(12)~公式(16)為t時刻循環(huán)單元的隱藏狀態(tài)計算公式: i(t)=σ(Wixx(t)+Wihh(t-1)+bi) (12) f(t)=σ(Wfxx(t)+Wfhh(t-1)+bf) (13) o(t)=σ(Woxx(t)+Wohh(t-1)+bo) (14) s(t)=g(t)⊙i(i)+s(t-1)⊙f(t) (15) h(t)=s(t)⊙o(t) (16) 其中⊙代表點(diǎn)乘,x(t)作為t時刻該層的輸入,h(t)為對應(yīng)時刻的輸出. 在LSTM的3個門控單元中,輸入門i(t)決定在t時刻x(t)有多少信息可以通過,遺忘門f(t)可以控制t-1時刻的單元狀態(tài)a(t-1)有多少信息可以傳遞給at,輸出門o(t)決定了h(t)輸出哪些信息. 一般來說,LSTM隱藏層數(shù)量越多,則模型越復(fù)雜,學(xué)習(xí)能力一般越好.然而模型過于復(fù)雜容易導(dǎo)致過擬合.考慮到優(yōu)化時間和資源,同時獲得較好的預(yù)測效果,本文將LSTM的隱藏層數(shù)設(shè)為3層,每層的激活函數(shù)選用RELU函數(shù),并且在每層之間加入Dropout層來避免過擬合.最后,加入一層全連接層,輸出層選用tanh函數(shù)作為激活函數(shù),得到LSTM模型的預(yù)測輸出. 1http://archive.ics.uci.edu/ml/datasets.php 由于卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)的非線性特性,神經(jīng)網(wǎng)絡(luò)模型的一個主要缺點(diǎn)是輸出的尺度對輸入的尺度不敏感.而在真實(shí)的數(shù)據(jù)集中,輸入信號的尺度不斷發(fā)生非周期的變化,顯著降低了神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度.為了解決之一不足,我們將最終預(yù)測分解為線性部分和非線性部分,受到LSTNet的啟發(fā),本文采用經(jīng)典的ARIMA模型作為線性分量的預(yù)測模型,ARIMA模型如公式(17)所示: (17) 原始時間序列數(shù)據(jù)經(jīng)過小波分解和單支重構(gòu)后,經(jīng)過一維卷積神經(jīng)網(wǎng)絡(luò)和LSTM,得到神經(jīng)網(wǎng)絡(luò)的模型輸出結(jié)果,同時原始序列信號又經(jīng)過ARIMA模型得到線性預(yù)測輸出結(jié)果,將神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果和線性的輸出結(jié)果進(jìn)行加權(quán)求和,得到最終的預(yù)測結(jié)果,如公式(18)所示: (18) 在神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中,本文采用平均絕對誤差(L1-loss)作為目標(biāo)函數(shù),L1-loss具有收斂速度快和對異常值的魯棒性較高,在很多回歸預(yù)測任務(wù)中都采用L1-loss作為損失函數(shù),如公式(19)所示: (19) 本文構(gòu)建的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)采用Adam優(yōu)化器進(jìn)行訓(xùn)練.Adam優(yōu)化算法[24]是一種對隨機(jī)梯度下降的改進(jìn)算法,在深度學(xué)習(xí)應(yīng)用中,表現(xiàn)效果較好,得到了廣泛的應(yīng)用. 本文提出了一種時間序列預(yù)測模型,并應(yīng)用在一個真實(shí)的數(shù)據(jù)集北京PM2.5數(shù)據(jù),輸入時間序列表示為X={x1,x2,…,xT},目標(biāo)是預(yù)測下一時間段的PM2.5濃度,即預(yù)測xT+h,h是指預(yù)測的時間段.具體實(shí)現(xiàn)是通過窗口滾動方式預(yù)測,也就是,將{x1,x2,…,xT}作為輸入變量,預(yù)測下一時刻xT+1,然后再將{x2,…,xT,xT+1}作為輸入變量,預(yù)測下一時刻xT+2的值,依次遞歸下去,直到完成h時間長度的預(yù)測. 本文實(shí)驗所用的數(shù)據(jù)集是北京美國大使館氣象數(shù)據(jù)集1,包含北京美國大使館2010年-2014年的每小時PM2.5濃度數(shù)據(jù)以及相關(guān)氣象數(shù)據(jù).其中有PM2.5濃度、溫度、壓力、組合風(fēng)向、累積風(fēng)速、下雪時間和下雨時間,共有43824條數(shù)據(jù),如表1所示.本文的研究主要使用PM2.5濃度時間序列數(shù)據(jù),其單位為μg/m3. 表1 PM2.5數(shù)據(jù)集 DatasetsTDLBeijing PM2.54382471 hour 其中,T表示時間序列的長度,D表示特征變量的個數(shù),L表示采樣頻率. 本文采用Mallat算法實(shí)現(xiàn)對時間序列的分解,Mallat算法的優(yōu)點(diǎn)是給定了小波函數(shù)和尺度函數(shù),就確定了低通濾波器G和高通濾波器H,降低了小波變換的計算量.根據(jù)PM2.5時序數(shù)據(jù)的時間特性和正交性、對稱性等小波特性,本文實(shí)驗采用dbN小波作為小波基函數(shù),dbN是Daubechies小波,N為小波的階數(shù),選取N為2.PM2.5時序信號經(jīng)小波分解為低頻信息和高頻信息,而小波分解層數(shù)越多,低頻信息會不斷地被一層層分解,而高頻信息也將含有一定的低頻信息.如果分解層次較多的話,會增加預(yù)測分析的復(fù)雜程度. 選取2010年1月2日-2010年1月15日的PM2.5時序數(shù)據(jù)共計336條數(shù)據(jù)作為示例,以db2小波作為基函數(shù)對PM2.5時序數(shù)據(jù)進(jìn)行3級分解,如圖4(a)所示,其中s為原始數(shù)據(jù),a3為低頻子序列,d1,d2,d3為高頻子序列.由圖4可知,低頻子序列a3對最終預(yù)測更為重要.較低頻信息具有較高的重要性,這意味著低頻信息對于時序預(yù)測的成功至關(guān)重要.這不難理解,因為低頻捕獲的信息通常表征人類活動的基本趨勢,因此對于揭示未來很有用.如果對序列進(jìn)行4級小波分解,a3進(jìn)一步分解為a4和d4,a4只保留了s的大致信息,如圖4(b)所示.本文選取小波分解主要是為了對原始序列信號的變化趨勢進(jìn)行提取,更多層次分解會增加模型的復(fù)雜度,計算量增大.由圖4可知3層小波分解即將高頻信息分離出來,又基本保留了原始數(shù)據(jù)的趨勢,故選3層分解. 由于時序數(shù)據(jù)經(jīng)過小波分解后的子序列分布在不同的頻段上,并且高頻子序列和低頻子序列的數(shù)據(jù)范圍差距較大,因此在對數(shù)據(jù)經(jīng)過小波分解后,對得到的子序列數(shù)據(jù)進(jìn)行歸一化處理,使得輸入到一維卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)在同一個量剛下,能夠提升模型的收斂速度和預(yù)測精度.數(shù)據(jù)處理的操作步驟為: 圖4 PM2.5時序數(shù)據(jù)小波分解示意圖Fig.4 PM2.5 time series wavelet decomposition graph 常見的歸一化方法有:min-max標(biāo)準(zhǔn)化和Z-score標(biāo)準(zhǔn)化,本文采用min-max標(biāo)準(zhǔn)化方法.具體實(shí)現(xiàn)為:將初始值減去窗口序列中數(shù)據(jù)的最小值再除以該窗口序列中最大值和最小值的差值,設(shè)窗口序列中數(shù)據(jù)的最大值為xmax,最小值為xmin,則歸一化和反歸一化計算方法如公式(20)和公式(21)所示: (20) (21) 本文采用均方根誤差(Root Mean Squared Error,RMSE)和均方絕對誤差(Mean Absolute Error,MAE)作為模型的評價指標(biāo).RMSE和MAE反應(yīng)了模型預(yù)測值和真實(shí)值之間的誤差,其值越小越好.RMSE和MAE的計算方法如公式(22)和公式(23)所示: (22) (23) 本文提出的mWDLNet模型包含兩部分的預(yù)測:ARIMA模型的預(yù)測結(jié)果和基于多級小波分解的CNN-LSTM模型(CNN-LSTM Model Based on Multilevel Wavelet Decomposition,簡稱mCNN-LSTM)的預(yù)測結(jié)果,然后融合兩部分結(jié)果得到最終的預(yù)測結(jié)果.其中mCNN-LSTM模型是將序列信號經(jīng)過3級小波分解后,送入CNN模塊和LSTM網(wǎng)絡(luò)層,再由全連接層得到預(yù)測結(jié)果.下面分別驗證一下,mWDLNet模型添加小波分解、卷積模塊以及融合線性預(yù)測的有效性. 對PM2.5時序數(shù)據(jù)進(jìn)行下一時刻預(yù)測,也就是X={x1,x2,…,xT},預(yù)測xT+1時刻的PM2.5濃度值.mWDLNet模型各模塊的預(yù)測結(jié)果如表2所示. 表2 mWDLNet模型各模塊的預(yù)測結(jié)果Table 2 Prediction results of different parts of mWDLNet model 其中,ARIMA為自回歸差分移動平均模型,進(jìn)行一階差分操作,即d=1,采用AIC準(zhǔn)則為評判標(biāo)準(zhǔn),階數(shù)p和q分別為3和4.mLSTM模型是序列信號經(jīng)過3級小波分解后,直接送入LSTM網(wǎng)絡(luò)層,進(jìn)行預(yù)測,LSTM層單元個數(shù)為128.CNN-LSTM模型是序列信號未經(jīng)小波操作,直接送入卷積模型,然后經(jīng)LSTM進(jìn)行預(yù)測,卷積核數(shù)量為為256,卷積核大小為3.mCNN-LSTM模型的卷積核數(shù)量為256,卷積核大小為3,LSTM層單元個數(shù)為128.以上參數(shù)設(shè)置是根據(jù)實(shí)驗效果得到的最佳選擇. 由表2可知,mWDLNet模型的RMSE和MAE最低,預(yù)測性能最好.mLSTM和CNN-LSTM的RMSE和MAE的較高,預(yù)測性能較差,而mCNN-LSTM的RMSE和MAE相比較小,性能上有較大的提升,說明序列信號經(jīng)過小波和卷積操作提取空間特征,能大幅度改善模型的性能.mWDLNet模型融合了線性ARIMA和非線性神經(jīng)網(wǎng)絡(luò)mCNN-LSTM的結(jié)果,其中α=0.8,β=0.2.對于RMSE,mWDLNet相對ARIMA性能提升了5.66%,相對于mCNN-LSTM性能提升了1.45%;對于MAE,mWDLNet相對ARIMA性能提升了3.07%,相對于mCNN-LSTM性能提升了1.56%.綜上可知,mWDLNet模型的小波分解部分和卷積模塊,即模型的細(xì)節(jié)分量和空間特征,有利于提高模型的預(yù)測準(zhǔn)確率. 為了證明本文提出的mWDLNet模型的有效性,本文實(shí)驗中,采用了5個時序模型在PM2.5數(shù)據(jù)集上進(jìn)行對比分析實(shí)驗,5個時序模型分別為: · ARIMA:自回歸差分移動平均模型 · LSVR:支持向量自回歸模型[25] · GP:高斯過程時序模型[26] · LSTM:長短期時間記憶網(wǎng)絡(luò) · mWDNet:基于多級小波分解的神經(jīng)網(wǎng)絡(luò)模型[11] 上述所有方法中,對所有可調(diào)超參數(shù)進(jìn)行網(wǎng)格搜索.所有模型輸入長度變化為{20,21,…,29}.對于LSVR模型,正則化系數(shù)λ選自{2-10,2-8,…,28,210}集合.對于GP模型,RBF核帶寬σ和噪聲α變化范圍分別為{2-10,2-8,…,28,210}.對于mWDNet模型對原始序列信號進(jìn)行3級小波分解,LSTM單元個數(shù)在{32,64,128}上進(jìn)行網(wǎng)格搜索.對于mWDLNet模型,對原始序列信號進(jìn)行3層小波分解,卷積層的卷積核數(shù)量和LSTM層單元個數(shù)分別在{32,64,128}上進(jìn)行網(wǎng)格搜索.在每一層之后都使用了dropout,dropout比率為0.2.對于超參數(shù)α和β分別設(shè)置在{0,0.01,0.05,0.1,0.2,0.5,0.8,0.9,0.95,0.99,1}上進(jìn)行網(wǎng)格搜索. 本次實(shí)驗中,將預(yù)測輸出的時間長度分成4個時間段,分別為{3,6,12,24},即對北京PM2.5數(shù)據(jù)集的預(yù)測時間范圍為3~24小時,來觀測短期和較長期的預(yù)測結(jié)果,計算評價標(biāo)準(zhǔn)RMSE和MAE如表3所示,其中每種方法的評價指標(biāo)的最佳結(jié)果均以黑體突出顯示.由表3可知,本文構(gòu)建的mWDLNet模型在所有模型中表現(xiàn)最好,主要體現(xiàn)在:mWDLNet模型在4個預(yù)測時間段的均方根誤差RMSE和平均絕對誤差MAE都最低. 表3 不同模型的PM2.5濃度預(yù)測結(jié)果(RMSE和MAE)Table 3 Results summary(in RMSE and MAE)of all methods on PM2.5 dataset 在{3,12,24}時間段,ARIMA和mWDLNet模型的均方根誤差RMSE相近,可知相對于非線性部分,線性部分的預(yù)測表現(xiàn)效果更好,所以mWDLNet模型最終的輸出結(jié)果更加偏向線性部分輸出.在{3,6,12,24}4個時間段,mWDLNet模型的平均絕對誤差MAE最低,可知模型的非線性部分起到了改善的作用,并且隨著預(yù)測時間長度的增大,效果越明顯.LSTM模型的效果最差,但是隨著預(yù)測長度的增大,LSTM模型的均方根誤差RMSE和平均絕對誤差MAE呈現(xiàn)下降趨勢,并與其它模型的差距減少,LSTM模型更適合用于預(yù)測長期趨勢.ARIMA模型由于長期的誤差的干擾,更適合預(yù)測短期趨勢.mWDLNet模型融合神經(jīng)網(wǎng)絡(luò)和線性ARIMA模型的優(yōu)勢,在PM2.5濃度預(yù)測上實(shí)現(xiàn)了更準(zhǔn)確的預(yù)測. 為了更直觀的比較mWDLNet模型和mWDNet模型的預(yù)測結(jié)果,取測試集中最后200個點(diǎn),作出兩個模型的預(yù)測結(jié)果圖,如圖5所示.其中,黑色實(shí)線表示真實(shí)值(true),灰色虛線表示預(yù)測值(predict).由圖5可知,mWDLNet模型的擬合真實(shí)值的效果比mWDNet模型更好,mWDLNet模型的絕對誤差更低.結(jié)果表明,本文構(gòu)建的模型能夠產(chǎn)生更準(zhǔn)確的預(yù)測,尤其是在峰值附近. 圖5 mWDLNet和mWDNet預(yù)測結(jié)果(PM2.5測試集最后200個點(diǎn))Fig.5 Prediction results of mWDLNet and mWDNet model(last 200 values of PM2.5 dataset visualized) 1)本文提出了融合小波分解、1維卷積神經(jīng)網(wǎng)絡(luò)和長短期時間記憶網(wǎng)絡(luò)的時序預(yù)測模型,原始信號進(jìn)行多級小波分解,分解后的不同頻域的子序列進(jìn)行單支重構(gòu),通過神經(jīng)網(wǎng)絡(luò)模型提取頻域的特征,一維卷積神經(jīng)網(wǎng)絡(luò)主要捕獲不同頻率下的空間維度信息,LSTM主要提取時間維度信息的長期和短期的依賴信息,最后得到神經(jīng)網(wǎng)絡(luò)部分的時序預(yù)測結(jié)果.同時,本文添加了ARIMA來解決神經(jīng)網(wǎng)絡(luò)模型的尺度不敏感問題,原始序列數(shù)據(jù)通過ARIMA得到線性的預(yù)測結(jié)果.最后,將神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果和線性模型的輸出結(jié)果進(jìn)行加權(quán)求和得出最終預(yù)測結(jié)果. 2)本文通過實(shí)驗驗證了mWDLNet模型的小波分解模塊、卷積模塊和集成線性預(yù)測ARIMA的有效性,通過各個模塊的融合提高了模型的預(yù)測性能. 3)將提出的模型mWDLNet應(yīng)用于北京氣象數(shù)據(jù)集,進(jìn)行PM2.5濃度預(yù)測,預(yù)測范圍分為4個時間域{3,6,12,24},并與4個經(jīng)典時序模型和mWDTNet模型進(jìn)行對比分析,,結(jié)果表明,mWDLNet模型在每個時間段預(yù)測結(jié)果的均方根誤差RMSE和平均絕對誤差MAE都最低,表明本文構(gòu)建的模型性能表現(xiàn)較好.mWDLNet模型在PM2.5濃度預(yù)測上實(shí)現(xiàn)了更準(zhǔn)確的預(yù)測.3.2 一維卷積神經(jīng)網(wǎng)絡(luò)部分
3.3 循環(huán)神經(jīng)網(wǎng)絡(luò)部分
3.4 線性自回歸部分
3.5 最終預(yù)測結(jié)果
3.6 目標(biāo)函數(shù)及優(yōu)化策略
4 實(shí)驗與分析
4.1 數(shù)據(jù)集
Table 1 PM2.5 dataset4.2 小波分解
4.3 數(shù)據(jù)處理
4.4 評價指標(biāo)
4.5 模型分析
4.6 實(shí)驗結(jié)果與對比分析
5 結(jié) 論