李志鵑
(上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093)
交通預(yù)測是基于歷史交通數(shù)據(jù)對未來時刻的交通狀況(如交通速度、交通流量和交通占用率等)進行預(yù)測。準(zhǔn)確實時的交通預(yù)測有助于交通規(guī)劃和管理,進而緩解交通擁堵[1]。
近年來,國內(nèi)外的研究者都致力于交通預(yù)測的研究且取得不錯的成果。研究大致可以分為傳統(tǒng)方法和深度學(xué)習(xí)方法。傳統(tǒng)方法主要代表為歷史平均(historical average,HA)、差分自回歸移動平均模型(auto-regressive integrated moving average model,ARIMA)[2]、向量自回歸(vector auto-regressive,VAR)[3],這種方法不能捕獲數(shù)據(jù)復(fù)雜的非線性關(guān)系,特征提取能力有限。2009年,Castro 等人[4]提出支持向量回歸(Support Vector Regression,SVR)方法用于交通流量預(yù)測,該方法分析了交通流的非線性特征,但挖掘時空關(guān)系有限。隨著深度學(xué)習(xí)的發(fā)展,交通預(yù)測方法得到進一步改進。2014年,Huang等人[5]提出深度信念網(wǎng)絡(luò)(Deep Belief Nets,DBN)。2015年,Lv 等人[6]提出深度學(xué)習(xí)模型、自動堆疊編碼器(Stacked Autoencoder,SAE)用于預(yù)測交通流量,以上2 種方法均采用柵格模型,只能應(yīng)用于標(biāo)準(zhǔn)網(wǎng)格數(shù)據(jù)且忽略了數(shù)據(jù)采集點本身的空間關(guān)系。
為更好地建模交通網(wǎng)絡(luò)的空間關(guān)系,近期研究將圖神經(jīng)網(wǎng)絡(luò)(graph convolutional neural networks,GCN)應(yīng)用于交通預(yù)測方法[7-9]。2018年,Yu 等人[10]提出了一種深度學(xué)習(xí)框架、時空圖卷積網(wǎng)絡(luò)(STGCN),利用GCN 捕獲空間相關(guān)性,利用卷積提取時間特征。2019年,Guo 等人[11]提出(Attention based spatial-temporal graph convolutional network,ASTGCN)模型,從注意機制的角度出發(fā),該網(wǎng)絡(luò)使用2 個注意力層分別捕獲空間依賴性和時間相關(guān)性。2020年,Song 等人[12]的研究提出一種可以同步提取局部時空關(guān)系的時空模型(spatial-temporal synchronous graph convolutional network,STSGCN)。
受上述研究工作的啟發(fā),為了更好地捕獲交通網(wǎng)絡(luò)的時空相關(guān)性,進一步提高預(yù)測性能,本文提出一種時空注意圖卷積網(wǎng)絡(luò)(spatial-temporal attention graph convolutional network,STAGCN)的交通預(yù)測模型,該方法能夠捕獲交通數(shù)據(jù)復(fù)雜的動態(tài)時空特征。本文主要貢獻如下:
(1)設(shè)計了一種Encoder-Decoder 框架,具體來說,編碼器和解碼器均采用門控循環(huán)單元(gate recurrent unit,GRU),采用k階ChebNet 圖卷積[13]對歷史交通數(shù)據(jù)的空間依賴關(guān)系建模,在解碼器中加入時間注意機制,自適應(yīng)地學(xué)習(xí)編碼器輸出中更重要的部分,動態(tài)學(xué)習(xí)時空相關(guān)性。
(2)提出將歷史時間步長和與預(yù)測時間段間隔相同的周交通數(shù)據(jù)堆疊作為輸入,更好地捕獲時間和周期性。
(3)利用殘差網(wǎng)絡(luò)穩(wěn)定預(yù)測性能,并在2 個真實交通數(shù)據(jù)集上進行消融實驗,驗證了殘差、k階ChebNet 圖卷積和Encoder-Decoder 框架的有效性。
在本文中,交通數(shù)據(jù)包含N個道路節(jié)點(傳感器)、T個時間步、C個特征。文中將交通道路網(wǎng)絡(luò)的拓撲結(jié)構(gòu)定義為圖G=(V,E,A),其中V是一組節(jié)點(如交通傳感器);E是表示各節(jié)點之間的連接性的邊;A∈RN×N是鄰接矩陣,表示節(jié)點之間的依賴程度(按路網(wǎng)距離測量)。t時刻節(jié)點i的交通流量數(shù)據(jù)用xt,i∈RC表示,則Xt=(xt,1,xt,2,…,xt,N)∈RN×C表示t時刻所有節(jié)點的特征,如交通速度、交通流量和交通占用率等。本文研究主題為:
利用N個觀測點的p個歷史時間步長的數(shù)據(jù)預(yù)測未來時間步長為q的所有節(jié)點的交通流量。即輸入為X=(X1,X2,…,Xp)T∈RN×C×p,預(yù)測輸出表示為即:

本研究提出的基于時空注意圖卷積網(wǎng)絡(luò)的交通流量預(yù)測模型(STAGCN)框架如圖1 所示。是由GRU 構(gòu)成Encoder-Decoder 框架,在編碼器部分,采用k階的ChebNet 圖卷積對歷史數(shù)據(jù)的空間依賴關(guān)系進行建模,將Tw周與預(yù)測時段相同時間間隔的交通數(shù)據(jù)Xw及輸入數(shù)據(jù)X進行堆疊作為模型的輸入,同時可以捕獲歷史數(shù)據(jù)的周期性。解碼器部分引入注意機制動態(tài)學(xué)習(xí)編碼器不同時刻的隱藏層狀態(tài)。此外,加入殘差網(wǎng)絡(luò)模塊提升網(wǎng)絡(luò)的性能。由ChebNet 圖卷積、注意機制的編-解碼器和殘差網(wǎng)絡(luò)共同組成時空注意模塊,堆疊N個上述時空注意模塊,最后通過卷積預(yù)測層預(yù)測未來道路的交通流量。

圖1 STAGCN 總體框架圖Fig.1 The architecture of STAGCN
1.2.1 空間相關(guān)性
道路上不同地點的交通流量是動態(tài)變化的,節(jié)點上的流量不僅受之前自身交通狀況影響,而且也與相鄰節(jié)點的交通量息息相關(guān)。圖2 是交通節(jié)點空間相關(guān)性示意圖。

圖2 交通節(jié)點空間相關(guān)性示意圖Fig.2 The diagram of spatial correlation of traffic nodes
以節(jié)點1 為例,其流量受到節(jié)點2,3,4 和節(jié)點5 的影響,其中2 號節(jié)點的影響程度最大,因其在空間網(wǎng)絡(luò)上更接近1 號節(jié)點。本文為更好地捕獲節(jié)點間的空間相關(guān)性,應(yīng)用ChebNet 圖卷積捕獲交通數(shù)據(jù)的空間依賴關(guān)系。與圖卷積神經(jīng)網(wǎng)絡(luò)相比,ChebNet 圖卷積利用k階多項式擬合卷積核的方法,在降低計算復(fù)雜度的同時增大了感受野。k階ChebNet 多項式函數(shù)表示如下:

其中,θk是可訓(xùn)練參數(shù);L是鄰接矩陣A和度矩陣D構(gòu)成的對稱規(guī)范化拉普拉斯矩陣;λmax表示L的最大特征值;Tk(x)是切比雪夫多項式的定義;因切比雪夫多項式自變量范圍為[-1,+1],故使用
本文通過調(diào)整k階切比雪夫多項式的階數(shù),調(diào)整感受野,捕獲k階鄰居節(jié)點的空間相關(guān)性,確定空間特征的影響權(quán)重。
1.2.2 時間相關(guān)性
交通數(shù)據(jù)在時間維度上也存在動態(tài)相關(guān)性,未來t +1 時刻的交通流量可能受t時刻的交通狀況影響較大,若t -α?xí)r刻發(fā)生交通事故或社會事件,則受之前t -α?xí)r刻的影響可能更大。此外,不同道路上,相同時間間隔的歷史交通流量對未來時刻流量的影響也是不同的。為此,本文采用注意機制來動態(tài)捕獲不同地點、不同時間間隔的依賴性。具體而言,利用Attention 機制的Encoder-Decoder 框架,在解碼器部分動態(tài)調(diào)整編碼器不同地點、不同時刻的隱藏層狀態(tài)對預(yù)測結(jié)果的影響權(quán)重。Attention 機制計算如下:

其中,tanh 是激活函數(shù);We,Wd是可訓(xùn)練參數(shù);He=[H0,e,H1,e,…,HT,e]是各個時刻隱藏層的狀態(tài);T是編碼器隱藏層狀態(tài)數(shù);H(t-1),d是解碼器在t-1 時刻隱藏層的狀態(tài);βt是注意系數(shù)向量;wt表示加權(quán)注意權(quán)重;xt表示t時刻解碼器的輸入;xd表示解碼器的輸出。
1.2.3 周期性
據(jù)生活規(guī)律來看,工作日的早高峰和晚高峰會有一定的相似性,而與周末的交通流模式不同。為更好地捕獲這一周期性,本文將交通數(shù)據(jù)中過去幾周與預(yù)測時段相同時間間隔的Tw/p周(Tw為時間步p的整數(shù)倍)數(shù)據(jù)進行單獨劃分,如圖3 所示。

圖3 Tw/p 周劃分示意圖Fig.3 The schematic diagram of Tw/p
將Tw/p周與預(yù)測時段相同時間間隔的交通數(shù)據(jù)Xw作為編碼器輸入的一部分,提取交通數(shù)據(jù)的周期特征。
接下來,模型中還加入了穩(wěn)定性能的殘差網(wǎng)絡(luò)層,而后通過卷積預(yù)測層輸出:

其中,ReLU是激活函數(shù);xd表示經(jīng)過解碼器后的輸出;“?”,“Φ” 分別是卷積操作和卷積核參數(shù);xr是殘差網(wǎng)絡(luò)層的輸出。
具體來說,本文中的殘差網(wǎng)絡(luò)同時使用了先降維減少計算的卷積層和還原輸入維度的卷積層,這樣可以在減少計算量的同時保證精度。研究推得,模型的預(yù)測結(jié)果為
本文在PeMSD4,PeMSD8 兩個真實高速公路交通數(shù)據(jù)集上進行了大量的實驗,數(shù)據(jù)由加州高速路網(wǎng) Caltrans Performance Measurement System(PeMS)[14]收集。路網(wǎng)中收集實時數(shù)據(jù)的獨立傳感器超過39 000個,且每5 min 匯總一次交通數(shù)據(jù),即1 h 有12 組數(shù)據(jù)。具體信息見表1。

表1 PeMS 數(shù)據(jù)集描述Tab.1 PeMS dataset description
采用與文獻[11]中相同的數(shù)據(jù)預(yù)處理步驟,初步預(yù)處理后,數(shù)據(jù)集中若有缺失值,則進行線性插值填充并通過Z-Score[15]方法進行標(biāo)準(zhǔn)化。本文中將數(shù)據(jù)集按照6:2:2 的比例分為訓(xùn)練集、驗證集和測試集進行實驗。
本實驗在Windows10 操作系統(tǒng)下(CPU:Inter(R)Core(TM)i9-10900X @ 3.70 GHz GPU:NVIDIA GeForce RTX 3090),基于Pytorch 深度學(xué)習(xí)框架,使用了CUDA10.1+cuDNN 進行GPU 加速。
在研發(fā)的模型中,利用p=12 個歷史時間步長來預(yù)測未來q=12 個時間步長(即未來1 h)的交通流量。本文中選擇L2loss作為損失函數(shù),初始學(xué)習(xí)率為0.001,采用Adam優(yōu)化器進行訓(xùn)練。模型中所有的卷積層都使用32 個卷積核,批處理大小為32,門控循環(huán)單元(GRU)的單元數(shù)為32,層數(shù)為2,周序列長度Tw取12。此外,據(jù)文獻[11]的研究啟發(fā),測試了切比雪夫多項式階數(shù)k∈{1,2,3} 和時空注意模塊N∈{1,2,3} 對預(yù)測結(jié)果的影響,隨著k和N的增大,性能略有提高,綜合計算效率和預(yù)測性能提升的效果,選擇k=2,N=2 的參數(shù)配置。為防止訓(xùn)練過擬合,本文使用了 EarlyStopping 方法,patience設(shè)為20。
本文采用3 個常用于評估流量預(yù)測性能的評測指標(biāo):平均絕對誤差(MAE)、均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)。其定義分別如下:


其中,n是樣本數(shù);表示預(yù)測值;yt表示真實值。
將本文的模型與8 種模型方法進行對比,對這8 種模型可概述如下。
(1)HA(historical average):歷史平均模型,使用平均值作為預(yù)測結(jié)果。
(2)ARIMA(Williams and Hoel,2003)[2]:自回歸移動平均模型。
(3)VAR(vector auto-regressive )[3]:捕獲交通序列間成對相關(guān)性的向量自動回歸模型。
(4 )LSTM(Hochreiter and Schmidhuber,1997)[16]:長短時記憶網(wǎng)絡(luò),一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)。
(5)DCRNN(Li et al.,2018)[17]:利用擴散卷積捕獲時空特性的循環(huán)神經(jīng)網(wǎng)絡(luò)。
(6)STGCN(Yu et al.,2018)[10]:一種基于空間方法的時空圖卷積模型。
(7)ASTGCN(Guo et al.,2019)[11]:使用注意力層和卷積網(wǎng)絡(luò)提取時空特性。
(8)STSGCN(Song et al.,2020)[12]:一種用于結(jié)合不同時間、節(jié)點間信息的時空同步機制。
本文提出的STAGCN 模型與基線模型在PeMSD4、PeMSD8 數(shù)據(jù)集上的預(yù)測性能對比見表2。

表2 不同模型在PeMS 數(shù)據(jù)集上的平均性能Tab.2 Average performance comparison of different algorithms on the PeMS dataset
從表2 中可以看出,STAGCN 模型在PeMSD4、PeMSD8 兩個數(shù)據(jù)集上的預(yù)測性能都達到了最優(yōu),證明本文的模型是有效的、且對數(shù)據(jù)的適應(yīng)性強。傳統(tǒng)的預(yù)測方法HA、ARIMA 僅考慮了時間相關(guān)性、而忽略了交通數(shù)據(jù)的空間特征,因此預(yù)測效果不好。神經(jīng)網(wǎng)絡(luò)方法LSTM 在PeMSD4 數(shù)據(jù)集上的預(yù)測誤差小于VAR 等傳統(tǒng)方法,但在PeMSD8 數(shù)據(jù)集上預(yù)測誤差大于VAR,其模型適應(yīng)性不佳。DCRNN 等基于圖結(jié)構(gòu)的預(yù)測方法效果較好,DCRNN 利用循環(huán)神經(jīng)網(wǎng)絡(luò)捕獲時間依賴性,在PeMSD8 數(shù)據(jù)集上的效果比STGCN 方法更好,但PeMSD4 數(shù)據(jù)集較差,說明模型對交通數(shù)據(jù)的適應(yīng)性不佳。ASTGCN 與STSGCN 方法較之前的方法又有所改進,但是捕獲長時時空依賴性的能力有限,預(yù)測效果還有待改進。
為進一步看出STAGCN 中各模塊的影響,下面進行消融對比實驗。基于本文研發(fā)的STAGCN 模型,設(shè)計了3 個變種,詳見如下。
(1)STAGCN-C:移除了ChebNet 圖卷積模塊。
(2)STAGCN-E:移除了Encoder-Decoder 框架。
(3)STAGCN-R:移除了殘差網(wǎng)絡(luò)。
圖4、圖5 分別是在PeMSD4、PeMSD8 數(shù)據(jù)集進行的變種模型實驗的預(yù)測誤差條形圖。

圖4 各個變種在PeMSD4 數(shù)據(jù)集上的性能比較Fig.4 Performance comparison of variant models on PeMSD4 dataset
從圖4、圖5 中可以看到,本文研究提出的模型中各模塊都能發(fā)揮出作用,提高預(yù)測性能。其中,Encoder-Decoder 框架對模型的影響最大,對提高預(yù)測精度的能力更強,這說明解碼器中添加注意機制能捕獲不同時刻的重要性,自適應(yīng)地調(diào)整權(quán)重。k階ChebNet 圖卷積影響位居其后,殘差網(wǎng)絡(luò)又次之,這是因為考慮到計算效率和預(yù)測效果提高的程度,時空模塊和網(wǎng)絡(luò)深度并未過大,殘差網(wǎng)絡(luò)的作用不明顯。綜上,本文提出的STAGCN 模型中各個模塊都有效果,能夠幫助模型更好地進行預(yù)測任務(wù)。

圖5 各個變種在PeMSD8 數(shù)據(jù)集上的性能比較Fig.5 Performance comparison of variant models on PeMSD8 dataset
本文提出了一種時空注意圖卷積模型STAGCN應(yīng)用于交通流量預(yù)測。STAGCN 是一個應(yīng)用Encoder-Decoder 框架,其中采用k階ChebNet 圖卷積網(wǎng)絡(luò)提取交通流的空間特征、同時將過去的周期交通數(shù)據(jù)作為編碼器輸入的一部分,捕獲交通數(shù)據(jù)的周期性。在解碼器部分,利用注意機制學(xué)習(xí)編碼器不同隱藏狀態(tài)的權(quán)重,基于此還設(shè)計了殘差網(wǎng)絡(luò)模塊穩(wěn)定模型的性能,避免因增加網(wǎng)絡(luò)深度引起性能降低的情況發(fā)生。在2 個真實的交通數(shù)據(jù)集上進行大量的實驗,結(jié)果表明,本文提出的STAGCN 模型表現(xiàn)要優(yōu)于其他的模型,可以有效地捕獲交通流的動態(tài)時空特性。
本文的模型在訓(xùn)練效率上略顯不足,在未來的工作中,會將其考慮進去,同時增加現(xiàn)實不可控因素(如天氣和社會事件等),提高預(yù)測任務(wù)的效率和精度。此外,可以進一步地將研發(fā)的STAGCN 模型應(yīng)用在別的時空數(shù)據(jù)預(yù)測中。