李世杰, 王景升, 牛帥
(中國(guó)人民公安大學(xué)交通管理學(xué)院, 北京 100038)
城市交通問(wèn)題是城市發(fā)展過(guò)程中不可回避的問(wèn)題,隨著汽車(chē)保有量逐漸增加,城市道路交通流量進(jìn)而逐漸增長(zhǎng)。行程時(shí)間作為反映道路運(yùn)行狀況的重要指標(biāo),可以衡量道路的通行效率[1]。行程時(shí)間在城市交通出行誘導(dǎo)起著關(guān)鍵作用,通過(guò)預(yù)測(cè)未來(lái)道路行程時(shí)間,可以為交通參與者提供路徑選擇。如何對(duì)行程時(shí)間進(jìn)行預(yù)測(cè)是研究緩解城市交通壓力的主要熱點(diǎn)和難點(diǎn),因此精準(zhǔn)預(yù)測(cè)行程時(shí)間對(duì)于道路交通誘導(dǎo)至關(guān)重要[2]。
近年來(lái),隨著智能交通系統(tǒng)和人工智能技術(shù)的迅速發(fā)展,交通預(yù)測(cè)成為城市交通領(lǐng)域的熱點(diǎn)之一。中外學(xué)者提出的預(yù)測(cè)方法可以從以下角度進(jìn)行分類(lèi)。分別為基于統(tǒng)計(jì)模型、基于機(jī)器學(xué)習(xí)模型和基于深度學(xué)習(xí)模型等預(yù)測(cè)方法。基于統(tǒng)計(jì)的預(yù)測(cè)方法主要有線(xiàn)性回歸、ARIMA(auto-regressive integrated moving-average model)模型[3-4]、 Kalman(Kalman filter) 濾波[5]等方法,由于實(shí)際交通具有非線(xiàn)性和混沌特性,此類(lèi)模型通常依賴(lài)于數(shù)據(jù)平穩(wěn)的假設(shè),且不適應(yīng)大規(guī)模數(shù)據(jù)處理。機(jī)器學(xué)習(xí)模型的預(yù)測(cè)方法主要有支持向量機(jī)[6]、貝葉斯網(wǎng)絡(luò)[7]、XGBoost(extreme gradient boosting)[8]、K近鄰算法[9]等。Long等[10]使用人工魚(yú)群算法對(duì)SVM(support vector machine)模型進(jìn)行優(yōu)化,將優(yōu)化后的SVM模型用于高速公路行程時(shí)間預(yù)測(cè),能夠獲得較高的準(zhǔn)確率。Meng等[11]將KNN(k-nearest neighbors)與SVM模型結(jié)合對(duì)高速公路行程時(shí)間進(jìn)行預(yù)測(cè),能夠在加速訓(xùn)練的同時(shí)保證預(yù)測(cè)的準(zhǔn)確性?;谏疃葘W(xué)習(xí)模型的預(yù)測(cè)方法如長(zhǎng)短期記憶(long shot-term memory, LSTM)[12]、門(mén)控循環(huán)單元(gated recurrent unit, GRU)[13]等。Li等[14]使用基于LSTM的卷積神經(jīng)網(wǎng)絡(luò)對(duì)時(shí)空特征進(jìn)行學(xué)習(xí)以準(zhǔn)確預(yù)測(cè)道路行程時(shí)間;張明等[15]將改進(jìn)注意力機(jī)制與GRU模型結(jié)合預(yù)測(cè)城市道路行程時(shí)間,預(yù)測(cè)精度相較于僅使用GRU模型有較大提高;雖然深度神經(jīng)網(wǎng)絡(luò)模型與機(jī)器學(xué)習(xí)模型相比,在處理大規(guī)模數(shù)據(jù)時(shí)具有顯著優(yōu)勢(shì),但由于行程時(shí)間序列具有較強(qiáng)的非線(xiàn)性和非平穩(wěn)性,單一神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)精度越來(lái)越難以滿(mǎn)足出行者與交通管理著日益增長(zhǎng)的精度需求。與單個(gè)模型相比,組合模型[16]能夠提供更加準(zhǔn)確的預(yù)測(cè)結(jié)果。
因此,現(xiàn)借鑒金融學(xué)和地理學(xué)等領(lǐng)域中廣泛應(yīng)用的自適應(yīng)信號(hào)分解方法(variational mode decomposition,VMD)[17],將原始行程時(shí)間序列進(jìn)行分解,以降低原始時(shí)間序列的非穩(wěn)態(tài)性??紤]到GRU模型在時(shí)間序列預(yù)測(cè)中具有較高的精度,提出一種新的組合預(yù)測(cè)模型,簡(jiǎn)稱(chēng)VMD-GRU,以實(shí)現(xiàn)對(duì)非平穩(wěn)性較強(qiáng)的行程時(shí)間進(jìn)行預(yù)測(cè)。
變分模態(tài)分解(VMD)是一種能夠有效處理波動(dòng)信號(hào)的自適應(yīng)信號(hào)分解算法,可以有效降低復(fù)雜度高和非線(xiàn)性較強(qiáng)的時(shí)間序列非平穩(wěn)性[18]。VMD將原始時(shí)間序列進(jìn)行分解為若干個(gè)相對(duì)平穩(wěn)且不同頻率的時(shí)間子序列,以減少模態(tài)混疊現(xiàn)象的發(fā)生。VMD算法流程如下。
步驟1構(gòu)造變分模型。將原始序列分解為K個(gè)分量,構(gòu)造其約束變分函數(shù)為
(1)
式(1)中:K為模態(tài)數(shù)目,即分解信號(hào)的個(gè)數(shù);uk(t)為第t個(gè)模態(tài)分量;ωk為中心頻率;k為第k個(gè)分解信號(hào);?t為隨著時(shí)間變化的偏導(dǎo)數(shù);δ(t)為狄克拉分布函數(shù);f(t)為原始序列信號(hào);*為卷積;j為虛數(shù)單位;t為時(shí)間參數(shù)。
步驟2利用其約束變分模型引入拉格朗日乘子和二次懲罰因子來(lái)降低干擾,同時(shí)將上述問(wèn)題轉(zhuǎn)化為非約束變分問(wèn)題。
(2)
式(2)中:L為增廣Lagrange函數(shù)表達(dá)式;α為二次懲罰因子;λ為拉格朗日因子。
步驟3使用交替方向乘子法進(jìn)行求解,中心頻率ωk與模態(tài)uk的求解公式為
(3)
門(mén)控循環(huán)網(wǎng)絡(luò)(GRU)是應(yīng)用最為廣泛的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)變種之一,同時(shí)作為L(zhǎng)STM的改進(jìn)版,使用“門(mén)”結(jié)構(gòu)選擇性地丟棄或保留一些信息,在某些情況下能產(chǎn)生較為優(yōu)異的效果。GRU包含更新門(mén)和重置門(mén)兩個(gè)門(mén)結(jié)構(gòu),它將LSTM模型中的3個(gè)門(mén)合并成更新門(mén)和重置門(mén),其更新門(mén)相當(dāng)于LSTM的輸入門(mén)和遺忘門(mén),結(jié)構(gòu)變得更加簡(jiǎn)單,從而相對(duì)于LSTM提高了模型整體的訓(xùn)練速度。
GRU模型結(jié)構(gòu)如圖1所示。更新門(mén)幫助模型決定要將多少前一時(shí)刻的信息傳遞到當(dāng)前時(shí)刻中,更新門(mén)的值越小,代表更少的前一時(shí)刻信息被傳遞到當(dāng)前時(shí)刻;重置門(mén)用于控制遺忘前一時(shí)刻信息的程度,重置門(mén)的值越小,代表忽視前一時(shí)刻的信息越多。
圖1 GRU內(nèi)部結(jié)構(gòu)Fig.1 Internal structure of GRU
zt=σ(Wz[ht-1,xt]+bz)
(4)
rt=σ(Wr[ht-1,xt]+br)
(5)
(6)
(7)
式中:zt和rt分別為GRU的更新門(mén)和重置門(mén);xt為t
行程時(shí)間序列具有非平穩(wěn)性與波動(dòng)性等特點(diǎn),使用單一的預(yù)測(cè)模型難以得到較精準(zhǔn)的預(yù)測(cè)結(jié)果??紤]到VMD分解算法在處理非線(xiàn)性數(shù)據(jù)方面的優(yōu)勢(shì)以及GRU模型能夠較好地捕獲時(shí)間序列的特征。文本使用VMD-GRU組合模型對(duì)行程時(shí)間進(jìn)行預(yù)測(cè)。VMD-GRU組合預(yù)測(cè)模型首先將原始行程時(shí)間序列分解為若干相對(duì)平穩(wěn)且不同頻率的時(shí)間子序列,實(shí)現(xiàn)行程時(shí)間序列的降噪,有效緩解原始序列的非平穩(wěn)性與波動(dòng)性,其次針對(duì)其子序列建立預(yù)測(cè)模型,通過(guò)使用GRU模型獨(dú)立預(yù)測(cè)若干時(shí)間子序列使預(yù)測(cè)風(fēng)險(xiǎn)分散,最后將各個(gè)時(shí)間子序列的預(yù)測(cè)結(jié)果進(jìn)行融合。為了更好地捕獲城市道路行程時(shí)間序列的非線(xiàn)性和非平穩(wěn)特征,通過(guò)使用VMD算法將原始行程時(shí)間序列分解為若干相對(duì)平穩(wěn)的IMF(intrinsic mode function)分量,然后為每個(gè)IMF分量構(gòu)建GRU預(yù)測(cè)模型,最后將每個(gè)IMF分量預(yù)測(cè)的結(jié)果進(jìn)行匯總?cè)诤?以產(chǎn)生最終行程時(shí)間預(yù)測(cè)結(jié)果。設(shè)計(jì)城市道路行程時(shí)間VMD-GRU組合預(yù)測(cè)模型如圖2所示。VMD-GRU組合算法的具體步驟如表1所示。
表1 VMD-GRU模型的預(yù)測(cè)步驟Table 1 The prediction steps of the VMD-GRU model
圖2 VMD-GRU模型流程圖Fig.2 VMD-GRU model flowchart
本文數(shù)據(jù)來(lái)源于河北省唐山市北新西道部分路段電子警察卡口數(shù)據(jù)。該數(shù)據(jù)包含交叉口編號(hào)、交叉口名稱(chēng)、車(chē)牌號(hào)、采集時(shí)間、方向編號(hào)等字段屬性。通過(guò)提取上下游交叉口電子警察過(guò)車(chē)記錄,計(jì)算15 min時(shí)間間隔內(nèi)車(chē)輛經(jīng)過(guò)上下游交叉口的行程時(shí)間,然后對(duì)行程時(shí)間進(jìn)行清洗,剔除異常值,最后對(duì)15 min時(shí)間間隔內(nèi)的行程時(shí)間取均值,作為下文行程時(shí)間的訓(xùn)練與預(yù)測(cè)數(shù)據(jù)集。經(jīng)數(shù)據(jù)處理后,得到行程時(shí)間樣本數(shù)據(jù),為連續(xù)12 d的15 min粒度構(gòu)成的時(shí)間序列,共計(jì)1 152段行程時(shí)間數(shù)據(jù),如圖3所示。
圖3 行程時(shí)間序列圖Fig.3 Travel time series plot
將行程時(shí)間序列采用VMD算法分解為5個(gè)IMF時(shí)間子序列分量,降低原始時(shí)間序列的復(fù)雜程度,分解后的時(shí)間子序列圖像如圖4所示。
圖4 行程時(shí)間序列分解結(jié)果Fig.4 Travel time series decomposition results
為有效驗(yàn)證模型的預(yù)測(cè)效果,將數(shù)據(jù)集前80%作為訓(xùn)練集,后20%作為測(cè)試集。為消除數(shù)據(jù)量綱所帶來(lái)的影響,將VMD分解后的時(shí)間子序列數(shù)據(jù)分別進(jìn)行歸一化處理,并分別使用GRU、LSTM模型對(duì)其進(jìn)行預(yù)測(cè)。在GRU神經(jīng)網(wǎng)絡(luò)中,GRU層包含80個(gè)神經(jīng)元,Dropout層可隨機(jī)斷開(kāi)網(wǎng)絡(luò)層之間的連接,有效防止過(guò)擬合,經(jīng)過(guò)多次實(shí)驗(yàn),設(shè)置為0.3時(shí)效果較好,滑動(dòng)時(shí)間窗口長(zhǎng)度設(shè)置為60,損失函數(shù)選用均方誤差,使用Adam優(yōu)化器對(duì)模型參數(shù)進(jìn)行優(yōu)化,迭代次數(shù)設(shè)置為50,Batch_Size設(shè)置為32。為進(jìn)行組合模型對(duì)比驗(yàn)證,在LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型中,僅將GRU層改變?yōu)長(zhǎng)STM層,其余設(shè)置不變。為檢驗(yàn)?zāi)P皖A(yù)測(cè)效果,采用均方誤差(mean squared error,MSE)、均方根誤差(RMSE)、平均絕對(duì)誤差(MAE)作為評(píng)價(jià)指標(biāo)。
(8)
(9)
(10)
式中:xit為時(shí)間序列的真實(shí)值;xip為時(shí)間序列的預(yù)測(cè)值;n為數(shù)據(jù)個(gè)數(shù)。
VMD-GRU模型與VMD-LSTM模型的各分量IMF的預(yù)測(cè)對(duì)比結(jié)果如表2所示。從表2可以看出, GRU模型中各個(gè)分量的MSE、RMSE、MAE值均小于LSTM模型中的值,其中MSE降低0.05~0.50,RMSE降低0.10~0.26,MAE降低0.07~0.21。說(shuō)明GRU模型在預(yù)測(cè)時(shí)間子序列的預(yù)測(cè)精度高于LSTM模型,這是因?yàn)镚RU模型具有獨(dú)特的門(mén)結(jié)構(gòu)特征,能夠有效地學(xué)習(xí)各分量的數(shù)據(jù)特征,提高模型訓(xùn)練速度與預(yù)測(cè)精度。
表2 各分量IMF預(yù)測(cè)評(píng)價(jià)結(jié)果Table 2 Each component of the IMF predicted evaluation results
為了驗(yàn)證VMD-GRU組合預(yù)測(cè)模型的精確性,將單一的RNN、LSTM、GRU、BiLSTM神經(jīng)網(wǎng)絡(luò)模型以及VMD-LSTM模型作為對(duì)照組,對(duì)行程時(shí)間序列進(jìn)行預(yù)測(cè),各個(gè)預(yù)測(cè)模型輸出的測(cè)試集擬合結(jié)果如圖5所示,各個(gè)模型相應(yīng)的RMSE、MSE、MAE值如表3所示。
表3 各模型評(píng)價(jià)結(jié)果Table 3 Evaluation results of each model
true表示實(shí)際的行程時(shí)間數(shù)值圖5 各模型預(yù)測(cè)結(jié)果Fig.5 Predicted results of each model
由圖5可知,VMD-GRU組合預(yù)測(cè)模型的擬合曲線(xiàn)與真實(shí)值的吻合程度較高。由表2可知,組合模型相較于單一模型預(yù)測(cè)精度提升較大,說(shuō)明組合模型能更好地捕獲行程時(shí)間的變化,比單一模型適用于波動(dòng)性較強(qiáng)的城市道路行程時(shí)間預(yù)測(cè)。主要原因是使用VMD分解算法后,可以有效降低原始行程時(shí)間序列較強(qiáng)的非線(xiàn)性特征,使得模型在訓(xùn)練時(shí)能夠更容易捕獲其特征,從而提高預(yù)測(cè)精度。VMD-GRU組合預(yù)測(cè)模型的RMSE、MSE、MAE、MAPE值相較于其他模型均較低,其中MSE降低4.81~79.98,RMSE降低0.34~4.37,MAE降低0.22~3.35。表明VMD-GRU模型在行程時(shí)間序列預(yù)測(cè)中相較于其他對(duì)照模型具有優(yōu)越性。
城市道路行程時(shí)間序列具有非線(xiàn)性、非平穩(wěn)性,因此單一預(yù)測(cè)模型較難達(dá)到滿(mǎn)意的預(yù)測(cè)結(jié)果。提出了融合VMD與GRU的行程時(shí)間組合預(yù)測(cè)模型,將原始時(shí)間序列分解,并分別與門(mén)控循環(huán)單元神經(jīng)網(wǎng)絡(luò)結(jié)合,最后將各自預(yù)測(cè)的結(jié)果進(jìn)行融合,產(chǎn)成最終的行程時(shí)間序列預(yù)測(cè)結(jié)果。通過(guò)實(shí)例得出以下結(jié)論。
(1)通過(guò)使用VMD算法將原始行程時(shí)間序列分解為5個(gè)IMF分量,能夠有效降低了原始時(shí)間序列的波動(dòng)性。
(2)使用VMD-LSTM模型作為對(duì)照組,來(lái)證明VMD-GRU模型在處理行程時(shí)間子序列具有較高的預(yù)測(cè)精度。
(3)將RNN、LSTM、GRU單一模型和VMD-LSTM模型的行程時(shí)間預(yù)測(cè)結(jié)果與本文所提出的VMD-GRU模型進(jìn)行對(duì)比驗(yàn)證,證明VMD-GRU模型在行程時(shí)間預(yù)測(cè)中的優(yōu)越性。
但城市道路行程時(shí)間仍受交通環(huán)境、天氣、道路狀況等因素的影響,下一步考慮將獲取相關(guān)因素的數(shù)據(jù),在預(yù)測(cè)時(shí)綜合考慮相關(guān)因素的影響。