王 海 起,李 留 珂,陳 海 波
(中國石油大學(xué)(華東)海洋與空間信息學(xué)院,山東 青島266580)
精準(zhǔn)、實(shí)時的城市交通流量預(yù)測是城市交通控制和引導(dǎo)的決策基礎(chǔ)。交通流量預(yù)測可分為短時預(yù)測(小于30 min)和長時預(yù)測(大于30 min),由于交通流量變化迅速,15 min內(nèi)的短時交通流量預(yù)測更能滿足現(xiàn)實(shí)生活需求。出租車作為城市出行中較為重要的交通工具之一,其裝備的車載GPS可收集不同時間的精確位置信息,同時,出租車交通數(shù)據(jù)具有數(shù)據(jù)量大、時空分布廣等特點(diǎn),可間接反映城市道路的交通狀態(tài),因此,該數(shù)據(jù)可用于城市交通流量預(yù)測研究[1]。
傳統(tǒng)的交通流量預(yù)測多采用基于統(tǒng)計學(xué)理論的線性模型,如差分自回歸移動平均(Autoregressive Integrated Moving Average,ARIMA)模型及其變體模型[2-5]、線性回歸模型[6]及卡爾曼濾波[7]等,該類方法抗干擾性差,對于復(fù)雜非線性的交通數(shù)據(jù)預(yù)測精度較低;不少學(xué)者基于支持向量機(jī)(SVM)[8,9]、小波分析[10,11]、分形理論[12]等非線性模型,針對交通流量預(yù)測問題開發(fā)出許多變體模型,可適用于短時交通流量預(yù)測。近年來,深度學(xué)習(xí)在文本處理、語音識別等領(lǐng)域展現(xiàn)出優(yōu)秀的特征學(xué)習(xí)能力,因此,逐漸嘗試使用該類方法提取交通流量數(shù)據(jù)的時空特性并進(jìn)行交通流量預(yù)測。例如:Zhang等[13]提出DeepST模型,利用多層卷積學(xué)習(xí)交通流量的空間依賴;Wu等[14]使用CNN捕捉交通流量數(shù)據(jù)空間特征,使用LSTM捕捉短期變異性和周期性;Lai等[15]提出LSTNet模型,根據(jù)周期長度對輸入數(shù)據(jù)維度進(jìn)行整理,解決傳統(tǒng)RNN在較長周期中信息難以傳遞的問題;Yu等[16]結(jié)合道路拓?fù)湫畔ⅲ捎脠D卷積和一維卷積相結(jié)合的方式預(yù)測交通流量。以上深度學(xué)習(xí)模型采用不同模塊分別捕捉交通流量數(shù)據(jù)的時間特性和空間特性,相對于傳統(tǒng)交通流量預(yù)測模型預(yù)測精度有一定提升,然而,現(xiàn)有深度學(xué)習(xí)模型未考慮城市交通流量數(shù)據(jù)在時間上的周期性、鄰近性和趨勢性。因此,本文提出一種基于注意力機(jī)制的GC-GRU時空預(yù)測模型,采用網(wǎng)絡(luò)距離構(gòu)建城市路網(wǎng)結(jié)構(gòu),按照周期劃分歷史輸入,并利用圖卷積(Graph Convolution,GC)和門控循環(huán)神經(jīng)網(wǎng)絡(luò)分別捕捉空間依賴性和時間依賴性,結(jié)合注意力機(jī)制對城市道路交通流量進(jìn)行預(yù)測。該模型與ARIMA、SVM、GRU、GCN等常規(guī)預(yù)測模型相比,考慮了交通流量數(shù)據(jù)的時空特征信息,與DeepST、STGCN等模型相比,考慮了時間周期性和趨勢性。
依據(jù)交通流量的時空特性,本文構(gòu)建了時空圖卷積門控循環(huán)網(wǎng)絡(luò)預(yù)測模型(Spatial-Temporal Graph Convolution Gate Recurrent Unit Network,STGCGRU)進(jìn)行城市道路交通流量短時預(yù)測。模型整體采用Encoder-Decoder架構(gòu)[17](圖1),由多層圖卷積(GC)和門控循環(huán)單元(Gate Recurrent Unit,GRU)組合作為GC-GRU基本單元構(gòu)成單層循環(huán)網(wǎng)絡(luò),以捕捉交通流量數(shù)據(jù)的時空特征,并添加注意力機(jī)制,動態(tài)調(diào)整Encoder過程中輸入的歷史時段中不同單位時間步長(以下簡稱“時間步”)的權(quán)重,以適應(yīng)交通流量數(shù)據(jù)的趨勢變動性。其中,Encoder部分將多個歷史時間步的交通流量數(shù)據(jù)x1,x2,…,xt輸入模型進(jìn)行編碼,并匯總成代表歷史輸入序列的特征向量ht;Decoder部分對該特征向量進(jìn)行解碼,根據(jù)上一時間步隱藏狀態(tài)及預(yù)測結(jié)果逐步輸出未來時間步的預(yù)測結(jié)果ht+1,ht+2,…,ht+p;注意力機(jī)制部分根據(jù)待預(yù)測時間步分配各歷史時間步權(quán)重,然后加權(quán)計算上下文信息并與Decoder預(yù)測結(jié)果融合作為最終預(yù)測結(jié)果。

圖1 STGCGRU模型總體架構(gòu)Fig.1 Framework of STGCGRU model
本文將城市路網(wǎng)中的路段抽象為節(jié)點(diǎn)V={vi|i=1,2,3,…,n},路段間的連接關(guān)系定義為邊E={(vi,vj)|vi∈V,vj∈V},則城市路網(wǎng)形成無向圖G=(V,E,A),其中A為道路拓?fù)鋱D結(jié)構(gòu)的鄰接矩陣。結(jié)合圖結(jié)構(gòu)的交通流量預(yù)測問題可看作依據(jù)歷史時段的路段交通流量及道路拓?fù)鋱D預(yù)測未來某時段的交通流量,即存在學(xué)習(xí)映射函數(shù)f,使得:
[xt+1,xt+2,…,xt+p]=f(x1,x2,…,xt,G)
(1)
式中:x1,x2,…,xt為不同歷史時間步所有路段節(jié)點(diǎn)的交通流量數(shù)據(jù);xt+1,xt+2,…,xt+p為所預(yù)測的未來p個時間步所有路段節(jié)點(diǎn)的交通流量。
1.2.1 道路圖鄰接矩陣構(gòu)建 對于城市交通而言,節(jié)點(diǎn)間距離越近,其空間相關(guān)性越強(qiáng),因此,本文采用反距離加權(quán)方式構(gòu)建鄰接矩陣A(式(2)),兩節(jié)點(diǎn)間的距離可通過歐氏距離、網(wǎng)絡(luò)距離、交叉口距離3種方式計算。其中,歐氏距離dist(vi,vj)用于衡量vi與vj兩節(jié)點(diǎn)間的絕對距離(式(3));網(wǎng)絡(luò)距離是指出租車在實(shí)際行駛過程中起點(diǎn)到終點(diǎn)的最短行駛距離,本文中的網(wǎng)絡(luò)距離由百度最短路徑API求得(圖2);交叉口距離為起點(diǎn)到終點(diǎn)經(jīng)過的最少交叉口數(shù)量,如圖3所示,兩個路段間的交叉口距離為3。

圖2 網(wǎng)絡(luò)距離示意Fig.2 Schematic diagram of network distance

圖3 交叉口距離示意Fig.3 Schematic diagram of intersection distance

(2)

(3)
式中:(xi,yi)、(xj,yj)分別為節(jié)點(diǎn)vi、vj的坐標(biāo)。
1.2.2 歷史輸入時段劃分 考慮城市交通流量數(shù)據(jù)的時間鄰近性、日周期性、周周期性等特點(diǎn),將輸入歷史時段{x1,x2,…,xt}劃分為鄰近片段、日周期片段、周周期片段3部分,每部分長度均為l=t/3。如圖4所示,設(shè)單位聚合時段為5 min,預(yù)測時段為2020年5月20日9:00-9:10的交通流量(即p=2);輸入歷史時段每部分片段長度為20 min(即l=4),則鄰近片段為與預(yù)測時段相鄰的長度為l的時段{xt-l,xt-l+1,…,xt},即2020年5月20日8:40-9:00;日周期片段為一天前同時段及前后時段,長度同為l,記為{xt-2l-1,xt-2l,…,xt-l-1},即2020年5月19日8:55-9:15;周周期片段為一周前同時段及前后時段,長度同為l,記為{x1,x2,…,xt-2l-2},即2020年5月13日8:55-9:15。

圖4 歷史輸入時段劃分Fig.4 Division of historical input periods


圖5 多層圖卷積過程示意Fig.5 Schematic diagram of multi-layer graph convolution process

圖6 GC-GRU單元內(nèi)部結(jié)構(gòu)Fig.6 Internal structure of GC-GRU unit
(4)

(5)
(6)
(7)
(8)
式中:⊙表示元素相乘;Wz、bz、Wr、br、Wh、bh為可學(xué)習(xí)的權(quán)重矩陣,模型可自動調(diào)整當(dāng)前時刻信息和歷史信息的保留比例,保證提取的特征向量ht既包含足夠的當(dāng)前時刻信息,又包含歷史信息中的變化趨勢。
注意力機(jī)制最早被用于調(diào)節(jié)權(quán)重大小,使模型在關(guān)鍵位置有較高關(guān)注力。本文模型中注意力模塊[20]可使模型在訓(xùn)練過程中動態(tài)調(diào)整不同時間步的權(quán)重大小,以捕捉交通流量的趨勢變動性,具體實(shí)現(xiàn)過程為:針對Decoder部分預(yù)測的每個時間步ht+Δt,計算Encoder部分所有歷史時間步的權(quán)重,加權(quán)求和得到綜合信息cΔt(式(9)-式(11)),再將其與經(jīng)過GC-GRU單元后的隱藏狀態(tài)ht+Δt融合作為輸出,得到xt+Δt(式(12))。
(9)
(10)
(11)
xt+Δt=tanh(Wc[cΔt,ht+Δt])
(12)



圖7 注意力機(jī)制詳細(xì)框架Fig.7 Detailed framework of the attention mechanism
實(shí)驗(yàn)數(shù)據(jù)為北京市五環(huán)內(nèi)2015年5-6月共47天33 234輛出租車產(chǎn)生的GPS軌跡點(diǎn)數(shù)據(jù),選擇前35天作為訓(xùn)練數(shù)據(jù),后12天為測試數(shù)據(jù)。剔除冗余數(shù)據(jù)和漂移數(shù)據(jù);對于定位偏差數(shù)據(jù),采用基于隱形馬爾可夫模型的地圖匹配算法[21],將實(shí)際GPS軌跡點(diǎn)映射到實(shí)際路網(wǎng)中。
以道路交叉口分割的方式,將路段抽象為節(jié)點(diǎn)(圖8),共抽取北京市五環(huán)內(nèi)639個路段,平均長度為1 772 m。以路段中點(diǎn)表示路段位置,以5 min為單位聚合出租車軌跡點(diǎn)數(shù)量作為該點(diǎn)的交通流量數(shù)據(jù)。由北京市工作日/周末不同峰期交通流量分布情況(圖9,彩圖見封2)可知,交通流量多集中在三環(huán)內(nèi)的中關(guān)村、三里屯、北京東站附近,出租車多在80輛以上,三環(huán)以外路段多在20輛以下。工作日相對周末、早(午)高峰相對晚高峰交通流量整體偏大,具體表現(xiàn)在:工作日早高峰居民出行多為上下班,交通流量較大并集中在北京城區(qū)西北部的中關(guān)村、西直門、北京西站附近,晚高峰居民出行多為休閑社交活動,交通流量集中在北京城區(qū)東部的工體、CBD、勁松橋附近;周末早高峰居民出行較少,交通流量明顯偏低,午(晚)高峰交通流量集中在住宅區(qū)及休閑娛樂場所較多的工體、CBD、勁松橋等位置附近。

圖8 路網(wǎng)抽象為節(jié)點(diǎn)Fig.8 Road sections abstracted as nodes in road network

圖9 北京市出租車5 min路段聚合交通流量概況Fig.9 General situation of the aggregate taxi traffic flow in Beijing within 5 minutes
以8:00-8:15時段為基礎(chǔ),與其他7個時段交通流量進(jìn)行Pearson相關(guān)分析(圖10a),可以看出,8:00-8:15時段與8:15-8:30時段交通流量相關(guān)性最高,且相關(guān)系數(shù)隨時間推移逐漸減小,說明交通流量具有時間鄰近性;由圖10b可知,交通流量呈現(xiàn)日周期性和周周期性;由圖10c可知,單日交通流量存在早、午、晚3個高峰,且每日3個高峰的時間和峰值并不完全一致,交通流量數(shù)據(jù)具有趨勢變動性;全局Moran′sI指標(biāo)可以度量城市路網(wǎng)交通流量的空間自相關(guān)性[22],由不同行駛距離下工作日早高峰時段交通流量的全局Moran′sI指標(biāo)(圖10d)可知,Moran′sI均大于0且逐漸降低,說明交通流量在空間上存在顯著的正相關(guān)且相關(guān)性隨行駛距離增長而減弱。
實(shí)驗(yàn)采用的評價指標(biāo)有均方根誤差(RMSE)、平均絕對誤差(MAE)、決定系數(shù)(R2),RMSE和MAE越小、R2越大,預(yù)測效果越好。公式如下:
(13)
(14)
(15)

STGCGRU模型超參數(shù)主要包括圖卷積層數(shù)、隱層單元數(shù)目、輸入歷史序列長度、圖構(gòu)建方式、學(xué)習(xí)率及批次大小。實(shí)驗(yàn)設(shè)置學(xué)習(xí)率α=0.001,批次大小batchsize=64,隨機(jī)選取數(shù)據(jù)集的80%作為訓(xùn)練集,剩余20%作為驗(yàn)證集,模型訓(xùn)練均采用Adam算法進(jìn)行優(yōu)化并在模型訓(xùn)練時采用早停策略。1)由圖10d可看出,交通流量的空間自相關(guān)性在2~4 km處下降較快,結(jié)合路段平均長度可認(rèn)為,交通流量與其2階以內(nèi)鄰居路段的相關(guān)性較強(qiáng),因此采用2層圖卷積捕獲交通流量的空間特性。2)日常出行往往優(yōu)先考慮行駛距離最短的路線,與網(wǎng)路距離計算方式相符,基于網(wǎng)絡(luò)距離構(gòu)建的鄰接矩陣更適合城市交通拓?fù)鋱D構(gòu)建與交通流量預(yù)測,因此模型最終選擇網(wǎng)絡(luò)距離作為圖構(gòu)建方式。3)隱層單元數(shù)目關(guān)系著模型計算過程中傳遞的信息量,是模型的重要參數(shù)之一。由不同隱層單元數(shù)目下模型測試誤差(圖11a)可知,模型RMSE和MAE在隱層單元數(shù)目為16時最低,因此選擇隱層單元數(shù)目為16作為后續(xù)實(shí)驗(yàn)參數(shù)。4)輸入的歷史序列越長,其承載的信息量越多,但過長的歷史序列距預(yù)測序列較遠(yuǎn),相關(guān)性較低,反而會影響模型精度。本文將組成輸入的片段時間長度分別設(shè)置為15 min、25 min、35 min、45 min、55 min,即總輸入歷史序列長度T分別為9、15、21、27、33,分別計算模型RMSE和MAE(圖11b),可以看出,在片段時間長度為35 min,即輸入歷史序列長度為21時,RMSE和MAE均達(dá)最低,故最終選擇輸入歷史序列長度為21。

圖10 北京市出租車交通流量時間特性分析Fig.10 Analysis of time characteristics of taxi traffic flow in Beijing

圖11 模型參數(shù)選擇Fig.11 Parameter selection for the model
為驗(yàn)證本文模型的可靠性,選取以下5種交通流量預(yù)測模型進(jìn)行對比分析: 1)差分自回歸移動平均(ARIMA)模型,是一種經(jīng)典的時間序列預(yù)測模型;實(shí)驗(yàn)中采用ARIMA(1,1,1)模型,即差分次數(shù)、自回歸項和移動平均項均為1。2)支持向量機(jī)(SVM)模型,利用核函數(shù)實(shí)現(xiàn)輸入數(shù)據(jù)到高維特征空間的映射,分析輸入輸出間的非線性關(guān)系;實(shí)驗(yàn)中采用的核函數(shù)為高斯核函數(shù),懲罰系數(shù)設(shè)置為0.1,γ為0.01。3) GRU模型,實(shí)驗(yàn)中設(shè)置隱藏層數(shù)為2,每層的隱藏單元數(shù)目均為16。4)GCN模型,實(shí)驗(yàn)中設(shè)置圖卷積層數(shù)為2,每層的神經(jīng)元數(shù)目均為16。5)深度時空殘差神經(jīng)網(wǎng)絡(luò)DeepST,對時刻、天、周3段數(shù)據(jù)分段采樣,分別采用多層殘差神經(jīng)網(wǎng)絡(luò)并利用全連接融合,相對于原始DeepST模型[13],無額外因素模塊。ARIMA、SVM、GRU、GCN 4個基準(zhǔn)模型均采用與預(yù)測目標(biāo)時間鄰近的前35 min(即前7個時間步)的歷史交通流量作為輸入,為保證模型輸入一致及對比公平性,實(shí)驗(yàn)采用不包含周期片段輸入的STGCGRU模型(輸入同為前7個時間步)與基準(zhǔn)模型進(jìn)行對比,采用帶有周期性的STGCGRU模型與同樣包含周期性的現(xiàn)有DeepST模型進(jìn)行對比。
由不同模型的RMSE、MAE、R2(表1)可以看出:1)在相同輸入時間長度下,未加周期片段的STGCGRU模型相對傳統(tǒng)的交通流量預(yù)測模型(ARIMA、SVM)而言,RMSE分別減少了69.69%和52.92%,MAE分別減少了70.23%和43.93%,R2分別提高了56.14%和41.27%,說明STGCGRU模型能更好地映射交通流量數(shù)據(jù)中的非線性關(guān)系,捕捉交通流量數(shù)據(jù)的趨勢變動性,預(yù)測精度較高。未加周期片段的STGCGRU模型的RMSE比GRU和GCN分別減少了6.88%和6.67%,MAE分別減少6.89%和7.34%,R2均提升了5.95%,說明STGCGRU模型可較好捕捉時空特性。2)DeepST模型預(yù)測誤差低于基準(zhǔn)模型,而STGCGRU模型的3種評價指標(biāo)仍優(yōu)于DeepST模型,說明采用多層圖卷積比多層卷積能更好捕捉道路的空間特征。3)對比保留周期片段和不保留周期片段的STGCGRU模型預(yù)測結(jié)果可以看出,將日周期和周周期片段加入模型輸入序列,對模型預(yù)測精度有提升效果,故考慮周期性對交通流量預(yù)測至關(guān)重要。

表1 不同模型對北京市出租車交通流量時間特性的預(yù)測精度Table 1 Prediction accuracy of time characteristics of taxi traffic flow using different models in Beijing
由STGCGRU模型在不同預(yù)測時長下的預(yù)測結(jié)果(表2)可知,隨著預(yù)測時長增加,RMSE和MAE均呈上升趨勢,R2呈下降趨勢。可能是由于在Decoder部分上一步輸出參與到下一步預(yù)測的計算造成誤差累積,從而導(dǎo)致模型誤差隨預(yù)測時長增加而增大,說明STGCGRU模型較適合短時交通流量預(yù)測。

表2 不同預(yù)測時長下STGCGRU模型交通流量預(yù)測精度Table 2 Prediction accuracy of traffic flow using STGCGRU model under different prediction duration
人們在日常出行中更在意高峰期的交通擁堵狀況,因此本文利用STGCGRU模型對工作日和周末高峰時段的真實(shí)數(shù)據(jù)進(jìn)行測試,其中早高峰為8:00-11:00,午高峰為13:00-16:00,晚高峰為19:00-22:00。由于真實(shí)數(shù)據(jù)缺失天數(shù)較多,很難滿足周周期、日周期所對應(yīng)日期數(shù)據(jù)的真實(shí)性,因此實(shí)驗(yàn)中采用未加周期片段的STGCGRU模型,訓(xùn)練及測試數(shù)據(jù)均為有缺失時段的真實(shí)數(shù)據(jù)。同時,添加全時段預(yù)測結(jié)果作為基準(zhǔn)對比,輸入時間序列長度為35 min,預(yù)測時長為5 min,預(yù)測結(jié)果如表3所示。整體而言,全時段由于包含車流量基本為0的凌晨時段,預(yù)測結(jié)果較好。工作日相對周末交通流量基數(shù)大,因此工作日預(yù)測結(jié)果的RMSE和MAE相對周末高,而反觀R2,工作日相對周末高,主要是由于工作日交通流量規(guī)律性較強(qiáng)。對比早高峰、午高峰、晚高峰3個時段,晚高峰模型預(yù)測結(jié)果在工作日和周末均較好,震蕩較為明顯的午高峰預(yù)測結(jié)果較差。

表3 STGCGRU模型在高峰時段預(yù)測結(jié)果對比Table 3 Comparison of prediction results of STGCGRU model during peak hours
易堵路段同樣是交通流量預(yù)測的關(guān)注重點(diǎn)。對車流量較大的中關(guān)村在工作日和周末的交通流量進(jìn)行預(yù)測,并與真實(shí)值進(jìn)行對比(圖12)。中關(guān)村作為教育、科技聚集地,在工作日上下班時段交通流量大,晚高峰較為明顯,在周末各時段交通流量較為平均。從圖12可以看出,STGCGRU模型可較好地擬合交通流量的趨勢,對于交通流量變化平穩(wěn)時段預(yù)測結(jié)果較精準(zhǔn),對于交通流量突增或突減情況,預(yù)測值與真實(shí)值存在一定的偏差。

圖12 易堵路段預(yù)測值和真實(shí)值對比Fig.12 Comparison of predicted values and actual values in easily blocked road section
本文提出一種基于注意力機(jī)制的交通流量時空預(yù)測模型——STGCGRU模型,該模型采用Encoder-Decoder結(jié)構(gòu),結(jié)合圖卷積和門控循環(huán)單元捕捉交通流量的時空特性,利用注意力機(jī)制調(diào)節(jié)趨勢變動性和周期性對預(yù)測的影響。基于北京市出租車交通流量數(shù)據(jù)集,與ARIMA、SVM、GCN、GRU基準(zhǔn)模型及DeepST模型對比后發(fā)現(xiàn),STGCGRU模型可以捕捉交通流量數(shù)據(jù)中的時空特征,預(yù)測精度更高;將STGCGRU模型應(yīng)用于不同時長的交通流量預(yù)測,發(fā)現(xiàn)該模型更適合城市交通流量短時預(yù)測;結(jié)合不同交通情況分析發(fā)現(xiàn),工作日相對周末模型擬合效果更好,早晚高峰相對午高峰預(yù)測結(jié)果更好。STGCGRU模型對于交通流量趨勢捕捉較為敏感,有助于揭示短時段內(nèi)交通狀況,為城市智能交通決策提供參考。但該模型不能立刻捕捉交通流量突變情況,未來將添加天氣、交通事件等導(dǎo)致交通流量突變的其他因素,以提高模型對交通流量突變情況的預(yù)測精度。