交通預測-T-GCN-時間圖卷積網絡代碼及原理

實現代碼github

最通俗易懂的圖神經網絡(GCN)原理詳解

1、文章信息

《T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction》

2、摘要


爲了同時捕獲空間和時間依賴關係,提出了一個新的神經網絡方法,時間圖卷積網絡模型 (T-GCN),將圖卷積和門控循環單元融合起來。GCN 用來學習複雜的拓撲結構來捕獲空間依賴,門控循環單元學習交通數據的動態變化來捕獲時間依賴。T-GCN模型應用於基於城市路網的交通預測。實驗表明T-GCN模型預測結果優於基準模型。

3、簡介


提出了一種新的基於城市道路網絡的交通預測方法—時間圖卷積網絡(T-GCN)。主要貢獻如下:

(1)T-GCN模型集成了圖卷積網絡和門控遞歸單元。利用圖卷積網絡捕獲路網拓撲結構,對路網的空間依賴性進行建模。利用門控遞歸單元捕獲道路交通數據的動態變化,對時間依賴性進行建模。T-GCN模型也可應用於其它時空預測任.務。

(2)T-GCN模型的預測結果表明,在不同的預測水平下,T-GCN模型處於穩定狀態,這說明T-GCN模型不僅可以實現短期預測,還可以用於長期的交通預測任務(15分鐘30分鐘45分鐘60分鐘)。

(3)我們使用兩個真實的交通數據集來評估我們的方法。結果表明,與所有基線方法相比,該方法的預測誤差降低了約1.5%-57.8%,證明了T-GCN模型在交通預測方面的優越性

4、主體部分


在本研究中,交通預測的目標是基於道路上的歷史交通信息,預測一定時期內的交通信息。在我們的方法中,交通信息是一個一般概念,可以是交通速度、交通流量或交通密度。爲保證一般性,我們在實驗部分以交通速度作爲交通信息的一個例子。

(1)問題定義

目標是基於歷史信息預測未來。我們的方法中,交通信息是一個通用的概念,可以是速度、流量、密度。我們在實驗的時候將交通信息看作是速度。

定義1:路網 GG。我們用圖 G=(V,E)G=(V,E) 描述路網的拓撲結構,每條路是一個頂點,VV 頂點集,V={v1,v2,…,vN}V={v1,v2,…,vN},NN 是頂點數,EE 是邊集。鄰接矩陣 AA 表示路的關係,A∈RN×NA∈RN×N。鄰接矩陣只有 0 和 1。如果路之間有連接就爲 1, 否則爲 0。

定義2:特徵矩陣 XN×PXN×P。我們將交通信息看作是頂點的特徵。PP 表示特徵數,Xt∈RN×iXt∈RN×i 用來表示時刻 ii 每條路上的速度。

時空交通預測的問題可以看作學習一個映射函數:

[Xt+1,…,Xt+T]=f(G;(Xt−n,…,Xt−1,Xt))(1)(1)[Xt+1,…,Xt+T]=f(G;(Xt−n,…,Xt−1,Xt))

nn 是歷史時間序列的長度,TT 是需要預測的長度。

(2)Overview


T-GCN模型由圖卷積網絡和門控遞歸單元兩部分組成。如圖3所示,我們首先使用歷史n時間序列數據作爲輸入,利用圖卷積網絡捕獲城市路網拓撲結構,獲得空間特徵。其次,將得到的具有空間特徵的時間序列輸入門控遞歸單元模型,通過單元間的信息傳遞獲得動態變化,捕捉時間特徵。最後,通過全連通層得到結果。

(3)模型詳細介紹
1)Spatial Dependence Modeling

城市道路網絡不是二維網格,而是圖的形式,這意味着CNN模型不能反映城市道路網絡複雜的拓撲結構因此不能準確地捕捉空間依賴關係。

給定一個鄰接矩陣A和特徵矩陣X, GCN模型在傅里葉域中構造一個過濾器。該濾波器作用於圖的節點上,通過它的一階鄰域捕獲節點之間的空間特徵,然後通過疊加多個卷積層來構建GCN模型,可以表示爲:

本研究選擇2層GCN模型捕捉空間依賴關係,可以表示爲:

綜上所述,我們使用GCN模型從交通數據中學習空間特徵。如圖4所示,假設節點1爲中心道路,GCN模型可以得到中心道路與其周圍道路之間的拓撲關係,對路網拓撲結構和道路屬性進行編碼,得到空間依賴關係。

2)Temporal Dependence Modeling

然而,由於LSTM結構複雜,訓練時間較長,而GRU模型結構相對簡單,參數較少,訓練能力較快。因此,我們選擇了利用GRU模型從交通數據中獲取時間相關性。其結構如下圖。

3)Temporal Graph Convolutional Network

如圖6所示,左邊是時空預測的過程,右側的是T-GCN cell的特定結構, ht−1表示t – 1時刻的輸出, GC是圖卷積過程, ut 和 rt是t時刻的更新門和重置門, ht表示t時刻的輸出。(簡單來說就是疊加了兩個GCN層和一個GRU層)

4)loss function

加入了L2正則化防止過擬合。

5、實驗部分
在本節中,我們評估了T-GCN模型在兩個實際數據集上的預測性能:SZ-taxi數據集和Los-loop數據集。因爲這兩個數據集都與交通速度有關。不失一般性,在實驗部分,我們使用交通速度作爲交通信息。

(1)dataset
1)SZ-taxi。該數據集由深圳2015年1月1日至1月31日的出租車軌跡數據組成,本文選取羅湖區156條主要道路作爲研究區域。實驗數據主要包括兩部分。一個是156*156的鄰接矩陣,它描述了道路之間的空間關係。每一行表示一條道路,矩陣中的值表示道路之間的連接性。另一個是特徵矩陣,它描述了每條道路上的速度隨時間的變化。每一行代表一條路,每一列是不同時段道路上的交通速度。我們每15分鐘計算一次每條路上的車速。

2)Los-loop。該數據集是通過環形探測器在洛杉磯高速公路上實時採集的。我們選擇了207個傳感器和它從2012年3月1日到3月7日的交通速度。每5分鐘計算一次交通速度。類似的,數據由一個鄰接矩陣和一個特徵矩陣組成。利用交通網絡中傳感器之間的距離計算鄰接矩陣。由於數據集包含一些缺失的數據,我們使用線性插值方法來填充缺失的值。

實驗中,輸入數據歸一化爲區間[0,1]。另外,80%的數據作爲訓練集,剩下的20%作爲測試集。我們預測未來15分鐘,30分鐘,45分鐘和60分鐘的交通速度。

(2)Evaluation Metrics

其中,RMSE和MAE用於測量預測誤差,數值越小,預測效果越好。Accuracy用於檢測預測精度,數值越大,預測效果越好。R2和var計算相關係數,衡量預測結果代表實際數據的能力,值越大,預測效果越好。

(3)選擇模型參數
T-GCN模型的超參數主要包括:學習速度、批量大小、訓練時間和隱藏單元數。在實驗中,我們手動調整並設置學習率爲0.001,批量大小爲32,訓練時間爲5000,隱藏單元數是T-GCN模型的一個非常重要的參數,不同的隱藏單元數對預測精度有很大的影響。爲了選擇最優值,我們對不同的隱藏單元進行了實驗,並通過比較預測結果來選擇最優值。在我們的實驗中,對於SZ-taxi數據集,我們從[8,16,32,64,100,128]中選擇隱藏單元的個數,分析預測精度的變化。根據實驗結果我們對SZ-taxi數據集設置了100個隱藏單元。採用同樣的方法對Los-loop數據集設置了64隱藏單元。

另外,使用Adam優化器訓練T-GCN模型。

(4)Experimental Results
這篇文章的預測結果給的比較客觀,五個指標中,並非所有情況下提出的模型都是最好的,而是在大多數情況下是最好的比較符合實際。(∗表示值小到可以忽略不計)。

(5)模型解釋

爲了更好的理解T-GCN模型,我們在SZ-taxi數據集中選擇了一條道路,並將測試集的預測結果可視化。以15分鐘爲例。

1)T-GCN模型對局部極小值/極大值的預測較差。我們推測主要原因是GCN模型在傅里葉域中定義了一個平滑濾波器,並通過不斷移動濾波器來捕捉空間特徵。這一過程導致了整體預測結果的微小變化,使得峯值更加平滑。

2)實際交通信息與“零出租車值”的預測結果存在一定的誤差。“零出租車值”是指由於道路上沒有出租車,使得真實值不爲零的交通特徵矩陣爲零的現象。

3)無論預測時長範圍如何,T-GCN模型總能取得較好的預測結果。T-GCN模型可以捕獲道路交通信息的時空特徵,得出了道路交通信息的變化趨勢。此外,T-GCN模型檢測到交通高峯期的開始和結束時間,並與實際交通速度做出相似的預測結果。這些性質有助於預測交通擁擠和其他交通現象。
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章