王博文,王景升,王統(tǒng)一,張子泉,劉 宇,于 昊
(1. 中國人民公安大學(xué) 交通管理學(xué)院,北京 100038,2. 山東科技大學(xué) 電氣信息系,濟(jì)南 250000)
城市交通的供需不平致使交通擁堵問題日益嚴(yán)重。智能交通系統(tǒng)(intelligent traffic system, ITS)是解決交通擁堵問題,提高道路通行能力的有效途徑。使用ITS對交通流進(jìn)行控制和誘導(dǎo)的前提是實(shí)現(xiàn)對交通流狀態(tài)的實(shí)時(shí)預(yù)測。
近年來,許多研究者對短時(shí)交通流預(yù)測進(jìn)行了研究,并取得了一系列的研究成果。其中大部分研究使用傳統(tǒng)統(tǒng)計(jì)方法及淺層的機(jī)器學(xué)習(xí)模型。2003年,Williams等[1]使用自回歸積分滑動平均(autoregressive integrated moving average, ARIMA)對交通流量進(jìn)行了預(yù)測。2002年,Smith等[2]使用ARIMA模型對交通流序列進(jìn)行建模,證明了ARIMA模型的預(yù)測效果優(yōu)于一些非參數(shù)模型。2016年,Hu等[3]使用粒子群優(yōu)化 (partical swarm optimization, PSO)算法對支持向量回歸機(jī)(support vector regression, SVR)的參數(shù)進(jìn)行優(yōu)化,并將優(yōu)化后的SVR模型用于短時(shí)交通流預(yù)測,證明了優(yōu)化模型比現(xiàn)有預(yù)測算法的誤差更小。隨著交通大數(shù)據(jù)的劇增,及交通流數(shù)據(jù)具備多維度、非線性等問題日益突出,研究者嘗試運(yùn)用深度學(xué)習(xí)的方法,使用非線性模型對交通流數(shù)據(jù)進(jìn)行分析[4-6]。2015年,Ma等[7]將長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)用于預(yù)測交通流預(yù)測,實(shí)驗(yàn)證明相較于其他模型,LSTM可以有效地捕捉交通流的非線性狀態(tài)及車輛行進(jìn)過程中速度的突然變化。2016年,F(xiàn)u等[8]將門循環(huán)單元(gate recurrent unit, GRU)用于交通流量的預(yù)測,證明了基于深度學(xué)習(xí)的非線性算法的性能優(yōu)于傳統(tǒng)的線性算法。
近年來大部分交通流預(yù)測模型都是針對交通流序列的單步預(yù)測建立的,只適用于ITS短期決策問題中,例如交叉口的信號配時(shí)。為滿足ITS對于道路擁堵形成時(shí)間、路徑規(guī)劃等問題的決策,還需要對交通序列做多步預(yù)測。使用單一的神經(jīng)網(wǎng)絡(luò)模型對較長的序列進(jìn)行多步預(yù)測時(shí),每一步的預(yù)測誤差將會隨著預(yù)測步長的增加而增加,從而使預(yù)測得到的序列與原始序列存在較大的偏差[9-11]。
除此之外,交通流因受交通流量、速度、時(shí)間占有率、密度等因素的影響,往往呈現(xiàn)出非線性的特點(diǎn)[12-16]。因此,對交通流進(jìn)行有效預(yù)測要使模型能夠充分挖掘交通流序列中多個(gè)變量之間的非線性關(guān)系。LSTM能夠?qū)鞲衅鲾?shù)據(jù)的時(shí)間序列,及固定長度、固定周期的信號數(shù)據(jù)的顯著特征進(jìn)行有效的學(xué)習(xí)。
基于此,文中提出基于LSTM的Encoder-Decoder多步交通流預(yù)測模型(encoder-decoder LSTM multi-step traffic flow prediction model, ED LSTM),實(shí)現(xiàn)端到端的交通流序列預(yù)測。主要的貢獻(xiàn)點(diǎn):
1)使用Encoder-Decoder學(xué)習(xí)框架,通過一個(gè)LSTM編碼器,將交通流序列中的時(shí)間特征編碼為上下文向量,使用另一個(gè)LSTM作為解碼器,對向量做解碼,并進(jìn)行預(yù)測。
2)使用LSTM提取多變量交通流序列中的深層表達(dá)能力,提高了預(yù)測的準(zhǔn)確性。
3)基于2個(gè)真實(shí)的交通數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,ED LSTM模型在單變量、多變量輸入的多步交通流預(yù)測中任務(wù)中均具有良好的預(yù)測能力,并且優(yōu)于對照組模型。
在模型的搭建中,使用ED結(jié)構(gòu)搭建深度學(xué)習(xí)模型,LSTM作為編碼器和解碼器,并對所用到的ED結(jié)構(gòu)、LSTM等基礎(chǔ)知識進(jìn)行簡單介紹。
LSTM是時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,通過在循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的基礎(chǔ)上增加門控(輸入門、遺忘門和輸出門)以確定信息的儲存與丟棄。LSTM解決了RNN模型梯度彌散的問題,可以更好地對具有時(shí)空關(guān)聯(lián)的序列數(shù)據(jù)進(jìn)行刻畫。
假設(shè)輸入序列X為(x1,x2…,xt),隱藏層狀態(tài)H為(h1,h2…,ht),使用激活函數(shù)對遺忘信息進(jìn)行計(jì)算:
ft=σ(Wxfxt+Whfht-1+bf),
(1)
通過輸入門對信息進(jìn)行更新:
it=σ(Wxixt+Whiht-1+bi),
(2)
Ct1=tanh(Wxcxt+Whcht-1+bc),
(3)
式中:it為t時(shí)刻輸入門的輸出;Wxi為輸入層到輸入門的權(quán)重向量;bi為輸入門的偏置;Ct1為當(dāng)前時(shí)刻細(xì)胞單元的狀態(tài);tanh為激活函數(shù);Wxc為輸入層到輸出門的權(quán)重向量;bc為細(xì)胞單元的偏置。
將遺忘門與輸出門的計(jì)算結(jié)果相結(jié)合,得到當(dāng)前時(shí)刻細(xì)胞單元的輸出
Ct=ft*Ct-1+it*Ct1,
(4)
式中:*為向量元素相乘;Ct-1為上一時(shí)刻細(xì)胞單元的狀態(tài)。
在新的細(xì)胞單元上計(jì)算輸出結(jié)果:
ot=σ(Wxoxt+Whoht-1+bo),
(5)
ht=ot*tanh(ct),
(6)
式中:ot為t時(shí)刻輸出門的輸出;Wxo為輸入層到輸出門的權(quán)重向量;Who為輸入們與細(xì)胞單元狀態(tài)的權(quán)重向量;bo為輸出門的偏置;ht為t時(shí)刻交通流序列的預(yù)測值。
LSTM的內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 LSTM的內(nèi)部結(jié)構(gòu)Fig. 1 Internal structure of LSTM
ED結(jié)構(gòu)是深度學(xué)習(xí)中的一種模型框架。使用單一的LSTM模型對較長的序列進(jìn)行預(yù)測時(shí),每一步的預(yù)測誤差將會隨著預(yù)測步長的增加而增加,從而使預(yù)測得到的序列與原始序列存在較大的偏差。ED結(jié)構(gòu)通過編碼器將長序列編碼為一段向量表示,使用解碼器對該向量進(jìn)行解讀并預(yù)測,可以有效解決這一問題。
文中ED LSTM模型的結(jié)構(gòu)如圖2所示。
圖2 文中ED LSTM模型的結(jié)構(gòu)Fig. 2 Structure of the proposed ED LSTM model
首先,定義一個(gè)單層LSTM作為解碼器對輸入序列進(jìn)行讀取,并使用RepeatVector層將LSTM輸出序列中的每個(gè)時(shí)間步長的值重復(fù)一次,作為解碼過程的輸入。然后,定義一個(gè)單層LSTM模型作為解碼層。最后,通過2個(gè)TimeDistributed包裝器對每個(gè)時(shí)間步長進(jìn)行解釋并輸出。具體預(yù)測步驟如表1所示。
表1 ED LSTM模型的預(yù)測步驟
表1中,第1~11步用于獲得ED LSTM模型的最佳參數(shù)設(shè)置,第12步用于驗(yàn)證ED結(jié)構(gòu)的有效性,第13步用于驗(yàn)證LSTM學(xué)習(xí)時(shí)間序列顯著特征的有效性,第14步用于驗(yàn)證ED LSTM模型具備有效提取多變量交通流序列中深層特征的能力。
其中損失函數(shù)MSE為
(7)
為對模型效果進(jìn)行測試,基于2個(gè)城市交通數(shù)據(jù)集,將傳統(tǒng)統(tǒng)計(jì)模型:自回歸滑動平均(auto-regressive and moving average, ARMA);淺層機(jī)器學(xué)習(xí)模型:SVR、極端梯度提升(extreme gradient boosting, XGBOOST);基準(zhǔn)深度學(xué)習(xí)模型:循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)、LSTM模型作為對照組進(jìn)行實(shí)驗(yàn)驗(yàn)證。
第1個(gè)數(shù)據(jù)集來源于美國加利福尼亞州第4區(qū)高速公路某個(gè)路段的數(shù)據(jù),簡稱PEMS-04,數(shù)據(jù)集的時(shí)間跨度為2018年1月1日~2018年6月13日,取工作日從早高峰開始到晚高峰結(jié)束之間的時(shí)段,即7:00~19:00,每組數(shù)據(jù)的采樣時(shí)間間隔為5 min,樣本總量為16 992個(gè),特征為交通流量、速度。第2個(gè)數(shù)據(jù)集為中國陜西省西安市市內(nèi)某路段的交通數(shù)據(jù),簡稱Xi-an,數(shù)據(jù)集的時(shí)間跨度為2020年11月1日~12月25日,取工作日從早高峰開始到晚高峰結(jié)束之間的時(shí)段,即7:00~20:00,每組數(shù)據(jù)的采樣時(shí)間間隔為5 min,樣本總量為8 640,特征為流量。
數(shù)據(jù)規(guī)約。文中使用Min-Max函數(shù)對數(shù)據(jù)做歸一化操作,將流量及速度數(shù)據(jù)規(guī)約至[0,1]區(qū)間,以此提高模型的收斂速度和預(yù)測能力。
訓(xùn)練集與測試集的劃分。2個(gè)數(shù)據(jù)集均以8 ∶2的比例劃分訓(xùn)練集與測試集。
3.3.1 模型的參數(shù)設(shè)置
文中ED LSTM模型及基準(zhǔn)深度學(xué)習(xí)模型的建立均基于TensorFlow的深度學(xué)習(xí)框架?;鶞?zhǔn)深度學(xué)習(xí)模型的隱藏層個(gè)數(shù)均為1,隱藏層神經(jīng)元個(gè)數(shù)均為64。深度學(xué)習(xí)模型均使用Relu函數(shù)作為激活函數(shù),MSE作為損失函數(shù),Adam作為優(yōu)化器,batch_size為1,其余均為默認(rèn)參數(shù)。對于模型學(xué)習(xí)過程的配置,使用Compile方法完成,設(shè)置最大訓(xùn)練迭代次數(shù)為100,當(dāng)監(jiān)測到損失函數(shù)停止改進(jìn)或者迭代次數(shù)達(dá)到100時(shí)結(jié)束訓(xùn)練。
統(tǒng)計(jì)模型ARMA的建立基于Statsmodels庫,模型的參數(shù)為默認(rèn)值。
機(jī)器學(xué)習(xí)模型SVR的建立基于Sklearn庫,模型的參數(shù)為默認(rèn)值。XGBOOST模型的建立基于Xgboost庫,模型的參數(shù)為默認(rèn)值。
3.3.2 評價(jià)指標(biāo)選取
為了客觀評價(jià)模型的性能,同時(shí)選取均方根誤差(root mean squard error,RMSE)及平均絕對誤差(mean absolute error,MAE)作為模型的評價(jià)指標(biāo)。模型的RMSE、MAE越小,預(yù)測效果越好。
3.4.1 單變量實(shí)驗(yàn)設(shè)計(jì)
基于PEMS-04、Xi-an 2個(gè)數(shù)據(jù)集,以t-8到t的9個(gè)時(shí)間步長作為內(nèi)核尺度讀取交通流量數(shù)據(jù)作為輸入序列,對從t+1到t+12的12個(gè)步長的交通流量數(shù)據(jù)進(jìn)行預(yù)測。將ED LSTM模型與對照組模型在12個(gè)時(shí)間步長內(nèi)的平均預(yù)測RMSE和MAE進(jìn)行對比,結(jié)果如表2所示。
表2 ED LSTM模型與對照組模型在12個(gè)時(shí)間步長內(nèi)的平均 預(yù)測RMSE和MAE對比
由表2得,ED LSTM模型在從t+1到t+12的12個(gè)步長內(nèi)的平均預(yù)測RMSE和平均MAE值均小于對照組模型。在PEMS-04數(shù)據(jù)集上,與對照組模型相比,ED LSTM模型的RMSE降低了約0.210~5.422,MAE降低約0.061~0.191;在Xi-an數(shù)據(jù)集上,與對照組模型相比,ED LSTM模型的RMSE降低了約0.210~2.430,MAE降低約0.053~0.239,證明了ED LSTM模型在多步預(yù)測方面具有較為優(yōu)秀的性能。除此之外,實(shí)驗(yàn)結(jié)果還表明,相較于傳統(tǒng)統(tǒng)計(jì)模型及淺層機(jī)器學(xué)習(xí)模型,RNN、CNN及LSTM等深度學(xué)習(xí)模型具備更好的預(yù)測效果,能夠更有效地學(xué)習(xí)到時(shí)間序列數(shù)據(jù)的特征。相比其他單一模型,LSTM進(jìn)一步降低了預(yù)測誤差,說明LSTM能夠更好地對交通流序列進(jìn)行解釋。
繼續(xù)對單變量ED LSTM模型對于特定時(shí)間步長的預(yù)測能力進(jìn)行分析,基于PEMS-04數(shù)據(jù)集、Xi-an 2個(gè)數(shù)據(jù)集,設(shè)定以t-8到t的9個(gè)時(shí)間步長作為內(nèi)核尺度讀取交通流量數(shù)據(jù)作為輸入序列,對t+1、t+3、t+6、t+12時(shí)刻的交通流量數(shù)據(jù)進(jìn)行預(yù)測。將ED LSTM模型與對照組模型在多個(gè)特定時(shí)間步長下的平均預(yù)測RMSE和MAE進(jìn)行對比,結(jié)果如表3和表4所示。
表3 ED LSTM模型與對照組模型在多個(gè)特定時(shí)間步長下的平均預(yù)測RMSE和MAE對比(PEMS-04數(shù)據(jù)集)
表4 ED LSTM模型與對照組模型在多個(gè)特定時(shí)間步長下的平均 預(yù)測RMSE和MAE對比(Xi-an數(shù)據(jù)集)
由表3和表4得,時(shí)間步長對預(yù)測的結(jié)果影響較大。模型在以較長時(shí)間步長進(jìn)行預(yù)測時(shí),會將上一個(gè)預(yù)測結(jié)果考慮在內(nèi),因此隨著預(yù)測步長的增加,模型會產(chǎn)生較大的誤差。ED LSTM模型在不同的時(shí)間步長下相較于對照組都具有較小的RMSE及MAE,因此單變量輸入的ED LSTM模型在不同的預(yù)測時(shí)間步長下表現(xiàn)均較為優(yōu)秀。除此之外,相較于LSTM的單一模型,ED LSTM模型性能的下降趨勢較為緩慢,說明ED結(jié)構(gòu)能夠減緩隨著預(yù)測步長的增加模型誤差迅速積累的趨勢,實(shí)現(xiàn)更為準(zhǔn)確的多步交通流預(yù)測。
單變量ED LSTM模型與對照組模型在多個(gè)特定時(shí)間步長下在測試集上的擬合效果如圖3所示。
圖3 單變量ED LSTM模型與對照組模型在多個(gè)特定時(shí)間步長下在測試集上的擬合效果Fig. 3 The fitting effect of univariate ED LSTM model and control models on test set at multiple specific time steps
由圖3得,不論在交通流量序列的波峰還是波谷,相較于對照組模型,ED LSTM模型的預(yù)測曲線都能夠更好地與交通流量的真實(shí)值曲線相擬合。
3.4.2 單變量與多變量對比實(shí)驗(yàn)設(shè)計(jì)
為分析單變量與多變量建模對交通流預(yù)測的影響,基于PEMS-04數(shù)據(jù)集,分別以t-8到t的9個(gè)時(shí)間步長作為內(nèi)核尺度讀取交通流量數(shù)據(jù)作為輸入序列,對從t+1到t+12的12個(gè)步長的交通流量數(shù)據(jù)進(jìn)行預(yù)測。將多變量輸入的ED LSTM模型與單變量輸入的ED LSTM模型在12個(gè)時(shí)間步長內(nèi)的平均預(yù)測RMSE和MAE進(jìn)行對比,結(jié)果如表5所示。
表5 多變量輸入的ED LSTM模型與單變量輸入的ED LSTM模型在12個(gè)時(shí)間步長內(nèi)的平均預(yù)測RMSE和MAE對比
由表5得,相較于單變量輸入,ED LSTM模型在多變量時(shí)間序列輸入的條件下RMSE降低了0.840,MAE降低了0.136,說明ED LSTM模型能夠很好地對多變量交通流序列中的非線性特征進(jìn)行學(xué)習(xí)。
繼續(xù)對多變量ED LSTM模型的多步長預(yù)測能力進(jìn)行分析,基于PEMS-04數(shù)據(jù)集,設(shè)定以t-8到t的9個(gè)時(shí)間步長作為內(nèi)核尺度讀取交通流量數(shù)據(jù)作為輸入序列,對t+1、t+3、t+6、t+12時(shí)刻的交通流量數(shù)據(jù)進(jìn)行預(yù)測。將多變量輸入的ED LSTM模型與單變量輸入的ED LSTM模型在多個(gè)特定時(shí)間步長下的平均預(yù)測RMSE和MAE進(jìn)行對比,結(jié)果如表6所示。
表6 多變量輸入的ED LSTM模型與單變量輸入的ED LSTM模型在 多個(gè)特定時(shí)間步長下的平均預(yù)測RMSE和MAE對比
由表6得,在不同的時(shí)間步長下,相較于單變量輸入,多變量輸入的ED LSTM模型的RMSE及MAE均較小。證明了相較于單變量輸入,ED LSTM模型在不同的時(shí)間步長下均能夠較好地學(xué)習(xí)多變量時(shí)間序列中復(fù)雜的非線性關(guān)系。
多變量ED LSTM模型與對照組模型在多個(gè)特定時(shí)間步長下在測試集上的擬合效果如圖4所示。
圖4 多變量ED LSTM模型與對照組模型在多個(gè)特定時(shí)間步長下在測試集上的擬合效果圖Fig. 4 The fitting renderings of the multivariable ED LSTM model and the control models on the test set at multiple specific time steps
由圖4得,不論在交通流量序列的波峰還是波谷,相較于單變量輸入的ED LSTM模型,多變量輸入的ED LSTM模型的預(yù)測曲線與原預(yù)測序列的匹配程度均更好。
采用Encoder-Decoder學(xué)習(xí)框架,構(gòu)建了一個(gè)有效的ED LSTM模型用于交通流預(yù)測任務(wù)。使用ARMA、SVR、XGBOOST、RNN、CNN、LSTM模型作為對照組,通過控制交通流變量的輸入個(gè)數(shù)及預(yù)測的時(shí)間步長設(shè)計(jì)了多個(gè)實(shí)驗(yàn)對模型的效果進(jìn)行驗(yàn)證。
1)采用Encoder-Decoder學(xué)習(xí)框架,解決了因時(shí)間序列較長及多步預(yù)測所引起的模型預(yù)測誤差迅速累積的問題。
2)采用LSTM作為編碼器對多因素交通流序列的非線性特征進(jìn)行擬合,充分挖掘了交通流序列中多個(gè)變量之間的非線性關(guān)系。
3)通過在2個(gè)數(shù)據(jù)集上進(jìn)行驗(yàn)證,證明了ED LSTM模型可以用于單因素或多因素的交通流序列的多步預(yù)測問題。
但交通流仍受天氣、能見度等因素的影響,下一步研究可以考慮獲取其他因素的相關(guān)數(shù)據(jù),挖掘更多影響因素之間的非線性關(guān)系。