王婧娟,陳慶奎,2
1(上海理工大學 管理學院,上海 200093)
2(上海理工大學 光電信息與計算機工程學院,上海 200093)
交通預測是典型的時空數據預測問題.隨著交通運輸業的發展,大量攝像頭、傳感器和其他信息收集設備已經部署在道路上[1].每個設備都放置在一個獨特的地理空間位置,這些設備存儲了大量的具有地理信息的交通時間序列數據,為交通預測提供了堅實的數據基礎.由于不同類型的交通數據嵌入在連續的空間中并隨時間不斷變化,因而有效提取時空相關性對交通預測非常重要.許多研究者已經為此做出了很大的努力.道路區域間具有明顯的時空相似性[2].在時間維度上,區域當前時刻的交通狀態與前一個時間段或前幾個時間段的交通狀態存在相關關系,同理,該區域當前時刻的交通狀態也與后一個時間段的交通狀態存在相關關系.在同一周內,某一區域工作日某一時段的交通運行狀態與相鄰工作日同一時段的運行狀態具有相似性,表現為天相似性,與上一周同一個工作日的運行狀態具有相似性,表現為周相似性[3].在空間維度上,由于區域中的路段按照一定的拓撲結構彼此連通,分布在路段上的交通狀態在空間維度上是有相關關系的,即為空間相關性.因此,研究區域間的時空相似性,對于交通預測等工作具有重要意義.
初期的時間序列分析模型被用于交通預測領域[4],然而,在實際應用中,它們很難處理不穩定和非線性的數據.之后,傳統的機器學習方法被應用于對復雜的交通數據進行建模[5],但仍然難以同時考慮高維交通數據的時空相關性.此外,這種方法的預測性能嚴重依賴于特征工程,這通常需要相應領域專家的大量的實驗和經驗.近年來,許多研究人員使用深度學習方法來處理高維時空數據,如采用卷積神經網絡(CNN)來有效地提取基于網格的數據的空間特征[6],但這些方法仍然不能同時對交通數據的時空特征和動態相關性進行建模.
現有的研究中盡管同時考慮了對時間和空間的建模[7],但這些方法仍有不足.
1)先前的區域間的空間依賴根據歷史交通數據學到一個靜態的空間依賴,但區域間的依賴強弱會隨時間變化而變化.比如,在早上,居民區和商業區之間存在很強的依賴性,但在深夜,此關系就淡化了.然而,之前的研究中沒有考慮此種動態的依賴關系.
2)現存的研究忽略了長期的周期依賴.交通數據本身具有很強的日和周的周期性,但又不是嚴格周期性.比如,工作日的高峰期通常在下午,但可能從下午4:30-下午7:00不等.
3)沒有考慮外部因素(天氣、道路信息).
為了解決以上問題,我們提出了時空注意力網絡(STAN)用于交通預測.該網絡使用局部CNN獲取空間依賴,使用LSTM獲取時間依賴.具體來說,利用門控局部CNN對區域間的動態相似性進行空間依賴,利用周期平移的注意力機制獲取長期周期依賴.
交通預測是指以歷史的、現有的交通數據及相關因素為依據,預測目標區域未來的交通狀態信息.交通預測是智能交通領域研究的重點課題[8],其中數據驅動的交通預測問題一直受到廣泛關注.
在傳統的時間序列模型中,自回歸移動平均模型(ARIMA)、卡爾曼濾波及其變體在交通預測問題中得到了廣泛的應用[9].但這些方法都無法對時空的復雜非線性關系建模.
深度學習模型為捕獲非線性時空關系提供了一種新的有前途的方法,該方法在計算機視覺和自然語言處理方面取得了巨大的成功.由于神經網絡能夠從復雜的非線性的交通數據中有效地提取特征,因此大量不同類型的神經網絡被提出并應用于交通預測,例如,循環神經網絡(RNN)、長短期記憶網絡(LSTM)[10]、卷積神經網絡(CNN)、圖卷積神經網絡(GCN)等.
注意力機制通過對輸入的數據或者提取的特征進行自適應的關注,提高模型提取特征的能力,常應用于圖像處理、自然語言處理、推薦系統等領域[11].在本文的工作中,通過注意力機制實現歷史交通數據的自適應關注和累積,從而實現對交通數據中的長期依賴建模.
文獻[12]提出基于CNN的交通預測模型,將交通數據格式化為圖像,利用局部接受域限制圖像中相鄰數據點之間的依賴關系,從而提取相關特征用于交通預測.文獻[13]提出了一種基于深度學習的預測算法DeepTFP,以預測城市每條交通道路上的交通流量,其利用3個深度殘差神經網絡對交通流量的時間緊密度、周期和趨勢特性進行建模.但這些方法在建模時沒有同時考慮空間依賴和時間依賴,并把區域間的依賴關系視為靜態的.還有些研究忽略了時間序列預測中的長期周期性影響.為了克服上述缺點,本文用一個門控機制獲取區域間的動態相似性,并用一個周期性注意力轉移機制解決長期周期時間平移現象.

問題(交通量預測)給定t時段的數據,交通流預測問題旨在預測時段t+1的開始和結束的交通量.
時空注意力網絡(STAN)的架構如圖1所示,其中圖1(a)是周期性注意力轉移機制捕捉長期周期性依賴.對于每一天,我們還使用LSTM來捕獲序列信息.圖1(b)使用LSTM來捕獲短期時間依賴.圖1(c)描述的是門控機制通過控制空間信息傳播來跟蹤動態空間相似性表示.FC表示全連接層,Conv表示卷積操作.圖1(d)預測結果輸出.

圖1 模型框架圖Fig.1 Architecture of STAN
3.2.1 局部時空網絡
為了捕獲空間和時間序列依賴,我們分別使用局部CNN和LSTM處理空間和短期時間依賴,把兩種不同的流量(開始和結束)一起預測.下面分別介紹這兩個依賴.
3.2.1.1 局部空間依賴
根據文獻[14],使用卷積神經網絡(CNN)捕獲空間關系.將整個城市視為一幅圖片,簡單應用CNN不會達到最佳性能,因為圖像范圍太大包含了弱相關區域,會對預測的目標區域產生負效果.根據地理學第一定律,只取鄰近區域作為空間表示.因此,我們使用局部CNN模型,用于捕捉鄰近區域間的局部特征,從而實現對空間依賴建模.
對于每個時段t,我們將目標區域i及其周圍鄰居視為具有兩通道Yi,t∈S×S×2的S×S圖像,一個通道包含開始流量信息,另一個是結束流量信息.目標區域在圖像的中間.局部CNN使用Yi,t作為輸入每個卷積層的定義如式(1)所示:
(1)
其中,W(k)和b(k)是參數.堆疊K層卷積后,用一個全連接層來推測區域i的空間表示,記作yi,t.
3.2.1.2 短期時間依賴
為了解決傳統遞歸神經網絡(RNN)的梯度爆炸和消失問題,我們使用LSTM來捕獲時間序列依賴.我們使用原始的LSTM版本并將其表示為式(2):
hi,t=LSTM([yi,t;ei,t],hi,t-1)
(2)
其中,yi,t為CNN的輸出;hi,t是區域i在時段t的輸出表示;hi,t-1是上一時刻的輸出;ei,t表示外部因素(如天氣信息等).
3.2.2 空間動態相似性:門控機制
如前所述,局部CNN用于捕獲空間依賴.CNN通過局部連接和權值共享來處理局部結構相似性.在局部CNN中,局部空間依賴取決于歷史交通流量的相似性,但提取的空間依賴性是靜態的,不能完全地反映目標區域和其鄰居間的關系.一個更直接的表示區域間交互關系的方式是交通流.如果兩個區域間存在大量的客流,說明他們之間的關系緊密(即越相似).交通流用于控制流量信息在區域間的轉移.因此,我們設計了一個門控機制,該機制以學習層次結構中的動態空間依賴關系.
類似于局部CNN,我們構建了局部空間流量圖來表示流量的空間依賴.某個區域在某個時間段內的交通流量分為兩類,流入和流出,相應地構造該時段該區域的兩個流矩陣,即流入矩陣(t時刻各個D點出發到達O點)和流出矩陣(t時刻O點出發到達各D點).其中矩陣中的每個元素表示對應區域的流入流出流量.圖1(c)給出了一個流出矩陣.
給定一個區域i,我們獲得過去l個時間間隔(即從t-l+1到t).將該時間區間獲得的流量矩陣進一步疊加,用Fi,t∈S×S×2l表示,其中S×S表示周圍的鄰居區域的大小,2l表示流量矩陣的數量.因為堆疊的流量矩陣包含了所有與區域i相關的過去的流量間的相互作用.我們使用CNN對區域間的空間流量關系建模,以Fi,t作為輸入對于每層k,卷積結果用式(3)表示:
(3)


(4)
其中,?表示張量間的按元素相乘.

3.2.3 時間動態相似性:周期性注意力轉移機制
在上述的局部時空網絡中,僅使用前幾個時間間隔(通常是幾個小時)進行預測,忽略了長期依賴性(例如周期性),周期性在時空預測問題中非常重要[15].在本節,我們將考慮長期周期信息.
訓練LSTM處理長期信息是一項艱巨任務,因為隨著時間序列長度的增加,會顯著削弱周期性的影響.為了解決這個問題,應該對預測目標的相對時段(例如,昨天的這個時候,前天的這個時候)進行建模.然而,單純地考慮相對時段是不夠的,因為忽略了周期的時間平移,即交通數據并不是嚴格周期性的.例如,工作日的高峰期經常發生在下午的后半段,但可能在下午4:30到下午7:00變化.由于交通事故或交通擁堵的發生,周期的平移在交通序列中是普遍存在的.周期性不是嚴格按日或按周的.因此,我們設計了一個周期性注意力轉移機制來解決這些限制.詳細的方法描述如下.
本文專注于處理不同天之間的周期性的變化.如圖1(a)所示,包含了前P天對應的時段用于處理周期性依賴.對于每天,為了解決時間平移問題,我們從每天中額外的選擇Q個時段.例如,如果預測的時間是上午9:00-9:30,我們選擇之前的一個小時和之后的一個小時,即上午8:00-10:30,|Q|=5.這些時段q∈Q用來解決潛在的時間周期性轉移.此外,我們使用LSTM來處理每天p∈P的序列信息,其公式如式(5)所示:
(5)


(6)

(7)
參考文獻[16],注意力分數的定義可以視為基于內容的函數:
(8)

(9)
3.2.4 聯合訓練

(10)
其中,Wfa和bfa是參數.由于我們做了歸一化操作,因此模型的輸出范圍是(-1,1).
由于我們同時預測各個區域的出發和到達流量,本文模型的損失函數定義如式(11)所示:
(11)

本文為了研究模型的性能,使用兩個NYC的大型數據集.這兩個數據集都包含各自的行程記錄,詳情如下:
NYC-Taxi:NYC-Taxi數據集包含2015年紐約市從2015年1月1日-2015年3月1日的22,349,490個出租車的出行記錄.在實驗中,我們使用2015年1月1日-2015年2月10日(40天)的數據作為訓練數據,剩下的20天作為測試數據.
NYC-Bike:NYC-Taxi數據集包含2016年紐約市從2016年7月1日-2016年8月29日的2,605,648個自行車的出行記錄.我們使用前40天的數據作為訓練數據,剩下的20天作為測試數據.
我們將整個城市劃分為10×20個區域.每個區域的大小約為1km×1km.每個時間間隔的長度設為30min.我們使用最大-最小歸一化將交通流量轉換為[0:1]規模.預測后,對預測值再進行反歸一化并進行評價.我們在訓練和測試數據上使用滑動窗采樣.在測試模型的時候,過濾掉體積值小于10的樣本,這是工業界和學術界普遍使用的做法[14].由于在實際應用中,關注低流量沒有太大的意義.我們選擇80%的數據用于訓練模型,剩下的20%用于驗證.
為了評估STAN模型的預測性能,我們使用兩個常用的指標:
1)平均絕對百分比誤差(MAPE)
(12)
2)均方根誤差(RMSE)
(13)

1)歷史平均模型(HA)
2)自回歸移動平均模型(ARIMA)
3)極端梯度提升(XGBoost)
4)多層感知機(MLP)
5)Convolutional LSTM(ConvLSTM)[17]
6)DeepSD[18]
7)ST-ResNet[19]
我們基于驗證集的性能設定超參數.對于空間CNN卷積部分,我們將卷積核大小設置為3×3,64個過濾器.每個鄰域的大小設置為7×7.層數K=3,對于交通流考慮的時間跨度l=2.對于時間LSTM部分,將短期LSTM長度設為為7(即前3.5個小時),長期周期信息|P|=3(即前3天),周期性注意力轉移機制|Q|=3(即考慮相對于預測時間的前后半小時),LSTM的隱藏層的維數設為128.模型STAN使用Adam進行優化,batch size為64,學習率為0.001.LSTM中的dropout為0.5.λ設置為0.5.
表1和表2展示了我們的方法與其他方法在兩個不同的數據集上的對比結果,從表中可以看到我們提出的STAN在數據集上實現最低的RMSE和MAPE,顯著優于其他方法.

表1 與其他方法的對比(NYC-Taxi)Table 1 Comparison with other methods

表2 與其他方法的對比(NYC-Bike)Table 2 Comparison with other methods
實驗結果表明,傳統的時間序列預測方法(HA和ARIMA)效果不佳,因為它們僅依賴于預測值的歷史記錄,而忽略了空間和其他上下文特征.對于基于回歸的方法(XGBoost),其進一步將空間相關性視為特征,因此,與傳統的時間序列方法相比,它獲得了更好的性能.然而,由于其無法捕捉到復雜的非線性時間依賴和動態空間關系.因此,我們提出的方法明顯優于那些基于回歸的方法.
對于基于神經網絡的方法,STAN優于MLP,原因是MLP沒有顯示地建模空間依賴和時間序列依賴.ConvLSTM通過將卷積運算集成到LSTM單元來擴展全連接的LSTM,以捕獲空間和時間信息,然而,這個模型忽略了動態空間相似性和周期性的時間平移.我們提出的模型的良好性能證明了門控機制和周期性注意力轉移機制在捕獲動態時空相似性方面的有效性.
在本文中,我們提出了一種新的時空注意力網絡(STAN)用于交通預測.我們的方法通過門控機制學習區域間的動態相似性,并通過周期性注意力轉移機制來處理長期周期時間轉移現象.在數據集上的評估結果表明,該模型優于其他方法.此外,該模型可以幫助交通管理者了解交通狀況,為他們的決策提供參考.在未來,我們計劃在其他時空預測問題上研究所提出的模型.