李 楷,黃少偉
(肇慶學(xué)院 計(jì)算機(jī)科學(xué)與軟件學(xué)院,廣東 肇慶 526061)
交通流量是判斷道路交通狀況的關(guān)鍵因素.準(zhǔn)確及時(shí)的交通流量信息對(duì)于智能交通系統(tǒng)的成功部署至關(guān)重要,它可以為商業(yè)機(jī)構(gòu)和政府管理部門(mén)提供可靠的交通信息.短期交通流量預(yù)測(cè)是微觀層面的.交通流量的細(xì)微變化會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生很大影響.由于交通流量?jī)?nèi)部固有的隨機(jī)性和外部噪聲[1],例如事故、氣候、人工交通控制或探測(cè)器故障等,準(zhǔn)確識(shí)別交通流量的有效變化是關(guān)鍵且具有挑戰(zhàn)性的任務(wù).
對(duì)于交通流預(yù)測(cè)研究,已經(jīng)提出了多種短期交通流量預(yù)測(cè)方法.特別是傳統(tǒng)時(shí)間序列模型,如移動(dòng)平均模型、回歸模型、自回歸集成移動(dòng)平均(ARIMA,autoregressive integrated moving average)模型[2]、貝葉斯網(wǎng)絡(luò)[3]和隱馬爾科夫模型[4].此外,這些模型的一些變體及其組合,如Kohonen自回歸集成移動(dòng)平均(KARIMA)模型、指數(shù)可變自回歸集成移動(dòng)平均(ARIMAX)模型和季節(jié)性自回歸集成移動(dòng)平均(SARIMA)模型,已應(yīng)用于短期交通流量預(yù)測(cè).這些方法可以很好地處理固定和線性時(shí)間序列數(shù)據(jù).然而道路交通容易出現(xiàn)突發(fā)事件,因此實(shí)際交通流數(shù)據(jù)表現(xiàn)出復(fù)雜的變化,并不總是穩(wěn)定的,而存在非線性部分,造成許多機(jī)器學(xué)習(xí)方法,如深度置信網(wǎng)絡(luò)[5]、模糊邏輯[6]、卡爾曼濾波器(KF,Kalman filter)[7]、支持向量回歸(SVR,support vector regression)模型[8]和人工神經(jīng)網(wǎng)絡(luò)模型[9]等已被用于交通預(yù)測(cè).機(jī)器學(xué)習(xí)方法通過(guò)從數(shù)據(jù)中學(xué)習(xí)來(lái)建立經(jīng)驗(yàn)函數(shù).當(dāng)訓(xùn)練數(shù)據(jù)量足夠大時(shí),這些方法通常顯示出比經(jīng)典統(tǒng)計(jì)模型更優(yōu)的預(yù)測(cè)能力.特別是最近的深度神經(jīng)網(wǎng)絡(luò)模型,如堆疊自動(dòng)編碼器[10]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrentneuralnetwork)[11]、生成對(duì)抗網(wǎng)絡(luò)[12]和極限學(xué)習(xí)機(jī)[13]等進(jìn)一步提高了預(yù)測(cè)的準(zhǔn)確性,其中許多RNN被學(xué)者們?cè)O(shè)計(jì)開(kāi)發(fā)出來(lái)用于交通預(yù)測(cè),然而傳統(tǒng)的RNN具有梯度消失或爆炸的主要缺點(diǎn).為了克服這些問(wèn)題,LSTM網(wǎng)絡(luò)[14]應(yīng)運(yùn)而生.但是,經(jīng)典LSTM網(wǎng)絡(luò)擬合非線性和復(fù)雜函數(shù)的能力仍然存在不足.文章提出了一種堆疊LSTM網(wǎng)絡(luò)模型來(lái)預(yù)測(cè)數(shù)據(jù).該方法命名為Stacked-LongShort-termMemory(SLSTM).文章將SLSTM方法應(yīng)用于短期交通流預(yù)測(cè),在四個(gè)典型的基準(zhǔn)數(shù)據(jù)集上進(jìn)行了廣泛的實(shí)驗(yàn),并將SLSTM與經(jīng)典LSTM和常見(jiàn)模型進(jìn)行了比較.實(shí)驗(yàn)結(jié)果證實(shí)了該方法在短期交通流預(yù)測(cè)中的優(yōu)越性.
文章的貢獻(xiàn)總結(jié)如下.
(1)提出一種堆疊LSTM網(wǎng)絡(luò)模型,并應(yīng)用于短期交通流量預(yù)測(cè).
(2)通過(guò)實(shí)驗(yàn)來(lái)評(píng)估和驗(yàn)證所提出的方法,結(jié)果表明其預(yù)測(cè)性能優(yōu)于其他常用的機(jī)器學(xué)習(xí)方法.
SLSTM模型的工作流程如圖1所示.圖左方交通流數(shù)據(jù)St輸入到模型中,然后St會(huì)在堆疊結(jié)構(gòu)的LSTM網(wǎng)絡(luò)中訓(xùn)練,最后通過(guò)全連接層Dense來(lái)預(yù)測(cè)結(jié)果.

圖1 SLSTM模型的總體框圖
針對(duì)SLSTM模型,提出一種短期交通流預(yù)測(cè)方法.該方法采用多層堆疊的結(jié)構(gòu)來(lái)增加神經(jīng)網(wǎng)絡(luò)的深度,從而增強(qiáng)LSTM神經(jīng)網(wǎng)絡(luò)的非線性數(shù)據(jù)和復(fù)雜情況的處理能力,提高網(wǎng)絡(luò)對(duì)數(shù)據(jù)的預(yù)測(cè)能力.假設(shè)公路上的交通探測(cè)器在時(shí)間t記錄的交通流量表示為Xt?R,則探測(cè)器在過(guò)去一段時(shí)間T內(nèi)記錄的數(shù)據(jù)可表示為p=[Xt-T+1,…,xt].文章短期交通流預(yù)測(cè)的任務(wù)是通過(guò)窗口長(zhǎng)度為n的歷史時(shí)間序列數(shù)據(jù)St來(lái)學(xué)習(xí)一個(gè)映射函數(shù)f,來(lái)預(yù)測(cè)下一個(gè)時(shí)間點(diǎn)的交通流量,可表示為公式(1).

具體操作在下面算法中描述.

算法1 2 3 SLSTM在歷史時(shí)間T內(nèi)選擇適當(dāng)?shù)臍v史窗口長(zhǎng)度n,從而確定長(zhǎng)度為n的輸入序列St.輸入序列數(shù)據(jù)作為堆疊LSTM網(wǎng)絡(luò)的單步輸入在網(wǎng)絡(luò)中進(jìn)行訓(xùn)練.滾動(dòng)到下一個(gè)序列St+1進(jìn)行下一個(gè)預(yù)測(cè),返回步驟2,直到訓(xùn)練數(shù)據(jù)結(jié)束;最后生成預(yù)測(cè)模型函數(shù).
在過(guò)去的研究中,如楊[15]和ALTHELAYA等[16],增加神經(jīng)網(wǎng)絡(luò)深度的方法已被證明在具有挑戰(zhàn)性的預(yù)測(cè)問(wèn)題中獲得成功.研究通過(guò)堆疊增加LSTM網(wǎng)絡(luò)的深度,可以擬合更復(fù)雜的函數(shù),提高訓(xùn)練效率,獲得更高的準(zhǔn)確率.添加的層可以理解為重新組合從先前層中學(xué)習(xí)到的表示,并在高級(jí)抽象層上創(chuàng)建新的表示,但是如果網(wǎng)絡(luò)深度太深,也會(huì)造成梯度消失的問(wèn)題,因此在3.3節(jié)中將討論堆疊層數(shù)對(duì)結(jié)果的影響.
LSTM中的神經(jīng)元單元狀態(tài)和門(mén)的方程由(2)-(6)給出,其中Xt是LSTM神經(jīng)元的輸入;ht是LSTM神經(jīng)元的輸出,it,ft和ot是LSTM神經(jīng)元中門(mén)的三種狀態(tài),ct是LSTM神經(jīng)元的輸入狀態(tài),Wxi,Wxf,Wxc和Wxo是將xt連接到三個(gè)門(mén)和神經(jīng)元輸入的權(quán)重矩陣,Whi,Whf,Whc和Who是將ht-1連接到三個(gè)門(mén)和神經(jīng)元輸入的權(quán)重矩陣,bi,bf,b0和b0是三個(gè)門(mén)和單元輸入的偏差,σi,σf和σ0代表sigmoid函數(shù),σc和σh表示tanh函數(shù).

通過(guò)將LSTM單元堆疊在一起來(lái)增加LSTM神經(jīng)網(wǎng)絡(luò)的深度,本質(zhì)上堆疊的LSTM網(wǎng)絡(luò)是將一個(gè)LSTM單元的輸出輸入另一個(gè)LSTM單元.例如二層堆疊LSTM網(wǎng)絡(luò)如圖2所示.

圖2 二層堆疊LSTM網(wǎng)絡(luò)結(jié)構(gòu)
荷蘭阿姆斯特丹4條高速公路A1、A2、A4和A8的交通流量數(shù)據(jù)被廣泛用于交通流量預(yù)測(cè),如ZHOU等[17]和WANG等[18]的研究中用其來(lái)驗(yàn)證所提出的方法.數(shù)據(jù)是通過(guò)位于4條高速公路上的MONICA探測(cè)器的4個(gè)探測(cè)點(diǎn)收集的.數(shù)據(jù)時(shí)間范圍為2010年5月20日至2010年6月24日,每分鐘統(tǒng)計(jì)1次,統(tǒng)計(jì)該分鐘通過(guò)的車(chē)輛數(shù)換算為該分鐘每小時(shí)的車(chē)流量.這4條高速公路具有代表性,具體情況如下.
A1是邊境公路.歐洲第一條占用率超過(guò)3車(chē)道的公路.車(chē)道占用率瞬間變化很大,預(yù)測(cè)難度大.
A2是荷蘭最繁忙的高速公路之一,容易出現(xiàn)擁堵,可用于驗(yàn)證預(yù)測(cè)方法應(yīng)對(duì)交通擁堵的有效性.
A4為國(guó)內(nèi)標(biāo)準(zhǔn)國(guó)道,車(chē)流量較為適中.
A8為高速公路駁接線,全長(zhǎng)約10 km,驗(yàn)證方法對(duì)交通突發(fā)事件預(yù)測(cè)的有效性.
文章以10 min的時(shí)間間隔從數(shù)據(jù)集中選取交通流量數(shù)據(jù)進(jìn)行實(shí)驗(yàn).交通流數(shù)據(jù)序列共有5000個(gè)時(shí)間點(diǎn),80%的數(shù)據(jù)用于訓(xùn)練,20%的數(shù)據(jù)用于測(cè)試.
文章采用了2個(gè)指標(biāo)來(lái)評(píng)估交通流預(yù)測(cè)的性能,它們?cè)赯HOU等[17]和WANG等[18]研究中也得到了應(yīng)用.一種是平均絕對(duì)百分比誤差(MAPE),另一種是均方根誤差(RMSE),可按下式(7)和(8)計(jì)算.

因?yàn)榇嬖跁r(shí)間周期,文章分別從A1、A2、A4和A8的4 000個(gè)訓(xùn)練時(shí)間點(diǎn)中獲取交通流量數(shù)據(jù),選取24小時(shí)(144個(gè)時(shí)間點(diǎn))的數(shù)據(jù)作為歷史數(shù)據(jù)窗口,也就是n=144作為當(dāng)前序列st的長(zhǎng)度.因此LSTM神經(jīng)元的輸入形狀是Shape=(1,144).然后將LSTM單元的隱藏層的維度設(shè)置為64,Epoch數(shù)設(shè)置為100,Bath大小設(shè)置為40.網(wǎng)絡(luò)訓(xùn)練的decayed_learning_rate更新由公式(9)計(jì)算.

其中l(wèi)earning_rate=0.1,decaysteps=80和decay_rate=0.96.
網(wǎng)絡(luò)訓(xùn)練的損失函數(shù)設(shè)置為平均絕對(duì)誤差,定義為等式(10).

模型通過(guò)將LSTM單元堆疊在一起來(lái)增加LSTM網(wǎng)絡(luò)的深度,以提高訓(xùn)練效率并獲得更高的準(zhǔn)確率.為了檢驗(yàn)堆疊層數(shù)對(duì)預(yù)測(cè)效果的影響,表1給出了不同堆疊層數(shù)的性能數(shù)據(jù),其中堆疊層數(shù)分別取n=1、2、3、4.從表中數(shù)據(jù)得出2層堆疊的LSTM在A1、A2、A4和A8中均實(shí)現(xiàn)了最佳預(yù)測(cè)準(zhǔn)確性.

表1 不同堆疊層數(shù)的LSTM網(wǎng)絡(luò)結(jié)構(gòu)預(yù)測(cè)性能對(duì)比
為了分析SLSTM模型在整體預(yù)測(cè)中的優(yōu)缺點(diǎn),在一些傳統(tǒng)和先進(jìn)的方法中使用相同的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),然后根據(jù)MAPE和RMSE的值比較這些方法與SLSTM方法的優(yōu)劣.有代表性的比較方法如下,歷史平均模型(HA)、ARIMA、SVR、KF、LSTM共5種.各種方法的MAPE和RMSE的值分別如表2和表3所示.從表中可以得出結(jié)論,SLSTM方法比其他方法預(yù)測(cè)結(jié)果更準(zhǔn)確.

表2 不同預(yù)測(cè)方法的MAPE值對(duì)比

表3 不同預(yù)測(cè)方法的RMSE值對(duì)比
6種方法在4條高速公路上的預(yù)測(cè)結(jié)果對(duì)比,SLSTM模型在實(shí)驗(yàn)中取得了最優(yōu)的結(jié)果.此外,圖3和圖4顯示了與HA、ARIMA、SVR、KF和LSTM模型相比,SLSTM模型在每條高速公路上的MAPE和RMSE降低百分比.從圖3可以看出SLSTM方法的預(yù)測(cè)誤差的平均MAPE在4條高速公路上與5種方法相比分別降低:30.52%、20.88%、11.10%、6.49%和5.53%.同樣,如圖4所示,SLSTM方法的預(yù)測(cè)誤差的平均RMSE與4條高速公路上的5種方法相比分別降低:34.18%、23.97%、16.04%、13.96%和4.31%.

圖3 SLSTM模型對(duì)比其他方法的MAPE降低百分比

圖4 SLSTM模型與其他方法的RMSE降低百分比
為了說(shuō)明改進(jìn)的程度,文章將SLSTM方法與上述方法進(jìn)行了比較,在4條公路上MAPE和RMSE整體降低值的分布圖如圖5所示.實(shí)驗(yàn)結(jié)果對(duì)比分析表明,文章提出的預(yù)測(cè)方法優(yōu)于其他常用方法,也充分證明了所提出的方法在短期交通流預(yù)測(cè)中的有效性.

圖5 SLSTM模型對(duì)比其他方法在4條公路上降低值的分布
文章提出了一種短期交通流預(yù)測(cè)方法,以提高預(yù)測(cè)交通流時(shí)序的準(zhǔn)確性,利用堆疊的網(wǎng)絡(luò)結(jié)構(gòu)增加LSTM神經(jīng)網(wǎng)絡(luò)的深度,更好地?cái)M合復(fù)雜的線性和非線性函數(shù),同時(shí)結(jié)合交通流時(shí)間序列具有周期的性質(zhì),選擇最合適的歷史窗口長(zhǎng)度數(shù)據(jù)作為模型的輸入,數(shù)據(jù)經(jīng)過(guò)多層堆疊LSTM網(wǎng)絡(luò)進(jìn)行訓(xùn)練生成交通流預(yù)測(cè)函數(shù).在荷蘭阿姆斯特丹4條典型高速公路的基準(zhǔn)數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn),結(jié)果表明所提出的方法與常用的機(jī)器學(xué)習(xí)方法相比,MAPE平均提高了14.90%,RMSE平均提高了18.49%,證明了該方法的有效性和優(yōu)越性.