趙恒輝,黃德啟,曾 蓉,於積榮
(新疆大學(xué)電氣工程學(xué)院,新疆 烏魯木齊830047)
隨著城市化進程加快以及居民出行量劇增,交通問題也隨之突出,交通問題需要智能交通系統(tǒng)的監(jiān)控和保障。智能交通系統(tǒng)將多種技術(shù)結(jié)合并運用于龐大的交通運輸管理體系,從而對交通運行狀況進行合理的調(diào)度[1-2]。準(zhǔn)確的交通流預(yù)測對于道路通行發(fā)揮重要的作用,通過對道路交通流的預(yù)測,道路監(jiān)管部門能夠及時得到反饋,從而對道路通行進行合理調(diào)控。
現(xiàn)有的交通流預(yù)測方法[3]可分為基于參數(shù)方法、非參數(shù)方法和組合模型預(yù)測方法。參數(shù)模型大多基于經(jīng)驗得到固定結(jié)構(gòu)的模型,主要包括時間序列法、卡爾曼濾波法等。韓超等[4]基于ARIMA模型對時間序列進行實時自適應(yīng)預(yù)測算法。王瑩等[5]分析交通流的周期性波動規(guī)律,構(gòu)建了SARIMA預(yù)測模型。Kumar S V[6]為克服ARIMA局限性,提出了基于卡爾曼濾波的預(yù)測模型。非參數(shù)的方法主要包括機器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的方法。傅成紅等[7]針對傳統(tǒng)回歸模型擬合數(shù)據(jù)能力的不足,提出了基于深度學(xué)習(xí)回歸機預(yù)測模型。Liu等[8]針對交通流隨機性的特點,研究了K近鄰模型的最近鄰數(shù)對不等時間間隔交通流數(shù)據(jù)預(yù)測性能的影響。組合模型是結(jié)合不同模型的特點和優(yōu)勢建立的模型。馬秋芳[9]利用改進PSO算法優(yōu)化BP網(wǎng)絡(luò)參數(shù)后進行交通流預(yù)測。Liu等[10]采用K近鄰法重構(gòu)出與當(dāng)前交通流相似的時間序列,并利用SVR模型進行預(yù)測。成云等[11]將差分自回歸滑動平均(ARIMA)與小波神經(jīng)網(wǎng)絡(luò)(WNN)進行組合預(yù)測。Wang等[12]利用貝葉斯方法優(yōu)化支持向量回歸的參數(shù),提出一種BO-SVR結(jié)合的預(yù)測模型。深度學(xué)習(xí)[13-14]的發(fā)展和不斷成熟讓越來越多的研究者轉(zhuǎn)向?qū)⑵鋺?yīng)用于交通流預(yù)測。Shuai等[15]提出差分進化算法(DE)與長短時記憶網(wǎng)絡(luò)(LSTM)組合的預(yù)測模型。張陽等[16]為克服非穩(wěn)定交通流狀態(tài)下預(yù)測精度不高,提出一種改進小波包分析和長短時記憶神經(jīng)網(wǎng)絡(luò)組合(IWPA-LSTM)的短時交通流預(yù)測模型。呂田等[17]提出一種基于SDZ-GRU的多特征交通流預(yù)測方法。
上述預(yù)測方法僅利用了預(yù)測時刻之前的交通流數(shù)據(jù),沒能進一步挖掘與預(yù)測時刻之后交通流數(shù)據(jù)的聯(lián)系,并且上述模型也未能充分考慮各個時刻交通流特征對預(yù)測時刻的影響程度。因此,本文結(jié)合交通流的時空特性,提出了一種將注意力機制[18-19]與雙向長短時記憶網(wǎng)絡(luò)(Bi-LSTM)組合的預(yù)測模型,利用Bi-LSTM網(wǎng)絡(luò)關(guān)聯(lián)歷史時刻與將來時刻交通流信息,引入注意力機制計算不同時刻輸入的重要性,并通過實時交通數(shù)據(jù)進行實驗,證明該模型預(yù)測的準(zhǔn)確性。
傳統(tǒng)的RNN神經(jīng)網(wǎng)絡(luò)在實際應(yīng)用中存在梯度消失和爆炸問題,為此引入了LSTM循環(huán)神經(jīng)網(wǎng)絡(luò),它使用一個記憶模塊代替?zhèn)鹘y(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏層節(jié)點,相比于RNN網(wǎng)絡(luò)具有了記憶功能,它由一個儲存時間狀態(tài)的記憶單元以及輸入門、遺忘門、輸出門三個門控單元組成。其記憶模塊各個門控單元在t時刻的計算公式如下
it=σ(wxixt+wsist-1+wcict-1+bi)
(1)
ft=σ(wxfxi+wsfst-1+wcfct-1+bf)
(2)
ot=σ(wxoxt+wsost-1+wcoct-1+bo)
(3)
(4)
(5)
st=ot°tanh(ct)
(6)
σ(·)為非線性sigmoid激活函數(shù),其數(shù)學(xué)形式為(7)式;tanh(·)為雙曲正切函數(shù),其數(shù)學(xué)形式為(8)式。
(7)
(8)
在進行交通流預(yù)測時,由于傳統(tǒng)的LSTM神經(jīng)網(wǎng)絡(luò)只使用了歷史時刻的交通流數(shù)據(jù)信息來預(yù)測下一時刻的交通流,沒有考慮到預(yù)測時刻之后的數(shù)據(jù)信息,而關(guān)聯(lián)預(yù)測時刻前后的交通流變化可以有效提高預(yù)測精度。因此,為了引入更多信息,從而對輸入數(shù)據(jù)的表達(dá)更加細(xì)粒度化,本文選用Bi-LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)作為基礎(chǔ)模型。
Bi-LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)是兩層LSTM網(wǎng)絡(luò)的疊加,第一層從左側(cè)獲取輸入并執(zhí)行前向計算;第二層從右側(cè)獲取輸入并執(zhí)行后向計算。在LSTM的基礎(chǔ)上,結(jié)合輸入在兩個方向上的交通流信息,對于t時刻輸出,前向LSTM具有t時刻及t時刻之前的交通流信息,后向LSTM具有t時刻及t時刻之后的交通流信息,在訓(xùn)練時,模型進行雙向預(yù)測,最后將得到的兩個結(jié)果融合作為輸出。其模型結(jié)構(gòu)圖如圖1。
當(dāng)模型獲取輸入xt∈n×d時(n為樣本數(shù),d為輸入個數(shù)),Bi-LSTM網(wǎng)絡(luò)的前向隱藏狀態(tài)n×h和后向隱藏狀態(tài)n×h(h為隱藏單元個數(shù))分別通過LSTM網(wǎng)絡(luò)由式(9)和式(10)計算而得
(9)
(10)
yt=htwhy+by
(11)
式中:why、by為模型訓(xùn)練的權(quán)重參數(shù)。
注意力機制是一種帶權(quán)池化方法,通過查詢(Query)到鍵(Key)和值(Value)的映射,對具有長期依賴關(guān)系的序列實現(xiàn)更強的捕捉能力,并且能夠減少網(wǎng)絡(luò)在訓(xùn)練過程中伴隨的信息損失。本文將自注意力機制(Self-attention)引入到Bi-LSTM網(wǎng)絡(luò)中,通過自注意力機制計算不同時刻交通流輸入特征的重要性,繼而對輸入特征給予不同的權(quán)重,突出一些重要特征,從而提高預(yù)測準(zhǔn)確性,注意力機制的計算公式如下
εt=tanh(Wwht+bw)
(12)
(13)
s=∑tαtht
(14)
其中,Ww,bw,uw是訓(xùn)練模型設(shè)置的參數(shù),uw對應(yīng)于自注意力機制中的Query;εt為t時刻Bi-LSTM模型的隱藏狀態(tài)ht得到的注意力評分值,其對應(yīng)于自注意力機制中的Key;αt為每個時間步隱藏狀態(tài)ht對應(yīng)的注意力權(quán)重系數(shù),隱藏狀態(tài)ht對應(yīng)于自注意力機制中的Value;s為最終加權(quán)求和得到的特征向量。
本文提出融合自注意力機制的Bi-LSTM網(wǎng)絡(luò)的預(yù)測模型,模型結(jié)構(gòu)如圖2。該模型包括輸入層、兩層Bi-LSTM隱藏層、一層Attention層和一層全連接層。經(jīng)過預(yù)處理的交通流二維數(shù)據(jù)矩陣經(jīng)過Bi-LSTM的輸入層輸出到Bi-LSTM隱藏層、經(jīng)過兩層隱藏層中LSTM單元雙向計算將結(jié)果輸入到Attention層,在Attention層,計算Bi-LSTM隱藏層輸出作為輸入對應(yīng)的注意力評分,之后進行歸一化得到注意力權(quán)重,最后將權(quán)重與當(dāng)前輸入加權(quán)融合輸入到全連接層中,計算得到最后的預(yù)測值y。
基于時空注意力Bi-LSTM模型實現(xiàn)的整體思路如下:
步驟1:數(shù)據(jù)預(yù)處理。通過插值法擬合缺失值進行填充,剔除異常值,并對數(shù)據(jù)進行歸一化處理。
步驟2:特征提取。將預(yù)處理過的交通流數(shù)據(jù)構(gòu)建成數(shù)據(jù)矩陣的形式輸入到Bi-LSTM模型中,其Bi-LSTM網(wǎng)絡(luò)工作如下:
1)設(shè)2n個時間步長的交通流序列輸入為(xt-n,…,xt,…,xt+n),將其以不同方向輸入到Bi-LSTM模型中。
步驟3:特征增強。將Bi-LSTM網(wǎng)絡(luò)的隱層輸出ht輸入到自注意力機制層,進行權(quán)重分配,之后加權(quán)求和輸入到全連接層,計算t時刻的輸出yt。
步驟4:對輸出值yt進行反歸一化處理得到真實值。
步驟5:結(jié)果對比。將該模型的預(yù)測結(jié)果與其它模型進行對比分析。
本文實驗使用美國加州開放的PeMs交通數(shù)據(jù)庫公布的數(shù)據(jù)。該系統(tǒng)將道路的實時信息以30s一次頻率向加州大學(xué)伯克利分校的計算機工作站發(fā)送數(shù)據(jù),之后數(shù)據(jù)經(jīng)過處理,聚合成時間間隔為5分鐘的形式儲存在數(shù)據(jù)庫中。
選取的實驗路段如圖3,該路段包括具有上下游關(guān)系的9個檢測點,依次是VDS400814、VDS407475、VDS400078、VDS401542、VDS401111、VDS401056、VDS401095、VDS401110和VDS400801,采集到的數(shù)據(jù)是各檢測點在2019年3月1日至3月31日的交通流數(shù)據(jù),由于交通流以每5分鐘時間間隔聚合,則日交通流量序列共有288個樣本,每個VDS在31天共有8298個樣本,本文通過訓(xùn)練各檢測點前25天的交通流數(shù)據(jù),對目標(biāo)檢測點最后一天的交通流進行預(yù)測。
圖4為目標(biāo)檢測點及其上下游相鄰兩個檢測點從3月1日到3月8日的交通流數(shù)據(jù),從圖中交通流的變化規(guī)律可以看出,各檢測點的交通流在相同時間段的變化具有相似性,表明交通流數(shù)據(jù)具有時空相關(guān)性,因此本文基于交通流的時空特性構(gòu)建時空數(shù)據(jù)矩陣。
通過引入目標(biāo)檢測點及相鄰檢測點交通流數(shù)據(jù),構(gòu)建了一種基于時間維度和空間維度的二維數(shù)據(jù)矩陣X。定義p個檢測點在給定的連續(xù)n個時間段的交通流數(shù)據(jù)矩陣的形式如下
(15)
其中,xi,t-n表示第i個檢測點在第(t-n)時刻的交通流,該交通流數(shù)據(jù)矩陣的每一行表示相同時間段下不同檢測點的交通流集合,將各行表示為一個時間序列的形式,根據(jù)這些給定的歷史時間序列去預(yù)測目標(biāo)檢測點在某一時刻的交通流量。
本文采用平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)來評估模型的有效性。評價指標(biāo)的值越小,則模型的預(yù)測性能越好,其各自的數(shù)學(xué)表達(dá)式為式(16)和式(17)
(16)
(17)
本文將滑動窗口數(shù)設(shè)置為9,即使用9個時間步長的歷史數(shù)據(jù)預(yù)測下一時刻的值。經(jīng)過多次實驗,Bi-LSTM網(wǎng)絡(luò)的參數(shù)設(shè)置為:輸入層數(shù)為1,輸入層神經(jīng)元個數(shù)為9,隱含層數(shù)為2,隱含層神經(jīng)元個數(shù)為24,激勵函數(shù)選用tanh激活函數(shù),反向傳播過程中優(yōu)化器采用Adam算法,學(xué)習(xí)率為0.001。為了提高模型的泛化能力,防止過擬合,加入dropout正則化,其參數(shù)設(shè)置為0.2。選取該路段中間檢測點VDS401111在3月31日的交通流量進行分析,預(yù)測結(jié)果如圖5。
圖5中,基于時空注意力Bi-LSTM模型的預(yù)測結(jié)果整體能夠較好的擬合交通流的變化趨勢,對于某些高峰時段交通流,該模型也能夠反映車流的變化規(guī)律。實驗中使用未引入注意力機制的Bi-LSTM模型與之對比,預(yù)測結(jié)果如圖6,其模型的參數(shù)設(shè)置與本文建立模型保持一致。圖6中,單純使用Bi-LSTM模型大致能夠滿足交通流的變化,但是在某些時間段,預(yù)測輸出偏離真實值,在時間段[100,150]內(nèi),預(yù)測輸出波動較為平緩,對比在時間段150左右和250左右擬合情況可以看出,本文提出的預(yù)測方法相對于該模型更好的描述了交通流的變化趨勢。
該模型與其它模型預(yù)測性能的評價指標(biāo)結(jié)果見表1,由表1可知,基于時空注意力Bi-LSTM模型相比于Bi-LSTM模型,其MAE指標(biāo)降低了3.80%,RMSE指標(biāo)降低了2.72%,表明引入注意力機制的可以提高預(yù)測精度。
為評估該模型的預(yù)測性能,將該模型還與傳統(tǒng)LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)進行對比,其預(yù)測結(jié)果如圖7。其中,LSTM模型參數(shù)設(shè)置為:隱藏層數(shù)為2,隱藏層單元數(shù)為24,采用Adam優(yōu)化算法,學(xué)習(xí)率為0.001。圖7中,基于LSTM模型的預(yù)測結(jié)果在時間段150左右的交通流預(yù)測值普遍低于真實值,沒能很好的擬合該時間段交通流的變化規(guī)律。同時由表1可知,Bi-LSTM模型相比于LSTM模型,其MAE指標(biāo)降低了3.82%,RMSE指標(biāo)降低了1.92%,這表明關(guān)聯(lián)預(yù)測時刻前后的交通流數(shù)據(jù)信息可以更好地反映交通流變化規(guī)律。而基于時空注意力Bi-LSTM模型相比于LSTM模型,其MAE指標(biāo)降低了7.48%,RMSE指標(biāo)降低了4.61%。綜合上述結(jié)果表明,本文提出的預(yù)測方法在反映交通流的變化規(guī)律上優(yōu)于上述兩個模型,證明該預(yù)測模型有效提高了預(yù)測精度。
表1 模型預(yù)測性能比較
同時,本文還選取了傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)模型和SVR模型作對比。其各個模型的預(yù)測結(jié)果為圖8和圖9。其中SVR模型采用的核函數(shù)為高斯核函數(shù)。從擬合情況可以看出,本文提出的方法在預(yù)測性能上明顯優(yōu)于傳統(tǒng)模型,由表1可知,融合注意力機制的Bi-LSTM相對于SVR模型,其RMSE指標(biāo)降低了23.87%,MAE指標(biāo)降低了21.62%,這表明深度學(xué)習(xí)模型對于提取時間序列的特征效果更好。
1)本文利用Bi-LSTM網(wǎng)絡(luò)的雙向計算去挖掘預(yù)測時刻前后的交通流變化規(guī)律,將自注意力機制引入到模型中,計算不同時刻輸入特征的重要程度,形成具有概率分布的特征表示,從而有效提高預(yù)測精度。
2)通過使用交通流數(shù)據(jù)進行仿真,實驗結(jié)果表明,本文建立的預(yù)測模型整體能夠較好的擬合實際值,將該模型與未引入注意力機制的Bi-LSTM和單向LSTM相比,其MAE誤差指標(biāo)分別降低3.80%和7.48%;RMSE誤差指標(biāo)分別降低2.72%和4.61%,證明了該模型對交通流預(yù)測有較好的預(yù)測性能,能夠為輔助預(yù)測提供良好決策。