王慶榮,田可可,朱昌鋒,魏怡萌
1.蘭州交通大學(xué) 電子與信息工程學(xué)院,蘭州 730070
2.蘭州交通大學(xué) 交通運(yùn)輸學(xué)院,蘭州 730070
隨著社會經(jīng)濟(jì)的發(fā)展及人們生活水平的日益提高,交通擁堵、環(huán)境污染和能源消耗等問題也隨之而來。實(shí)時、可靠的交通流預(yù)測可為出行人員提供道路擁堵狀況,以便其選擇合適的出行路線,從而減少出行延誤,最大限度地利用交通資源,提高城市交通的智能化水平[1-3]。
近年來國內(nèi)外學(xué)者利用各學(xué)科領(lǐng)域的方法對短時交通流預(yù)測進(jìn)行研究,傳統(tǒng)的短時交通流研究方法有卡爾曼濾波模型、歷史平均模型、時間序列模型、非參數(shù)回歸模型、混沌理論模型等。交通流由于受多種外部因素的影響,交通流數(shù)據(jù)具有隨機(jī)性和不確定性,傳統(tǒng)的模型普遍存在實(shí)時性差、預(yù)測精度不高的問題。隨著研究的深入,學(xué)者們相繼提出組合模型的預(yù)測,將兩種模型的優(yōu)點(diǎn)結(jié)合來提高短時交通流的預(yù)測準(zhǔn)確率。羅文慧等[4]結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與支持向量回歸分類器的特點(diǎn),提出一種組合預(yù)測模型并提高了準(zhǔn)確率,但該模型未充分考慮外部因素對交通流預(yù)測的影響。Zhang等[5]考慮了傳感器的選擇,結(jié)合混沌理論和模擬退火算法對交通流量進(jìn)行預(yù)測,模型優(yōu)化了相關(guān)向量機(jī)的核心參數(shù),卻沒有考慮交通流數(shù)據(jù)的隨機(jī)性。白偉華等[6]通過異常值識別擴(kuò)展了卡爾曼濾波,使其能對噪聲進(jìn)行識別和過濾,但其對交通流特征挖掘不充分。Qian等[7]采用相空間重構(gòu)方法對采集的交通數(shù)據(jù)進(jìn)行處理,雖用遺傳算法優(yōu)化了初始參數(shù),但不同遺傳操作參數(shù)的設(shè)置對優(yōu)化效果的影響不同。以上幾種模型雖提高了預(yù)測精度,但由于傳統(tǒng)模型固有的缺陷,仍不能滿足短時交通流預(yù)測的需求,而LSTM的提出解決了這一難題。LSTM在特征提取時具有強(qiáng)大的魯棒性和靈活性,LSTM不僅能提取交通流的時序特征,還能將隨機(jī)外部因素納入考慮。Lu等[8]綜合了LSTM 和自回歸積分滑動平均模型(autoregressive integrated moving average model,ARIMA)模型的優(yōu)點(diǎn)對短時流量進(jìn)行預(yù)測,該方法繼承了LSTM在非線性擬合和時間序列分析方面的優(yōu)點(diǎn)。李彤偉等[9]結(jié)合路網(wǎng)交通時空分析對交通流數(shù)據(jù)進(jìn)行預(yù)測,雖然取得了較好的預(yù)測效果,但其對輸入數(shù)據(jù)的質(zhì)量有較高的要求。Zhao 等[10]提出了一種基于深層LSTM 遞歸神經(jīng)網(wǎng)絡(luò)和線性回歸模型的TM預(yù)測方法,但未考慮交通流數(shù)據(jù)處理對預(yù)測結(jié)果的影響。Wang等[11]提出一種深度雙向長短時記憶網(wǎng)絡(luò)模型,在交通流時空特征提取上有獨(dú)特優(yōu)勢,卻忽略了相鄰路段交通流的影響。呂鮮等[12]利用去噪自編碼提取交通數(shù)據(jù)核心特征對LSTM 預(yù)測模型進(jìn)行改進(jìn),使得模型在部分?jǐn)?shù)據(jù)缺失和錯誤的情況下仍然具備良好的魯棒性,但需要消耗巨大的計(jì)算資源。桂智明等[13]引入了注意力機(jī)制,雖提高了交通流的預(yù)測精度,但考慮的因素單一。
綜上所述,目前出現(xiàn)的短時交通流預(yù)測算法大都考慮常態(tài)下的對短時交通流的預(yù)測,并沒有考慮天氣、節(jié)假日等外部因素對預(yù)測結(jié)果的影響。如惡劣的天氣會影響人們的出行規(guī)律,從而改變交通流的分布特性;節(jié)假日會迎來出行高峰,給城市道路交通帶來了壓力。因此,本文結(jié)合天氣、節(jié)假日等因素對交通流特性進(jìn)行分析,選擇長短時記憶網(wǎng)絡(luò)(LSTM)并引入注意力機(jī)制對短時交通流進(jìn)行預(yù)測。
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)不同于前饋式的神經(jīng)網(wǎng)絡(luò),其引入了定向循環(huán)機(jī)制。RNN可隨著時間的變化動態(tài)地調(diào)整自身的網(wǎng)絡(luò)狀態(tài)不斷進(jìn)行循環(huán)傳遞,并且RNN 還可接受廣泛的序列信息結(jié)構(gòu)作為輸入。RNN的記憶功能使其能夠?qū)π蛄袛?shù)據(jù)進(jìn)行建模,但循環(huán)神經(jīng)網(wǎng)絡(luò)模型的基本結(jié)構(gòu)過于簡單,隨著循環(huán)神經(jīng)網(wǎng)絡(luò)模型規(guī)模的增大,對序列數(shù)據(jù)的記憶能力就會逐漸下降,當(dāng)序列信號在網(wǎng)絡(luò)中經(jīng)過多次傳遞后,會使網(wǎng)絡(luò)喪失連接先前信息的能力,從而引起梯度消失或梯度爆炸,RNN的梯度消失原理如圖1所示。
為了保存長期序列信息,減少隨著時間傳播而衰減的信息,Hochreiter在1997年提出了LSTM神經(jīng)網(wǎng)絡(luò)。
長短時記憶網(wǎng)絡(luò)引入了門控機(jī)制來控制信息傳遞的路徑,門的作用是允許LSTM的記憶單元長時間存儲和訪問序列信息,從而減少梯度消失問題[14-15]。輸入門保持關(guān)閉(即激活函數(shù)接近0),則新的輸入不會進(jìn)入網(wǎng)絡(luò),網(wǎng)絡(luò)中的記憶單元會一直保持開始的激活狀態(tài)。通過對輸入門的開關(guān)控制,可以控制循環(huán)神經(jīng)網(wǎng)絡(luò)模型什么時候接受新的數(shù)據(jù)、什么時候拒絕新的數(shù)據(jù)接入,于是梯度信息就隨著時間的傳遞而被保留下來,LSTM的儲存單元架構(gòu)如圖2所示。
輸入門(input gate)決定哪些新輸入的信息允許被更新,或者被保存到記憶單元中。遺忘門(forget gate)用于控制記憶單元是否記住或丟棄之前的狀態(tài)。輸出門(output gate)決定記憶單元中哪些信息允許被輸出。LSTM單個神經(jīng)元在t時刻的計(jì)算如下:
式中,ct為t時刻記憶細(xì)胞的更新狀態(tài);it、ft、ot、ct、ht分別表示在t時刻的輸入門、遺忘門、輸出門、記憶細(xì)胞以及隱層的輸出;xt為t時刻的輸入;ht-1、ct-1分別表示隱層及記憶細(xì)胞在t-1 時刻的輸出;wxc、whc、wxi、whi、wci、wxf、whf、wcf、wxo、who、wco為權(quán)重參數(shù);bc、bi、bf、bo為偏置參數(shù);σ(· )及tanh(· )為激活函數(shù);“°”為兩個向量的乘積。
注意力機(jī)制是最初由Treisman等提出的,通過模擬人腦注意力的特點(diǎn),以概率分布的思想捕捉關(guān)鍵信息,注意力機(jī)制能夠?qū)W⒂诰植啃畔?,對一些不必要的信息忽略不?jì)[16-17]。本文考慮到交通流量會受到天氣、節(jié)假日等各種外部因素的影響,這些外部因素對預(yù)測時交通流量的影響程度不同,因此本文引入注意力機(jī)制層來自動捕獲不同輸入特征,以概率分布的思想對重要的信息分布足夠的權(quán)重,以此來提升交通流的預(yù)測精度。本文所采用的注意力機(jī)制的計(jì)算公式為:
式中,et表示t時刻由輸出向量ht所決定的注意力概率分布值;αt為t時刻的權(quán)重系數(shù);Qt表示輸出值;we和be為權(quán)重和偏置。
交通流數(shù)據(jù)具有一定的時變性、非線性及周期穩(wěn)定性,在實(shí)際環(huán)境中,交通流由于受到各種外部因素的影響,會導(dǎo)致實(shí)驗(yàn)所采集到的交通流數(shù)據(jù)不準(zhǔn)確。通過分析交通流的數(shù)據(jù)特點(diǎn),有助于模型的進(jìn)一步確定。總結(jié)以往的實(shí)驗(yàn)分析,交通流數(shù)據(jù)具有以下特點(diǎn)。
(1)交通流數(shù)據(jù)具有周期性。交通流數(shù)據(jù)具有一定的規(guī)律,周一至周五期間,交通流有明顯的上下班高峰,相比較于周六、周日交通流波動較大,周六、周日的交通流狀態(tài)則較平緩。
(2)交通流數(shù)據(jù)具有時空特性。當(dāng)前t時刻的交通流不僅受前一段時間交通流量的影響,還受當(dāng)前時刻不同路段交通流量的影響。
(3)交通流數(shù)據(jù)受天氣因素的影響。交通流數(shù)據(jù)具有復(fù)雜的特性,交通流量也受到多種外部因素的影響。天氣因素影響著人們的出行率,暴雨、暴雪、暴風(fēng)、冰雹、沙塵暴及大霧等惡劣天氣期間,道路情況不確定,路面由于惡劣天氣可能造成濕滑、結(jié)冰、能見度降低等,這時交通流量會驟減;中雨、中雪的情況下,一些人會選擇推遲行程,這種情況會影響一部分交通流量;小雨、小雪對交通流量的影響較小。本文將這些外部因素劃分為不同的等級嚴(yán)重、重度、輕度、無影響,根據(jù)天氣狀況將天氣狀態(tài)量化如下:
(4)在節(jié)假日期間,交通流數(shù)據(jù)具有明顯的波動。節(jié)假日會迎來出行的高峰期,很多人選擇在節(jié)假日期間外出旅行及回家探親,此時會造成交通流量急劇增加,本文將分為工作日及節(jié)假日。將所有外部因素特征進(jìn)行定量轉(zhuǎn)換以作為模型的輸入,根據(jù)是否為節(jié)假日將節(jié)假日狀態(tài)量化如下:
由于交通流的變化受天氣、節(jié)假日等外部因素的影響,呈現(xiàn)隨機(jī)性。因此,本文融合外部因素對短時交通流進(jìn)行預(yù)測。
首先,將采集到的原始數(shù)據(jù)(交通流數(shù)據(jù)和天氣數(shù)據(jù))進(jìn)行預(yù)處理,包括數(shù)據(jù)缺失值的補(bǔ)全、去噪、標(biāo)準(zhǔn)化。將預(yù)處理后的數(shù)據(jù)構(gòu)造數(shù)據(jù)集,作為訓(xùn)練模型的輸入,模型的參數(shù)設(shè)置如表1所示。
表1 參數(shù)設(shè)置Table 1 Parameter settings
模型的輸入樣本訓(xùn)練集記為xt,交通流數(shù)據(jù)集記為a,天氣數(shù)據(jù)集記為w,是否為節(jié)假日記為h,則xt表示為:
式中,w表示不同天氣狀態(tài)下的數(shù)據(jù),1 表示嚴(yán)重,2 表示重度,3 表示輕度,4 表示無影響,h表示是否為節(jié)假日,0表示為工作日,1表示為節(jié)假日。
假設(shè)隨機(jī)選取一塊路段進(jìn)行預(yù)測,已知該路段設(shè)有S個地感線圈監(jiān)測點(diǎn),其中每個監(jiān)測點(diǎn)收集了連續(xù)T個時刻的交通流數(shù)據(jù),那么xts則表示第s個監(jiān)測點(diǎn)在t時刻的交通流量,將原始一維的交通流數(shù)據(jù)轉(zhuǎn)化為二維的交通流量矩陣記為F,則有F=(xt1,xt2,…,xts),那么S個監(jiān)測點(diǎn)T個時刻的交通流量輸入矩陣為:
利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)根據(jù)歷史數(shù)據(jù)提取交通流的空間特性,本文采用2層的卷積神經(jīng)網(wǎng)絡(luò)。使用卷積層來提取交通流數(shù)據(jù)的局部特征,為了保留交通流原始數(shù)據(jù)的真實(shí)性,本文僅用CNN的卷積層對數(shù)據(jù)進(jìn)行特征提取,不用池化層壓縮數(shù)據(jù),卷積核的大小設(shè)置為3。
根據(jù)交通流數(shù)據(jù)的特點(diǎn)結(jié)合天氣、節(jié)假日等外部因素的影響,本文提出一種融合多因素的短時交通流預(yù)測模型(attention-based CNN-LSTM,CLA)。如圖3所示,CLA 模型具有四層結(jié)構(gòu)。第一層利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)提取交通流的空間特性;第二層利用長短時記憶網(wǎng)絡(luò)(LSTM)提取交通流的時間特性;第三層將提取的時空特性結(jié)合外部因素引入注意力機(jī)制;第四層綜合交通流量的特性分析,使用全連接層進(jìn)行預(yù)測。
利用CNN 提取交通流的空間特性,利用長短時記憶網(wǎng)絡(luò)(LSTM)提取交通流的時間特性,分別設(shè)置LSTM的輸入張量維度及輸出張量維度,模型的隱含層分別添加dropout 約束,使得部分神經(jīng)元在傳遞過程中暫時失活,以避免過擬合。
式中,wq、bq分別為權(quán)重和偏置。
本文使用Python 語言在tensorflow 和Keras 構(gòu)建模型,基于融合多因素的短時交通流預(yù)測模型的流程圖如圖4所示。
3.1.1 交通流數(shù)據(jù)
為了驗(yàn)證本文所提出方法的有效性,采用加拿大Whitemud Drive 高速公路開放數(shù)據(jù)進(jìn)行實(shí)例分析。Whitemud Drive 是一條橫穿加拿大阿爾伯塔省埃德蒙頓市的市內(nèi)高速公路,全長28 km,路網(wǎng)結(jié)構(gòu)如圖5 所示,Whitemud Drive 在主干道和閘道上裝有地感線圈,數(shù)據(jù)的記錄頻率為20 s/次,記錄長度為24 h,用于觀測車流量、車速以及車輛密度。向東方向的地感線圈的分布如圖6,向西方向的地感線圈的分布如圖7,可以看到相關(guān)地感線圈的對應(yīng)標(biāo)號,文件命名方式為“標(biāo)號-月-日”,可以對應(yīng)查找相關(guān)數(shù)據(jù)。該數(shù)據(jù)集記錄了Whitemud Drive 從2015 年8 月5 日至2015 年8 月28 日總計(jì)24 天的交通流量,本文以2015 年8 月24 日至2015 年8月28 日的數(shù)據(jù)作為測試集,剩余所有數(shù)據(jù)作為訓(xùn)練集進(jìn)行驗(yàn)證。
3.1.2 天氣數(shù)據(jù)
阿爾伯塔(Alberta)坐落于加拿大西部,這里四季分明,埃德蒙頓(Edmonton)位于阿爾伯塔省的地理中心。根據(jù)氣象局從1971年至2000年對加拿大主要城市天氣的調(diào)查,阿爾伯塔省為全年陽光最充足的省份。首府Edmonton 向北而上就是楊木森林和草原地帶,最北部為植被豐富的森林區(qū),氣候深受大陸性北極氣候影響,有時因洛基山暖流而趨于溫和,夏季溫度較高。本文選取的天氣數(shù)據(jù)來源于埃德蒙頓城市氣象觀測中心,數(shù)據(jù)記錄了每日氣溫、天氣狀況、降雨量、降雪量、風(fēng)速等。
本文選取均方根誤差(RMSE)、平均絕對誤差(MAE)及平均絕對百分比誤差(MAPE)作為評價指標(biāo)來評價預(yù)測結(jié)果的性能,RMSE、MAE、MAPE的定義分別如下:
式中,y^i為交通流量的預(yù)測值,yi為交通流量的真實(shí)值,N為預(yù)測值的個數(shù)。當(dāng)預(yù)測值與真實(shí)值完全吻合時,RMSE、MAE、MAPE 的值為0,稱之為完美模型,RMSE、MAE、MAPE的值越大,表示預(yù)測值與真實(shí)值的誤差越大。
本文以2015年8月5日至2015年8月23日(00:00—24:00)的數(shù)據(jù)作為訓(xùn)練集,將采集到的原始數(shù)據(jù)處理形成采樣間隔為5 min 的交通流數(shù)據(jù),處理后的數(shù)據(jù)每天有288 條記錄,訓(xùn)練集共有5 472 條數(shù)據(jù)。以2015 年8月24日至2015年8月28日(00:00—24:00)的數(shù)據(jù)作為測試集,測試集共有1 440條數(shù)據(jù)。
3.3.1 結(jié)果預(yù)測
本文選取了2015年8月27日一整天的交通流數(shù)據(jù)來驗(yàn)證模型的預(yù)測效率,預(yù)測結(jié)果如圖8所示。由圖中的預(yù)測結(jié)果可以看出,預(yù)測值隨真實(shí)值的變化而上下波動,預(yù)測曲線變化趨勢穩(wěn)定,模型的準(zhǔn)確率最高能達(dá)到94.42%,具有較好的預(yù)測效果。
3.3.2 Dropout參數(shù)設(shè)置對預(yù)測結(jié)果的影響
在訓(xùn)練模型中,如果模型具有很多參數(shù),但訓(xùn)練樣本數(shù)據(jù)又較少,則訓(xùn)練出的模型很容易出現(xiàn)過擬合。過擬合主要表現(xiàn)在模型在訓(xùn)練數(shù)據(jù)上損失函數(shù)較小,具有較高的預(yù)測準(zhǔn)確率,但是在測試數(shù)據(jù)上損失函數(shù)比較大,預(yù)測準(zhǔn)確率較低。添加dropout 約束可以在前向傳播的時候,讓某個神經(jīng)元的激活值以一定的概率停止工作,使其不會太依賴某些局部的特征,增強(qiáng)模型的泛化能力。為了對比不同dropout參數(shù)設(shè)置對預(yù)測結(jié)果的影響,實(shí)驗(yàn)采用不同的dropout值進(jìn)行對比分析。
如表2所示,與添加dropout約束相比不添加dropout約束的RMSE、MAE、MAPE 誤差值相對較高。經(jīng)實(shí)驗(yàn)對比當(dāng)dropout的值取0.5時具有較好的預(yù)測效果。
表2 不同dropout對預(yù)測結(jié)果的影響Table 2 Impact of different dropout on prediction results
3.3.3 傳統(tǒng)模型預(yù)測結(jié)果對比分析
短時交通流預(yù)測由于預(yù)測時間間隔的增大會導(dǎo)致模型的預(yù)測性能變差。為了評估本文所提出的CLA模型的預(yù)測準(zhǔn)確度,統(tǒng)一采用預(yù)測時間間隔為5 min,對交通流量進(jìn)行預(yù)測。通過與門控循環(huán)單元(GRU)模型、支持向量回歸(SVR)模型、卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型以及長短時記憶網(wǎng)絡(luò)(LSTM)進(jìn)行對比分析,選取均方根誤差(RMSE)、平均絕對誤差(MAE)及平均絕對百分比誤差(MAPE)作為評價指標(biāo)來評價預(yù)測結(jié)果的性能。
如表3 所示CLA 模型的RMSE、MAE 以及MAPE的值相比較于GRU、SVR、CNN、LSTM 較小,在統(tǒng)一的時間間隔上,CLA模型預(yù)測效果最佳。與傳統(tǒng)模型中預(yù)測效果較好的LSTM 模型相比,CLA 模型在RMSE、MAE、MAPE分別降低了0.98、1.71以及1.53個百分點(diǎn),通過實(shí)驗(yàn)驗(yàn)證本文所提出的CLA模型誤差最小。
表3 傳統(tǒng)模型的交通流預(yù)測誤差對比Table 3 Comparison of traffic flow prediction errors of traditional model
3.3.4 變體模型預(yù)測結(jié)果對比分析
為了更直觀地看出本文所提出的CLA模型的預(yù)測效果,實(shí)驗(yàn)選取了未引入注意力機(jī)制的CLA-ATTN模型及未引入多因素的CLA-MFACTOR模型進(jìn)行對比。實(shí)驗(yàn)結(jié)果如圖9所示,從圖中可以看出CLA模型的預(yù)測結(jié)果最接近于真實(shí)值,相比較于單一的CLA-ATTN模型及CLA-MFACTOR 模型,本文所提出的CLA 模型具有較好的預(yù)測效果。
如表4所示CLA-MFACTOR的預(yù)測效果相對較差,交通流數(shù)據(jù)由于受到多種外部因素的影響而呈現(xiàn)隨機(jī)性變化,例如惡劣的天氣環(huán)境會打亂人們的出行計(jì)劃,導(dǎo)致路段的交通流量減少,因此未融入多因素的CLAMFACTOR 模型預(yù)測效果表現(xiàn)也不是很好。本文所提出的CLA 模型預(yù)測效果要優(yōu)于CLA-ATTN 和CLAMFACTOR 模型,CLA 模型相比較于最好的基準(zhǔn)模型CLA-ATTN 模型在RMSE、MAE、MAPE 分別降低了1.17、2.1 以及4.39 個百分點(diǎn),通過實(shí)驗(yàn)驗(yàn)證本文所提出的CLA模型誤差最小。
表4 變體模型的交通流預(yù)測誤差對比Table 4 Comparison of traffic flow prediction errors based on variant models
本文使用公開的交通數(shù)據(jù)集,融合多種外部因素并引入注意力機(jī)制,對每個影響交通流量的潛在因素或特征的重要程度進(jìn)行區(qū)分,并與傳統(tǒng)及變體模型的預(yù)測結(jié)果進(jìn)行對比,發(fā)現(xiàn)本文所提出的模型與傳統(tǒng)模型相比具有較好的預(yù)測效果,與CLA-ATTN、CLA-MFACTOR 相比,平均絕對百分比誤差分別減少了4.39、0.98 個百分點(diǎn),經(jīng)實(shí)驗(yàn)驗(yàn)證本文提出的融合多因素的短時交通流預(yù)測模型相比于傳統(tǒng)模型、未引入注意力機(jī)制的CLAATTN 模型及未引入多因素的CLA-MFACTOR 模型具有較好的預(yù)測效果。交通流是一個結(jié)構(gòu)復(fù)雜的非線性系統(tǒng),傳統(tǒng)模型由于只能概括交通流系統(tǒng)的部分特性,因此其預(yù)測精度有限。雖然本文所提出的模型提高了預(yù)測準(zhǔn)確率,但模型在引入注意力機(jī)制分配權(quán)重時,需要計(jì)算每一個輸入特征的權(quán)重,會消耗大量的計(jì)算資源,未來的研究工作中應(yīng)進(jìn)一步考慮這些因素以提高交通流的預(yù)測效率。