楊國亮,習(xí) 浩,龔家仁,鄒俊峰
(江西理工大學(xué) 電氣工程與自動化學(xué)院,江西 贛州 341000)
隨著數(shù)據(jù)采集技術(shù)的蓬勃發(fā)展,車輛軌跡、道路傳感器等交通數(shù)據(jù)逐漸增多。根據(jù)歷史觀測數(shù)據(jù)及時地進行交通流預(yù)測,可以幫助出行者更好地制定出行計劃,緩解交通擁堵,提高交通運營效率[1]。因此,城市交通流預(yù)測[2]越來越受到人們的關(guān)注。
現(xiàn)有的交通流預(yù)測研究可以大致分為2 個方向:動態(tài)建模和數(shù)據(jù)驅(qū)動的方法。動態(tài)建模[3]是使用數(shù)學(xué)工具和物理知識通過仿真來實現(xiàn)交通流預(yù)測,仿真過程不僅需要復(fù)雜的系統(tǒng)編程和大量的算力,而且建模時的假設(shè)和簡化都會降低模型的預(yù)測性能。因此,研究人員將注意力轉(zhuǎn)移到了數(shù)據(jù)驅(qū)動的方法上。
經(jīng)典的統(tǒng)計模型和機器學(xué)習(xí)模型是數(shù)據(jù)驅(qū)動方法的兩大代表。自回歸綜合移動平均模型(autoregressive integrated moving average model,ARIMA)及其變體[4]是經(jīng)典的統(tǒng)計方法,然而這種模型受到時間序列的平穩(wěn)假設(shè)的限制,且未能考慮到時空的相互影響。因此,該方法不能滿足工程應(yīng)用上的預(yù)測性能需求。近年來,經(jīng)典的統(tǒng)計模型在交通流預(yù)測任務(wù)上受到了機器學(xué)習(xí)方法的有力挑戰(zhàn)。通過K近鄰(K-nearest neighbor,KNN)算法[5]、支持向量機(support vector machine,SVM)[6]等機器學(xué)習(xí)方法,可以實現(xiàn)更高的預(yù)測精度和更復(fù)雜的數(shù)據(jù)建模。然而,這些方法只考慮了時間特征,而忽略了空間特征對準確預(yù)測的重要性。最近,基于深度學(xué)習(xí)的交通流預(yù)測方法得到了廣泛關(guān)注,一些研究人員將圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)[7]及其變體應(yīng)用到交通流預(yù)測任務(wù),通過聚合鄰域節(jié)點信息來編碼交通網(wǎng)絡(luò)的先驗知識,捕獲復(fù)雜的空間特征。之后使用遞歸神經(jīng)網(wǎng)絡(luò)(recursive neural network,RNN)在時間軸上獲取時間特征。
盡管GCN的引入使得預(yù)測模型精度有很大提升,但仍然缺乏有效的方法來建模路網(wǎng)的時空相關(guān)性。交通路網(wǎng)中普遍存在3種不同的影響,路網(wǎng)中的每個節(jié)點都會在同一時間步中影響相鄰的節(jié)點,這種影響來源于路網(wǎng)的空間結(jié)構(gòu);同時,由于時間相關(guān)性,每個節(jié)點也會在下一時間步中影響自身;此外,由于時空同步相關(guān)性[8],每個節(jié)點也會在下一時間步影響其相鄰節(jié)點?,F(xiàn)有方法只是使用2個獨立的模塊直接獲取前兩種影響,而忽略了第3 種時空影響。除此之外,現(xiàn)有的模型僅依賴基于空間距離構(gòu)建的圖來考慮道路節(jié)點間的關(guān)系,這種方式忽略了節(jié)點間的時間模式相似性[9]。例如:在上下班高峰期,大多數(shù)辦公樓附近的道路都會出現(xiàn)一定的交通堵塞。
所以,為了解決現(xiàn)有工作中存在的2個問題,本文提出了一個基于多圖融合的時空預(yù)測模型(spatio-temporal fusion GCN,STFGCN)。受動態(tài)時間規(guī)整(dynamic time warping,DTW)[10]算法的啟發(fā),首先,提出了一種數(shù)據(jù)驅(qū)動的圖構(gòu)建方法:基于時間序列的相似性構(gòu)建一個時間圖;然后,將多個空間圖和時間圖融合成局部時空圖以充分獲取隱藏的時空依賴關(guān)系;最后,引入GCN 和時間卷積網(wǎng)絡(luò)(temporal convolutional network,TCN)對路網(wǎng)中長期的時空依賴關(guān)系進行提取。
交通網(wǎng)絡(luò)被定義為一個無向圖,其中,V為節(jié)點集合,E為兩兩節(jié)點之間的邊集合,且W∈RN×N對應(yīng)于圖G中的鄰接矩陣,拉普拉斯矩陣L =D-W。節(jié)點是位于交通路網(wǎng)相應(yīng)道路上的傳感器,每只傳感器都會記錄一些交通信息,如交通流量、車速和道路占用率。
對于一個交通網(wǎng)絡(luò),t 時刻在路網(wǎng)G 上觀察到的歷史交通流表示為圖信號xt∈RN×P,其中,N和P分別為路網(wǎng)節(jié)點數(shù)和每個節(jié)點的特征數(shù)。給定T 長度的歷史交通數(shù)據(jù)X =[x1,x2,…,xT]∈RN×P×T,交通流預(yù)測的目的是利用給定數(shù)據(jù)去預(yù)測未來Tp步長的所有節(jié)點的流量值,記為Y =[y1,y2,…,yTp]∈RN×Tp。根據(jù)Tp的大小,將Tp<30視為短期預(yù)測;30≤Tp≤60視為長期預(yù)測。
GCN包含譜域和空間域兩種。譜域圖卷積是借助于圖拉普拉斯矩陣的特征值和特征向量,對兩個圖信號傅里葉變換后的乘積進行傅里葉逆變換來完成基于譜域的圖卷積操作。基于空間域的GCN 將卷積操作定義在每個節(jié)點的連接關(guān)系上,提出使用類似卷積的操作來聚合每個節(jié)點及其鄰節(jié)點的特征,提取拓撲圖上的空間特征。
交通傳感器數(shù)據(jù)、語音數(shù)據(jù)和氣溫數(shù)據(jù)等都屬于時間序列數(shù)據(jù),對這些數(shù)據(jù)的分析通常需要在數(shù)據(jù)庫中搜索類似的時間序列。衡量時間序列相似度的方法可大致歸為兩類:1)基于時間步,如歐氏距離通過計算時間序列中點對點的距離和來反映序列的相似程度;2)基于序列曲線形狀,如DTW先計算2 個時間序列的歐氏距離,然后對時間序列進行縮放,以實現(xiàn)2個序列之間的距離最小化。雖然,歐氏距離方法計算簡單,支持多種類型的數(shù)據(jù)挖掘方法,但其對數(shù)據(jù)噪聲的魯棒性較差,序列在時間軸上的微小變化都會引起結(jié)果的巨大變化。
所以,在本文模型中,利用DTW算法來計算不同道路歷史數(shù)據(jù)的相似度,然后根據(jù)結(jié)果動態(tài)構(gòu)建出一個時間圖,作為交通流預(yù)測的輔助信息。給定2 個時間序列X =[x1,x2,…,xn]和Y =[y1,y2,…,ym],序列長度分別為n 和m。首先,為了對齊這2 個時間序列,定義一個序列距離矩陣Mn×m,矩陣元素Mi,j=|xi-yi|表示xi和yi兩個點的距離,所以Mn×m矩陣含有X和Y中各點之間的距離信息。然后定義一個累積距離矩陣MC,其中元素的計算方式如下
所以,經(jīng)過多次迭代后可以得到矩陣MC(n,m),序列X和Y最佳對齊后的距離為dist(X,Y)=MC(n,m)1/2,可以用于表示2個時間序列之間的相似度。
本文提出的基于融合圖的交通流預(yù)測模型結(jié)構(gòu)如圖1左,預(yù)測模型由3個結(jié)構(gòu)相同的時空組件構(gòu)成,分別被用于建模預(yù)測窗口的鄰近、日周期和周周期的時空依賴關(guān)系,然后用可學(xué)習(xí)參數(shù)矩陣進行權(quán)重學(xué)習(xí),將3 個組件的輸出進行融合。時空組件的結(jié)構(gòu)如圖1 右,由GCN 和TCN 組成。組件首先接受歷史數(shù)據(jù)和局部時空圖的鄰矩陣作為圖卷積模塊的輸入,進行局部時空特征的捕獲,然后將其輸出傳遞給時間卷積模塊,用于捕獲長期時空特征。
圖1 模型結(jié)構(gòu)
假設(shè)交通流數(shù)據(jù)的采樣頻率為每天q 次,預(yù)測窗口為XTp,可以沿時間軸的歷史輸入數(shù)據(jù)截取3 個時間序列段Xh、Xd和Xw分別作為近期、日周期和周周期分量。輸入時間序列與預(yù)測窗口的關(guān)系如圖2所示。
圖2 輸入時間序列與預(yù)測窗口間的關(guān)系
2.1.1 生成時間圖
當(dāng)預(yù)測某一路段的交通流量時,不僅可以根據(jù)該路段附近的車流量推理得出,還可以借助時間模式相似的道路的車流量信息,獲得道路交通流的大致走向,從而給出更準確的預(yù)測值。例如,圖3 為PEMS08 數(shù)據(jù)集中節(jié)點124 和節(jié)點55在某一時間段的交通流量曲線,二者的曲線走勢極為相似,所以稱這2個節(jié)點具有相似的時間模式。因此,在進行預(yù)測時,就可以利用這些模式相似節(jié)點的流量信息去輔助推理其他節(jié)點的未來流量。
圖3 節(jié)點數(shù)據(jù)走勢圖
所以,在此提出時間圖的定義,通過DTW算法計算出節(jié)點間歷史時間序列的距離dist(vi,vj),然后根據(jù)式(5)生成一個含有時間序列相似度的時間鄰矩陣
式中 ε為確定時間鄰矩陣Adtw的稀疏性的閾值,vi和vj均為路網(wǎng)中的節(jié)點。
2.1.2 構(gòu)建局部時空圖
為了能夠直接捕獲每個節(jié)點對當(dāng)前時間和相鄰時間步的時空影響,提出了一個局部時空圖的概念。每個時間步的交通網(wǎng)絡(luò)都有一個空間圖,這個空間圖是通過節(jié)點之間的空間關(guān)系構(gòu)建的,且這種關(guān)系不隨時間變化。通過將相鄰時間步中的每個節(jié)點與自身相連,可以將多個空間圖連接起來,連續(xù)的3個時間片連接起來構(gòu)成的圖稱為局部時空圖,如圖4(a)。根據(jù)局部時空圖的拓撲結(jié)構(gòu),可以直接捕捉每個節(jié)點與其時空鄰居之間的時空依賴關(guān)系。
圖4 局部時空圖
使用A∈RN×N表示數(shù)據(jù)集中空間圖的鄰矩陣,含有N個節(jié)點,A′∈R3N×3N表示在3個連續(xù)空間圖上構(gòu)建的局部時空圖的鄰矩陣,含有3N個節(jié)點。圖4(b)為局部時空圖的鄰矩陣,其對角線上的鄰矩陣Ati是ti時間步空間圖的鄰矩陣,由數(shù)據(jù)集給出;對角線兩側(cè)的鄰矩陣Ati-tj表示ti和tj2個相鄰時間步的同一節(jié)點的連通性,若相鄰時間步中是同一節(jié)點,其值為1,反之為0;2 個對角位置的矩陣Adtw含有歷史時間序列相似信息,作為輔助信息融合到局部時空矩陣中。
在本文模型中采用一個GCN 來聚合時空網(wǎng)絡(luò)中的局部時空特征。GCN 的輸入是圖信號矩陣和局部時空鄰矩陣,圖卷積操作可用式(6)表示
式中 A′∈R3N×3N為局部時空圖的鄰矩陣,X∈R3N×C為圖卷積的輸入,Y∈R3N×Cout為圖卷積的輸出,W1∈RC×C′,W2∈RC×C′,b1∈RC′,b2∈RC′為可訓(xùn)練參數(shù),Sigmoid為激活函數(shù),?為元素積。
圖5所示為TCN卷積結(jié)構(gòu)。首先,在網(wǎng)絡(luò)中應(yīng)用因果卷積,使得t時刻的輸出僅與上一層t時刻及之前的元素相關(guān),同時一維卷積可以接收任意長度的序列輸入;其次,通過膨脹卷積使得TCN可以自由調(diào)節(jié)網(wǎng)絡(luò)的感受野,且可以通過零填充以保持輸入和輸出具有相同的長度;最后,通過添加殘差鏈接、WeightNorm 和Dropout 來提升網(wǎng)絡(luò)的訓(xùn)練效率。
圖5 TCN卷積結(jié)構(gòu)
本文實驗使用的交通數(shù)據(jù)集是PEMSD4 和PEMSD8。數(shù)據(jù)信息包含3種流量度量:總流量、平均速度和平均占用率。在本模型中,將預(yù)測的交通流量作為輸出。
數(shù)據(jù)集按比例6:2:2 劃分為:訓(xùn)練集、驗證集和測試集。在驗證集上根據(jù)誤差最小選擇最佳模型參數(shù),并在測試集上對該模型進行測試。
將STFGCN模型與深度學(xué)習(xí)方法進行了比較?;€模型為:1)歷史均值(historical average,HA)法;2)長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò);3)門控循環(huán)單元(gated recurrent unit,GRU);4)時空圖卷積網(wǎng)絡(luò)(spatialtemporal GCN,STGCN);5)時空注意圖卷積網(wǎng)絡(luò)(attention spatial-temporal GCN,ASTGCN)。
STFGCN模型的參數(shù)設(shè)置如下:輸入的3 段周期數(shù)據(jù)長度均為12,預(yù)測長度為12,即預(yù)測未來1 h的交通流。在訓(xùn)練階段,批次大小設(shè)置為16,學(xué)習(xí)率為0.001,GCN 和TCN的輸入通道數(shù)64,實驗以Huber loss 作為損失函數(shù)。引入平均絕對誤差(mean absolute error,MAE)、均方根誤差(root mean square error,RMSE)和 平 均 絕 對 百 分 誤差(mean absolute percentage error,MAPE)作為評價指標用于評估不同方法的預(yù)測性能。
表1為STFGCN與5種基線模型在2個數(shù)據(jù)集上預(yù)測未來1 h交通流的實驗結(jié)果,數(shù)據(jù)表明STFGCN模型在2個數(shù)據(jù)集上的預(yù)測性能均要優(yōu)于基線模型。
表1 模型預(yù)測性能對比
從實驗結(jié)果可知,本文提出的STFGCN 模型能夠直接捕獲路網(wǎng)中的3種時空影響,且通過DTW算法生成了具有相似時間模式的時間矩陣作為輔助信息,然后用于GCN和TCN構(gòu)成的預(yù)測模塊。在PEMSD4數(shù)據(jù)集上STFGCN模型較ASTGCN模型在MAE、RMSE和MAPE評價指標數(shù)值上分別下降了4.69%、5.38%和6.50%;在PEMSD8 數(shù)據(jù)集上,STFGCN模型在MAE、RMSE和MAPE評價指標數(shù)值上分別下降了11.04%、6.45%和16.48%。
由圖6 可知,預(yù)測時間越長,相應(yīng)的預(yù)測難度越大,因此預(yù)測誤差會逐漸增大,但是不同模型的誤差增長率(即折線斜率)不同。STFGCN模型通過構(gòu)建局部時空圖,可以更好地捕捉復(fù)雜的時空依賴及其動態(tài)變化,并且使用TCN捕獲長期時間依賴,所以在短期和長期預(yù)測中均取得了最好的預(yù)測效果。
圖6 不同方法隨預(yù)測間隔的性能變化
STFGCN-A模型、STFGCN-T模型分別為在STFGCN模型的基礎(chǔ)上,從局部時空矩陣去除DTW算法生成的時間矩陣、去除捕獲長期時間依賴的TCN。表2 給出了STFGCN模型同2個變體模型預(yù)測未來1 h交通流的實驗結(jié)果。
表2 消融實驗結(jié)果
由表2得知,相比2 個變體模型,STFGCN模型的各個評價指標均為最小,表明STFGCN 模型中的時間矩陣和TCN均會影響模型的預(yù)測精度,組合在一起可以得到最好的預(yù)測性能。其中時間矩陣的采用對實驗結(jié)果產(chǎn)生了較大影響,在PEMSD4數(shù)據(jù)集中尤為明顯;TCN可以進一步獲取長期的時空關(guān)系,也一定程度上提升了模型的預(yù)測精度。
本文提出了一種新的用于交通流預(yù)測的時空網(wǎng)絡(luò),可以從歷史交通數(shù)據(jù)中獲取節(jié)點間的相似性信息并生成時間矩陣,同時將空間圖和時間圖進行融合以生成局部時空圖,可以直接捕獲路網(wǎng)的時空關(guān)系并生成預(yù)測值。實驗結(jié)果表明:STFGCN模型可以有效降低預(yù)測模型的誤差,準確預(yù)測交通流的演變趨勢。