王 凱 劉 文 陳進(jìn)維 劉 釗 劉敬賢
(武漢理工大學(xué)航運學(xué)院1) 武漢 430063) (武漢理工大學(xué)內(nèi)河航運技術(shù)湖北省重點實驗室2) 武漢 430063)
船舶交通流量預(yù)測是海上交通組織的基礎(chǔ),精確的船舶交通流量預(yù)測可為交通效率提高、航道規(guī)劃優(yōu)化、通航環(huán)境改善等提供堅實的理論支撐[1].
預(yù)測模型可分為線性系統(tǒng)模型、人工智能模型及組合預(yù)測模型[2].交通數(shù)據(jù)具有非線性、周期性和隨機(jī)性等特點,線性系統(tǒng)模型難以獲得精確的預(yù)測結(jié)果[3].基于神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,通過挖掘時序數(shù)據(jù)間的復(fù)雜關(guān)系,可以提高船舶交通流量的預(yù)測精度.常見的神經(jīng)網(wǎng)絡(luò)模型有反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network, BPNN)[4]、小波神經(jīng)網(wǎng)絡(luò)(wavelet neural network, WNN)[5]、模糊神經(jīng)網(wǎng)絡(luò)(fuzzy neural network, FNN)[6]、廣義回歸神經(jīng)網(wǎng)絡(luò)(general regression neural network, GRNN)[7]、長短期記憶網(wǎng)絡(luò)(long short-term memory network, LSTM)[8]等.由于單一預(yù)測模型無法準(zhǔn)確表征數(shù)據(jù)內(nèi)在特征,通過將2種及以上模型融合構(gòu)建的組合預(yù)測模型,可以結(jié)合不同模型的優(yōu)勢獲得更加準(zhǔn)確的預(yù)測結(jié)果.文獻(xiàn)[9-10]通過構(gòu)建組合預(yù)測模型實現(xiàn)數(shù)據(jù)預(yù)測,并取得了較好的效果.
LSTM模型解決了循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)的梯度消失問題,能夠?qū)W習(xí)時序數(shù)據(jù)間的長期依賴關(guān)系.因船舶交通流量易受天氣、航行規(guī)則等多因素的影響,統(tǒng)計數(shù)據(jù)往往呈現(xiàn)出非線性、非平穩(wěn)性等特點,預(yù)測模型難以準(zhǔn)確表征數(shù)據(jù)的內(nèi)在特征,預(yù)測結(jié)果不夠理想.而在LSTM模型訓(xùn)練過程中,損失函數(shù)是通過對網(wǎng)絡(luò)預(yù)測結(jié)果與真實樣本產(chǎn)生的誤差反向傳播指導(dǎo)網(wǎng)絡(luò)調(diào)參,以得到最優(yōu)的模型參數(shù).但目前常用的損失函數(shù)并不能準(zhǔn)確出反映兩者差異,且無法兼顧魯棒性和穩(wěn)定性.
針對時序數(shù)據(jù)的非線性、非平穩(wěn)性等特點,應(yīng)用數(shù)據(jù)分解方法可以將時序數(shù)據(jù)分解為不同頻率的子序列從而更易被模型表征其內(nèi)在特征.其次,通過改進(jìn)損失函數(shù)可以更加精確表現(xiàn)預(yù)測結(jié)果與真實樣本的差異,通過網(wǎng)絡(luò)訓(xùn)練以獲得最優(yōu)模型參數(shù).因此,文中提出一種VMD-DTW-LSTM模型用來預(yù)測船舶交通流量.引入變分模態(tài)分解(variational mode decomposition, VMD)方法,將時序數(shù)據(jù)分解為多個不同頻率尺度且相對平穩(wěn)的子序列,克服經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition, EMD)存在端點效應(yīng)和模態(tài)分量混疊問題[11],并采用動態(tài)時間規(guī)整(dynamic time warping, DTW)方法替代原始LSTM模型的損失函數(shù),提高了預(yù)測模型的準(zhǔn)確性及穩(wěn)定性.
VMD是一種完全非遞歸、自適應(yīng)的模態(tài)變分方法.該方法可根據(jù)實際情況確定序列的模態(tài)分解個數(shù)并自適應(yīng)匹配每種模態(tài)的最佳中心頻率和有限帶寬,實現(xiàn)固有模態(tài)分量(intrinsic mode function, IMF)的有效分解.克服了EMD模態(tài)分量混疊和端點效應(yīng)的問題,可以降低復(fù)雜度高和非線性強的時間序列非平穩(wěn)性.VMD的核心思想是變分問題的構(gòu)建和求解,具體步驟如下.
步驟1構(gòu)造變分問題 假設(shè)原始信號f被分解為k個分量,則對應(yīng)的約束變分模型表達(dá)式為
(1)
式中:?t為求偏導(dǎo);δ(t)為狄拉克函數(shù);K為分解模態(tài)的個數(shù);{uk}、{ωk}分別為分解后第k個模態(tài)分量和中心頻率;*為卷積運算.
步驟2為求取上述約束變分問題,引入二次懲罰因子α和拉格朗日乘法算子u(t),將上述約束性變分問題轉(zhuǎn)化為非約束性問題,增廣拉格朗日表達(dá)式為
L({uk},{ωk},λ)=
(2)
步驟3應(yīng)用交替方向乘子法(alternating direction method of multipliers, ADMM) 結(jié)合傅里葉等距變換尋求增廣拉格朗日函數(shù)的解,其中uk、ωk、λ交替更新,N為最大迭代次數(shù),直到滿足式(3)則迭代終止.
(3)
最終得到的最優(yōu)解即各IMF分量的uk及中心頻率ωk.
W={w1,w2,…,wk,…,wK}
(4)
式中:K滿足條件max(m,n)≤K 在尋找最佳路徑的過程中,還需滿足以下約束條件. 1)邊界條件 即w1=(1,1),wK=(m,n). 2)連續(xù)性 若wk-1=(x′,y′),則下一個映射點wk=(x,y)應(yīng)該滿足如下條件. x-x′≤1,y-y′≤1 (5) 即映射點不能跨過某個點去匹配,只允許和相鄰的點進(jìn)行匹配. 3)單調(diào)性 若wk-1=(x′,y′),則下一個映射點wk=(x,y)應(yīng)該滿足如下條件. x-x′≥0,y-y′≥0 (6) 即路徑只能向前不能向后匹配. 傳統(tǒng)的RNN模型難以處理長時依賴問題,這是由于在模型訓(xùn)練過程中易產(chǎn)生梯度消失問題.LSTM使用記憶單元替換RNN的隱含層,其記憶單元由輸入門、遺忘門及輸出門控制,可以自動選擇最佳滯后時間,選擇性記憶歷史信息,從而解決RNN因序列過長而導(dǎo)致的梯度消失問題,其記憶單元見圖1. 圖1 LSTM結(jié)構(gòu)示意圖 在LSTM網(wǎng)絡(luò)中,單元值更新主要包含以下步驟. 步驟1在遺忘門中通過計算得到上一時刻信息通過的比重. ft=σ(Wf[ht-1,xt]+bf) (7) 式中:σ為邏輯回歸中的Sigmoid函數(shù),其值域為[0,1]. it=σ(Wi[ht-1,xt]+bi) (8) (9) (10) 步驟3在輸出門中,依賴計算得出的當(dāng)前時刻狀態(tài)ct和過濾處理得到最終輸出結(jié)果ht. ot=σ(Wo[ht-1,xt]+bo) (11) ht=ot*tanh(ct) (12) 式中:Wf,Wi,Wc,Wo為權(quán)重;bf,bi,bc,bo為偏置. 采用VMD方法將時序數(shù)據(jù)分解為多個不同頻率尺度且相對平穩(wěn)的子序列,可有效降低復(fù)雜度高和非線性強的時間序列非平穩(wěn)性,使模型更易表征數(shù)據(jù)的內(nèi)在特征. 將經(jīng)過VMD分解后的各子序列進(jìn)行歸一化處理,并利用LSTM模型對各子序列單獨建模進(jìn)行預(yù)測.在模型訓(xùn)練中,傳統(tǒng)LSTM模型的損失函數(shù)計算的是對應(yīng)預(yù)測結(jié)果與真實樣本的歐氏距離,并不能準(zhǔn)確出反映兩者差異,且無法兼顧魯棒性和穩(wěn)定性,因此模型訓(xùn)練效果往往不夠理想.DTW方法利用動態(tài)規(guī)劃思想計算長度不同的離散序列間相似性,并通過拉伸或壓縮使序列達(dá)到最佳匹配以計算相似度.在損失函數(shù)計算中,將真實樣本表示為一條時間序列,預(yù)測結(jié)果為另一條時間序列,則兩序列的差值可表示為兩序列的相似度,且兩序列數(shù)據(jù)越接近則相似度越小,因此采用DTW方法作為LSTM模型網(wǎng)絡(luò)訓(xùn)練的損失函數(shù). 文中提出的VMD-DTW-LSTM預(yù)測模型流程圖見圖2.通過VMD方法將時序數(shù)據(jù)分解為不同頻率的子序列,并利用DTW-LSTM模型對各子序列單獨建模進(jìn)行預(yù)測.由于DTW-LSTM方法的復(fù)雜度較高,為在提高預(yù)測精度的基礎(chǔ)上同時兼顧模型計算效率,僅對高頻分量部分采用DTW-LSTM方法預(yù)測.將獲取的各分量的預(yù)測結(jié)果進(jìn)行重構(gòu)得到最終的預(yù)測結(jié)果. 圖2 VMD-DTW-LSTM預(yù)測模型流程圖 本實驗以2016年8月1日—2017年7月31日的武漢長江大橋斷面上、下行船舶交通流量為實驗數(shù)據(jù),以2 h為時間間隔對船舶交通流量進(jìn)行統(tǒng)計,得到兩個長度為4 380的時序數(shù)據(jù),上、下行船舶交通流量折線圖,見圖3. 圖3 船舶交通流量折線圖 在VMD方法中,分解模態(tài)數(shù)量K是重要初始參數(shù),K過小會導(dǎo)致模態(tài)欠分解,K過大則導(dǎo)致模態(tài)重復(fù)或產(chǎn)生額外噪聲.基于中心頻率法,分別設(shè)置K=3,4,5,6,7,8進(jìn)行實驗,評估不同K值下每個分量的中心頻率.最終確定K值為6,即將船舶交通流量數(shù)據(jù)分解為6個子序列,分解結(jié)果見圖4~5.由圖4~5可知,IMF1、IMF2、IMF3頻率較高,為交通時序數(shù)據(jù)中的高頻分量,IMF4、IMF5、IMF6頻率較低,為交通時序數(shù)據(jù)中的低頻分量.其中IMF1變化相對緩慢,其規(guī)律較其他模態(tài)函數(shù)更為簡單;IMF5、IMF6規(guī)律性較差,顯示了數(shù)據(jù)隨機(jī)性特點.VMD分解有效避免了模態(tài)分量的重疊,實現(xiàn)了不同頻率時序數(shù)據(jù)的有效分解. 圖4 上行船舶交通流量VMD分解圖 圖5 下行船舶交通流量VMD分解圖 對比實驗設(shè)置是將VMD-DTW-LSTM模型與其他9種預(yù)測模型的實驗結(jié)果進(jìn)行對比,包括3種線性系統(tǒng)模型和6種神經(jīng)網(wǎng)絡(luò)模型,具體有:馬爾科夫模型(MM);灰色模型(GM(1,1));ARIMA模型[13];BP神經(jīng)網(wǎng)絡(luò)(BPNN);小波神經(jīng)網(wǎng)絡(luò)(WNN);Elman神經(jīng)網(wǎng)絡(luò)(ENN);模糊神經(jīng)網(wǎng)絡(luò)(FNN);廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN);LSTM預(yù)測模型. 采用平均絕對百分比誤差(mean absolute percent error, MAPE)作為評價指標(biāo),其范圍為[0,+∞),MAPE值越小表示模型預(yù)測效果越好,計算公式為 (13) 根據(jù)設(shè)置對比實驗比較分析,實驗選取的LSTM神經(jīng)網(wǎng)絡(luò)含有3個隱藏層,每層有32個神經(jīng)元.為提高測預(yù)測效果,采用Dropout正則化方法,優(yōu)化器使用RMSProp,損失函數(shù)應(yīng)用DTW方法,其他參數(shù)使用默認(rèn)參數(shù),最大迭代次數(shù)為1 000,當(dāng)誤差小于10-5時,跳出循環(huán).數(shù)據(jù)集70%用于訓(xùn)練,30%用于測試.由于神經(jīng)網(wǎng)絡(luò)模型每次預(yù)測結(jié)果均有差異,采取運行10次取平均值作為最終預(yù)測結(jié)果. 主要從以下兩個方面進(jìn)行實驗. 1)驗證基于DTW方法改進(jìn)的LSTM模型的船舶交通流量預(yù)測性能 通過設(shè)置DTW-LSTM模型與上述9種模型的對比實驗,驗證基于DTW方法改進(jìn)的LSTM模型對預(yù)測性能的提升. 2)驗證加入VMD方法后DTW-LSTM模型的船舶交通流量預(yù)測性能 通過設(shè)置單一模型(上述9種模型加DTW-LSTM模型)與加入VMD方法的組合模型對比實驗,驗證加入VMD方法對預(yù)測性能的提升. 3.5.1基于DTW方法改進(jìn)的LSTM模型 DTW-LSTM模型和其他9種模型(包括3種線性系統(tǒng)模型和6種神經(jīng)網(wǎng)絡(luò)模型)在最后一天12個時間段的上、下行船舶交通流量預(yù)測結(jié)果的MAPE誤差平均值及標(biāo)準(zhǔn)差見表1.由表1可知,LSTM模型的MAPE平均誤差和標(biāo)準(zhǔn)差均小于其他模型,而DTW-LSTM在上、下行預(yù)測誤差上比LSTM分別低1.31%、1.49%,標(biāo)準(zhǔn)差則分別低0.20%、0.28%,驗證了DTW-LSTM模型的準(zhǔn)確性與穩(wěn)定性.此外,在大多數(shù)情況下神經(jīng)網(wǎng)絡(luò)模型在預(yù)測誤差和標(biāo)準(zhǔn)差上低于3種線性系統(tǒng)模型,證明了神經(jīng)網(wǎng)絡(luò)模型較線性系統(tǒng)模型具有更好的預(yù)測性能. 表1 上、下行船舶交通流量預(yù)測MAPE平均誤差及標(biāo)準(zhǔn)差 3.5.2基于VMD方法的DTW-LSTM模型 實驗1)僅驗證了基于DTW改進(jìn)的LSTM模型相對于傳統(tǒng)LSTM預(yù)測性能的提升.但由于船舶交通流量受多因素影響,數(shù)據(jù)呈現(xiàn)非線性、非平穩(wěn)性等特點.針對此問題,應(yīng)用VMD方法將時序數(shù)據(jù)分解為多個不同頻率尺度且相對平穩(wěn)的子序列,可有效降低復(fù)雜度高和非線性強的時間序列非平穩(wěn)性,使模型更易表征數(shù)據(jù)內(nèi)在特征.因此,本實驗在實驗1)的基礎(chǔ)上加入VMD方法,驗證加入VMD方法后對DTW-LSTM模型預(yù)測效果的提升. 為對比分析單一模型與加入VMD方法后模型的預(yù)測精度,求取各模型在12個時間段上預(yù)測誤差MAPE的平均值及標(biāo)準(zhǔn)差,見表2~3. 表2 上行船舶交通流量預(yù)測MAPE平均誤差及標(biāo)準(zhǔn)差 表3 下行船舶交通流量預(yù)測MAPE平均誤差及標(biāo)準(zhǔn)差 由表2~3可知,加入VMD方法后的組合模型的平均誤差均小于單一模型,表明加入VMD方法能夠有效提升模型的預(yù)測性能.VMD-DTW-LSTM預(yù)測模型在上行船舶交通流量數(shù)據(jù)上的平均誤差為2.03%,比LSTM模型低3.00%,比DTW-LSTM模型低1.60%;在下行船舶交通流量數(shù)據(jù)上的平均誤差為2.40%,比LSTM模型低2.50%,比DTW-LSTM模型低1.10%,且標(biāo)準(zhǔn)差低于0.90%.但是在上行船舶交通流量預(yù)測中,部分組合預(yù)測模型的標(biāo)準(zhǔn)差比單一模型高,這可能是由于上行船舶交通流量數(shù)據(jù)本身原因使模型穩(wěn)定性受到一定程度的影響,但下行船舶交通流量預(yù)測的標(biāo)準(zhǔn)差較單一模型有明顯降低,表明加入VMD方法對模型預(yù)測性能提升的有效性. 基于DTW方法改進(jìn)的LSTM模型的預(yù)測性能優(yōu)于原始LSTM模型;VMD方法能夠?qū)崿F(xiàn)數(shù)據(jù)的有效分解,使預(yù)測模型更易表征數(shù)據(jù)內(nèi)在特征,加入VDM方法的DTW-LSTM預(yù)測模型的預(yù)測性能較傳統(tǒng)LSTM模型和DTW-LSTM模型分別提升了2.50%、1.10%. 文中只考慮了船舶交通流量數(shù)據(jù)的連續(xù)性和周期性,未考慮不同區(qū)域間的空間相關(guān)性.未來工作將考慮數(shù)據(jù)的空間相關(guān)性及其隨時間的變化規(guī)律,實現(xiàn)對時空數(shù)據(jù)的精確預(yù)測.1.3 長短期記憶網(wǎng)絡(luò)
2 VMD-DTW-LSTM模型構(gòu)建
3 實驗分析
3.1 實驗數(shù)據(jù)集
3.2 VMD數(shù)據(jù)分解
3.3 實驗對比方法與評價指標(biāo)
3.4 實驗設(shè)置
3.5 實驗結(jié)果
4 結(jié) 束 語