貴向泉,熊家昌,李 立,郭莎莎
(1.蘭州理工大學(xué) 計算機與通信學(xué)院,甘肅 蘭州 730050;2.中國石油天然氣股份有限公司長慶油田分公司 數(shù)字化與信息中心,陜西 西安 710000)
隨著城市化水平不斷提升,大量人口涌向城市,城市中的出行車輛增多,導(dǎo)致城市居民所面臨的交通擁堵問題日益突出。通過交通流預(yù)測,實現(xiàn)對未來交通狀況的預(yù)測評估,進而完成車輛調(diào)度分流、擁堵風(fēng)險評估等工作,這對于緩解城市交通壓力具有重要作用。
文中研究的交通流特指交通流量,是在特定時間段內(nèi)通過道路上某一斷面的車流數(shù)。交通流量是量化交通通行能力的一種有效指標(biāo),準(zhǔn)確的交通流預(yù)測信息可以為交通管理者提供有力的交通決策依據(jù)。目前交通流預(yù)測方法主要有兩類:模型驅(qū)動方法和數(shù)據(jù)驅(qū)動方法。模型驅(qū)動方法根據(jù)數(shù)學(xué)理論假設(shè)預(yù)先確定模型,并用少量數(shù)據(jù)去擬合模型來實現(xiàn)交通流預(yù)測。這種方法存在模型結(jié)構(gòu)單一、假設(shè)情況與現(xiàn)實情況較大差距等問題,導(dǎo)致預(yù)測模型在實際應(yīng)用中預(yù)測效果不好。常用的預(yù)測模型有卡爾曼濾波模型[1]、自回歸整合移動平均模型(ARIMA)[2]等。與模型驅(qū)動方法不同,數(shù)據(jù)驅(qū)動方法可以很好地克服交通流數(shù)據(jù)的不確定性。數(shù)據(jù)驅(qū)動方法分為傳統(tǒng)機器學(xué)習(xí)方法和基于深度學(xué)習(xí)的方法。傳統(tǒng)機器學(xué)習(xí)方法中被應(yīng)用于交通流預(yù)測的模型有支持向量機回歸(SVR)[3]、貝葉斯模型[4]、K最近鄰(KNN)[5]等。盡管傳統(tǒng)機器學(xué)習(xí)方法與模型驅(qū)動方法相比可以從交通流數(shù)據(jù)中學(xué)習(xí)統(tǒng)計規(guī)律,但其處理高維的交通流數(shù)據(jù)能力有限。
隨著深度學(xué)習(xí)方法的興起,具有高維數(shù)據(jù)處理和非線性數(shù)據(jù)特征挖掘能力的深度神經(jīng)網(wǎng)絡(luò)模型受到越來越多的青睞。Wang等人[6]提出一種長短記憶網(wǎng)絡(luò)(LSTM)編碼器-解碼器結(jié)構(gòu)的交通流預(yù)測模型,該模型能夠準(zhǔn)確地學(xué)習(xí)局部特征和長期依賴關(guān)系。Chen等人[7]構(gòu)建了一種卷積LSTM模型來估計短期交通流,該模型能同時挖掘交通流數(shù)據(jù)中的時空特征。袁華等人[8]在卷積神經(jīng)網(wǎng)絡(luò)(CNN)的基礎(chǔ)上提出擴張-因果卷積神經(jīng)網(wǎng)絡(luò),分別用擴張卷積和因果卷積來增加感受野的大小和解決信息泄露問題。桂智明等人[9]利用卷積神經(jīng)網(wǎng)絡(luò)和門控循環(huán)單元(GRU)來提取交通流的時空特征,同時利用交通流的周相似性提取周期特征。鳳少偉等人[10]提出一種K-means與GRU神經(jīng)網(wǎng)絡(luò)結(jié)合的交通流預(yù)測方法,該方法能夠很好地挖掘交通流時間序列的關(guān)聯(lián)性。傳統(tǒng)的CNN、LSTM、GRU等模型能夠很好地處理不平穩(wěn)非線性序列問題,但其大多只能提取到交通流數(shù)據(jù)的局部信息,且無法應(yīng)用于標(biāo)準(zhǔn)的網(wǎng)格數(shù)據(jù)中,而利用圖卷積可以將神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖結(jié)構(gòu)的數(shù)據(jù)中。Lv等人[11]提出了一種時間多圖卷積網(wǎng)絡(luò),用于聯(lián)合建模道路網(wǎng)絡(luò)中與各種全局特征的空間、時間、語義相關(guān)性。谷振宇等人[12]提出了一種基于時空圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的交通流預(yù)測模型,采用圖卷積神經(jīng)網(wǎng)絡(luò)捕獲交通流數(shù)據(jù)中的空間依賴關(guān)系,采用門控循環(huán)神經(jīng)網(wǎng)絡(luò)捕獲交通流數(shù)據(jù)中的時空依賴關(guān)系。然而交通流數(shù)據(jù)在時空維度上不僅具有依賴性,也存在著較強的相關(guān)性,且相關(guān)性是動態(tài)變化的。為了對交通流數(shù)據(jù)中的動態(tài)相關(guān)性進行建模,Guo等人[13]提出了一種新的基于注意力機制的圖卷積門控循環(huán)神經(jīng)網(wǎng)絡(luò)模型(ASTGCN),該模型使用利用圖卷積網(wǎng)絡(luò)捕獲用于建模空間依賴的拓撲特征,同時利用注意力機制根據(jù)速度數(shù)據(jù)的重要程度為特征分配權(quán)重,進一步提高了模型的預(yù)測精度。Song等人[14]提出了一種時空同步圖卷積網(wǎng)絡(luò)模型(STSGCN),該模型通過精心設(shè)計的時空同步建模機制,能夠有效地解決復(fù)雜的局部時空相關(guān)性以及局部時空圖中的異質(zhì)性問題。
車輛在道路網(wǎng)絡(luò)系統(tǒng)上聚集成為交通流,交通流的產(chǎn)生、擴展以及狀況演變過程與路網(wǎng)表征結(jié)構(gòu)密切相關(guān),因此路網(wǎng)表征結(jié)構(gòu)的關(guān)系權(quán)重確定是影響道路交通流預(yù)測精度的主要因素。目前在路網(wǎng)表征結(jié)構(gòu)的關(guān)系權(quán)重設(shè)計研究工作方面,一般采用單純的邏輯關(guān)聯(lián)(0或1)或以距離為運算準(zhǔn)則的高斯核來表示,相連關(guān)系則表示為無向連接的,這種權(quán)重和連通關(guān)系的設(shè)計存在對路網(wǎng)的空間結(jié)構(gòu)刻畫能力不足的問題。同時,交通系統(tǒng)具有時空強耦合的特性,不同地點的交通狀況相互影響,不同時間切片內(nèi)的交通狀況之間存在時間相關(guān)性,現(xiàn)有的交通流預(yù)測方法大多缺乏對交通流數(shù)據(jù)中的動態(tài)時空相關(guān)性進行建模的能力。并且現(xiàn)有研究在交通流數(shù)據(jù)中時間依賴性的挖掘上往往采用的是單一結(jié)構(gòu)的模塊,這存在對交通流數(shù)據(jù)中的時間特性挖掘不充分的問題。
針對上述問題,該文的研究工作情況如下:
(1)構(gòu)建一種權(quán)重鄰接矩陣,用節(jié)點的有向帶權(quán)連通關(guān)系來刻畫路網(wǎng)結(jié)構(gòu)的有向性,通過定義節(jié)點相對鄰近度來確定路網(wǎng)表征結(jié)構(gòu)的關(guān)系權(quán)重,解決了對路網(wǎng)空間結(jié)構(gòu)刻畫不足的問題。
(2)在時空維度上引入注意力機制,自適應(yīng)地賦予數(shù)據(jù)不同的重要性和捕獲節(jié)點之間的動態(tài)相關(guān)性,解決了交通流數(shù)據(jù)中動態(tài)時空相關(guān)性難以進行建模的問題。
(3)采用卷積神經(jīng)網(wǎng)絡(luò)和雙向門控循環(huán)神經(jīng)單元的組合模塊對已經(jīng)提取過空間特征的交通流數(shù)據(jù)進行時間特征的捕捉,解決了對交通流數(shù)據(jù)中時間特性挖掘不充分的問題。
文中t時刻有向空間圖Gt表述如式(1)所示。
(1)
其中,V是圖Gt中檢測節(jié)點(即為路網(wǎng)結(jié)構(gòu)中的傳感器)vi的集合,E表示圖Gt中有向邊的集合,(vi,vj)表示從節(jié)點vi到節(jié)點vj的交通流向,且(vi,vj)≠(vj,vi);A為權(quán)重連接矩陣,Aij表示節(jié)點vi與節(jié)點vj間的相對鄰近度,如式(2)~式(4)所示。
(2)
(3)
(4)
其中,k(i)表示當(dāng)dist(vi,vj)≤γ時,節(jié)點vi的k個鄰域節(jié)點的集合,dist(vi,vj)為節(jié)點vi到vj的歐氏距離,γ為設(shè)置的閾值,當(dāng)兩個節(jié)點的距離超出閾值γ的大小,則代表兩節(jié)點的權(quán)重系數(shù)為0,無依賴性。通過式(2)和式(3)可知,兩節(jié)點的相對鄰近度與如下因素有關(guān):(1)兩節(jié)點的歐氏距離;(2)整個路網(wǎng)圖中的檢測節(jié)點集合;(3)兩節(jié)點的局部鄰域節(jié)點。
針對交通流的特點,提出一種基于注意力機制和時空圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的交通流預(yù)測模型(ASTG-CRNN),將交通路網(wǎng)中的部分路段作為檢測路段來進行交通流預(yù)測。圖1給出了ASTG-CRNN模型的總體框架。根據(jù)人們的日常生活規(guī)律,交通流數(shù)據(jù)會存在一定的周期性和規(guī)律性變化。因此,模型采用三個具有相同結(jié)構(gòu)的獨立組件,分別對歷史交通流數(shù)據(jù)中的最近周期依賴關(guān)系、日周期依賴關(guān)系和周周期依賴關(guān)系進行建模,以便獲取到交通流數(shù)據(jù)中更深度的周期性信息。
假設(shè)采樣頻率每天為q次,當(dāng)前為t0時刻且預(yù)測序列段的長度為Tp。如圖2所示,沿時間軸截取三個長度為Th、Td和Tw的時間序列片段,分別作為最近周期、日周期、周周期組件的輸入,其中Th、Td和Tw均為Tp的整數(shù)倍,三個時間序列片段的具體情況如式(5)~式(7)所示:
圖2 三個時間序列片段的構(gòu)建示例
(1)最近周期時間序列片段,如圖2中①所示,此序列段與要預(yù)測的時間序列段在時間維度上直接相鄰。由于在現(xiàn)實生活中,交通擁堵的形成和分散是漸進的,因此與之直接相鄰的歷史時間序列會對其有較大影響。
Xh=(Xt0-Th+1,Xt0-Th+2,…,Xt0)
(5)
(2)日周期時間序列片段,如圖2中②所示,此序列段由相鄰幾天中與要預(yù)測的序列段時間相同的序列段組成。由于人們在工作日的活動情況幾乎是沒有太大變化的,比如公司和家庭兩點一線,存在固定的生活模式,因此交通流數(shù)據(jù)可能會呈現(xiàn)出重復(fù)的日周期模式。日周期組件的目的就是用來在時間維度上建模交通流數(shù)據(jù)中的日周期依賴性。
(3)周周期時間序列片段,如圖2中③所示,此序列段是由相鄰幾周中與要預(yù)測的序列段時間相同的序列段組成。通常來說,當(dāng)前周的工作日的交通流狀況與歷史周的工作日流量狀況存在相似性,但是與歷史周的周末的交通流狀況存在不同。周周期組件是用來在時間維度上捕獲交通流數(shù)據(jù)中的周周期性時間變化趨勢。
Xt0-7*q+1,…,Xt0-7*q+Tp)
(7)
這三個組件具有相同的網(wǎng)絡(luò)結(jié)構(gòu),每個組件由若干個時空模塊組成。每個時空模塊包含時空注意力模塊、圖卷積模塊、卷積神經(jīng)網(wǎng)絡(luò)與雙向門控循環(huán)神經(jīng)單元的組合模塊以及全連接層模塊。最后,根據(jù)權(quán)重矩陣對三個分量進行融合,得到最終的預(yù)測結(jié)果。
(1)時間注意力模塊。在時間維度上,不同時間切片上的交通狀況之間存在相互關(guān)系,且相互關(guān)系在不同情況下也存在差異。使用一種注意力機制來自適應(yīng)地賦予數(shù)據(jù)不同的重要性。以最近周期組件中的在第r層上時間注意力模塊為例,如式(8)~式(9)所示:
(8)
(9)
(10)
(2)空間注意力模塊。在空間維度上,不同區(qū)域內(nèi)的交通狀況存在一種相互的影響,且這種影響實際上還存在相當(dāng)高度的動態(tài)性。用注意力機制來自適應(yīng)地捕獲在空間維度上節(jié)點之間的動態(tài)相關(guān)性。同樣地,以最近周期組件第r層上的空間注意力模塊為例,如式(11)~式(12)所示:
(11)
(12)
其中,Vs、bs、W1、W2、W3都為權(quán)重矩陣,σ被用作激活函數(shù)。Sij的值在語義上表示的是節(jié)點vi和節(jié)點vj之間的相關(guān)強度,Sj表示第j列中的所有元素。同樣地,還需要對S進行歸一化操作得到矩陣S'。
在譜圖分析中,一個圖用它對應(yīng)的拉普拉斯矩陣表示。圖結(jié)構(gòu)的性質(zhì)可以從對應(yīng)的拉普拉斯矩陣中分析獲得。圖的拉普拉斯矩陣可以定義為L=D-A,A為帶權(quán)重的鄰接矩陣,D為包含節(jié)點度的對角矩陣,拉普拉斯矩陣的特征分解如式(13)~式(14)所示:
L=UΛUT
(13)
Λ=diag([λ0,λ1,…,λN-1])
(14)
然而,當(dāng)圖的尺度變大時,對拉普拉斯矩陣進行特征值分解所付出的代價也隨之變高。該文采用切比雪夫多項式來解決該問題,如式(15)~式(16)所示:
(15)
(16)
其中,參數(shù)θ為多項式系數(shù)的向量,λmax為拉普拉斯矩陣的最大特征值,⊙為哈達瑪積。切比雪夫多項式的遞歸定義如式(17)所示:
Tk(x)=2xTk-1(x)-Tk-2(x)
(17)
且T0(x)=1,T1(x)=x,通過卷積核gθ提取圖中每個節(jié)點周圍0到K-1階鄰域的信息。
該文使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)與雙向門控循環(huán)神經(jīng)單元(BiGRU)的組合模塊對已經(jīng)提取空間依賴關(guān)系的交通流數(shù)據(jù)再進行時間依賴關(guān)系的提取。通過合并相鄰時間片上的信息來進一步堆疊時間維度上的卷積層,同樣地,以最近周期時間組件在第r層的卷積操作為例,如式(18)所示:
(18)
使用ReLU作為組合模塊中的激活函數(shù),相較于SELU(縮放指數(shù)線性單元)具有更好的收斂性并且可以有效地避免梯度消失的問題。在進行完卷積操作后,還需要將結(jié)果輸入到BiGRU中,用來增強對交通流數(shù)據(jù)中的時間依賴關(guān)系的提取。如圖3所示,為了防止過擬合和提高運行效率,在卷積層之后添加了池化層。
BiGRU是由向前和向后兩個單向的GRU層堆疊而成,其中前向GRU是對輸入從開始到結(jié)束的前向交通流序列進行預(yù)測,后向GRU是對輸入從結(jié)束到開始的反向交通流序列進行預(yù)測。由于綜合考慮了前后時刻交通流對當(dāng)前時刻交通流的影響,模型的精度得到了提升。以最近周期時間組件在第r層上BiGRU的輸出為例,如式(19)所示:
(19)
(20)
最后還要將處理后的數(shù)據(jù)輸入到全連接層模塊,以確保當(dāng)前時間組件下每個時空模塊的輸出具有相同的尺寸和形狀。將多個時空模塊進行疊加,可以進一步提取到更大范圍的動態(tài)時空相關(guān)性。
當(dāng)融合不同組件的輸出時,三個組件的影響權(quán)重是不同的,并且影響權(quán)重可以從歷史的交通流數(shù)據(jù)中學(xué)習(xí)到。融合后的最終預(yù)測結(jié)果如式(21)所示:
(21)
其中,Wh、Wd、Ww為權(quán)重矩陣,分別反映了三個時間維度組件對預(yù)測目標(biāo)的影響程度。
為了驗證模型的有效性,選取美國公路的兩個公開交通流數(shù)據(jù)集PeMS04和PeMS08進行實驗驗證。這些數(shù)據(jù)集是由Caltrans Performance Measurement System(PeMS)每30秒實時收集一次,并且交通流數(shù)據(jù)每隔5分鐘匯總一次。PeMS04包含16 992條交通流數(shù)據(jù)以及采集這些信息的307個檢測節(jié)點的地理位置信息;PeMS08包含17 856條交通流數(shù)據(jù)以及采集這些信息的170個檢測節(jié)點的地理位置信息。
為了對比分析預(yù)測模型的預(yù)測效果,選擇在交通流預(yù)測中比較有代表性的預(yù)測模型,包括LSTM[15]、GRU[16]、ConvLSTM[17]、ASTGCN[13]以及STSGCN[14]作為對比基線模型。這些基線模型是參考對應(yīng)文獻進行構(gòu)建。
選取平均絕對誤差(MAE)、均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)作為實驗驗證評價指標(biāo)。指標(biāo)算法如式(22)~式(24)所示:
(1)平均絕對誤差。
(22)
(2)均方根誤差。
(23)
(3)平均絕對百分比誤差。
(24)
以6∶2∶2的比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集和測試集??紤]到計算效率和預(yù)測性能的提升,設(shè)置切比雪夫多項式的項數(shù)為3。在訓(xùn)練階段將MAE作為損失函數(shù)并進行重復(fù)實驗對超參數(shù)進行調(diào)整,最后設(shè)置學(xué)習(xí)率為0.000 1,批量大小為64,訓(xùn)練迭代次數(shù)在PeMS04和PeMS08數(shù)據(jù)集上分別為200和80。
對于三個時間組件的長度,設(shè)置不同的Th、Td以及Tw值來比較模型的預(yù)測效果,如圖4所示。從圖4中可以看出,當(dāng)Th=36、Td=24和Tw=24時,模型的預(yù)測效果較佳。同時設(shè)置預(yù)測窗口Tp=12,即目標(biāo)是預(yù)測在未來一小時內(nèi)的交通流。
圖4 在PeMS04數(shù)據(jù)集上ASTG-CRNN模型置不同的Th、Td以及Tw值時在未來1h上預(yù)測結(jié)果的MAE對比
(1)各模型多步長預(yù)測結(jié)果。
用ASTG-CRNN模型和前述的5種基線模型分別對未來1h內(nèi)的交通流進行預(yù)測,每5分鐘為一步長,預(yù)測步長12步。在數(shù)據(jù)集PeMS04上ASTG-CRNN模型在前3步的預(yù)測效果優(yōu)勢不明顯,如圖5(a)(b)所示,MAE、RMSE要略差于STSGCN模型,而在后9步ASTG-CRNN模型的預(yù)測效果要優(yōu)于其它基線模型,尤其是在MAPE指標(biāo)上優(yōu)勢明顯,如圖5(c)所示。而在數(shù)據(jù)集PeMS08上ASTG-CRNN模型在前12步的預(yù)測效果均要優(yōu)于其它基線模型,如圖6(a)(b)以及(c)所示,尤其是在后6步上當(dāng)STSGCN、ASTGCN的三項指標(biāo)大幅降低的時候,ASTG-CRNN模型的三項指標(biāo)降幅并不明顯且指標(biāo)數(shù)值低于其它基線模型,顯示出該文提出的模型在多步長交通流預(yù)測方面有著一定的優(yōu)越性。但在兩項數(shù)據(jù)集上ASTG-CRNN等模型在三項評價指標(biāo)上的抖動幅度要明顯大于LSTM、GRU以及CNN-LSTM模型,這是因為LSTM、GRU以及CNN-LSTM模型只對交通流序列的時間或空間特征進行提取,而ASTG-CRNN等模型要同時考慮到時空相關(guān)性,對交通流序列的時間和空間特征進行捕捉,因而在穩(wěn)定性方面ASTG-CRNN模型的效果要差些。ASTG-CRNN模型相較于其它基線模型的具體預(yù)測誤差數(shù)值對比如表1所示。
表1 在未來15 min、30 min和1 h上ASTG-CRNN模型和基線模型的預(yù)測誤差數(shù)值
圖5 各模型在PeMS04數(shù)據(jù)集上不同時間步長的預(yù)測結(jié)果對比
圖6 各模型在PeMS08數(shù)據(jù)集上不同時間步長的預(yù)測結(jié)果對比
(2)各模型交通流預(yù)測值與真實值對比。
為了能直觀地說明ASTG-CRNN模型的預(yù)測效果,分別在PeMS04和PeMS08數(shù)據(jù)集上隨機選取一個路段,分別命名為路段1和路段2,并對這兩個路段提前一小時的交通流預(yù)測情況進行可視化,對比各模型的預(yù)測值與真實值之間的誤差,時間間隔為5分鐘,如圖7、圖8所示。從圖中可以看出,ASTG-CRNN模型對真實值的擬合效果最好,而其它模型存在明顯的滯后性,尤其在時間段9:00-10:00上對比效果明顯。這說明ASTG-CRNN模型能夠有效預(yù)測出未來的交通流情況和趨勢。
圖7 各模型在PeMS04數(shù)據(jù)集上路段1的預(yù)測值與真實值對比
圖8 各模型在PeMS08數(shù)據(jù)集上路段2的預(yù)測值與真實值對比
(3)消融實驗。
為了凸顯該文使用的注意力機制、CNN-BiGRU組合模型以及構(gòu)建的有向帶權(quán)鄰接矩陣的優(yōu)勢,設(shè)置了對比實驗分別驗證其對模型的影響。STG-CRNN為ASTG-CRNN模型去除注意力機制后的模型,ASTG-RNN、ASTG-CNN分別為ASTG-CRNN模型去除CNN、BiGRU后的模型,NMASTG-CRNN模型為在ASTG-CRNN模型的基礎(chǔ)上將鄰接矩陣相連節(jié)點的權(quán)重設(shè)置為0或1后的模型。各模型在兩種數(shù)據(jù)集上不同時間步長的RMSE預(yù)測結(jié)果如表2所示。由表1、表2可知,注意力機制對ASTG-CRNN模型的預(yù)測效果都有一定作用。ASTG-CRNN的效果要好于STG-CRNN,這是因為時空注意力機制可以對交通流數(shù)據(jù)中的時空相關(guān)性進行建模;ASTG-RNN、ASTG-CNN的預(yù)測效果比ASTG-CRNN差,這是因為CNN-BiGRU組合模型可以對交通流數(shù)據(jù)中的時間特征進行充分捕捉,從而捕獲到隱藏的信息;而ASTG-CRNN相較于NMASTG-CRNN有著更低的預(yù)測誤差,則說明通過構(gòu)建權(quán)重鄰接矩陣挖掘路網(wǎng)表征結(jié)構(gòu)關(guān)系,比以簡單的邏輯關(guān)系結(jié)構(gòu)設(shè)計權(quán)重能夠更好地表征路網(wǎng)結(jié)構(gòu)。
表2 對比模型在不同時間步長上的RSME預(yù)測數(shù)值
提出的ASTG-CRNN交通流預(yù)測模型能夠?qū)β肪W(wǎng)表征結(jié)構(gòu)進行準(zhǔn)確刻畫,解決交通流數(shù)據(jù)中動態(tài)時空相關(guān)性難以進行建模以及時間特征捕獲不充分的問題。該模型首先定義檢測節(jié)點相對鄰近度對路網(wǎng)表征結(jié)構(gòu)進行刻畫,再引入時空注意力機制對交通流數(shù)據(jù)中動態(tài)時空相關(guān)性進行建模,隨后再利用圖卷積對交通流數(shù)據(jù)中的空間特征進行捕捉,最后利用CNN-BiGRU組合模塊對交通流數(shù)據(jù)中時間特征進行充分捕捉。實驗結(jié)果表明,ASTG-CRNN模型可以有效降低多步長交通流預(yù)測誤差。