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