本期結合《時間序列圖神經網絡(GNN4TS)綜述》,整理了關于圖神經網絡在時間序列預測、分類等任務上的開源代碼和學習資料以供大家學習、研究。
參考論文:《A Survey on Graph Neural Networks for Time Series: Forecasting, Classification, Imputation, and Anomaly Detection》
鏈接:https://arxiv.org/abs/2307.03759
1. 簡介
近年來,圖神經網絡(GNN)在時間序列數據分析領域大放異彩,已然成為一種極具潛力的強大工具。它之所以備受矚目,關鍵在于具備獨特的能力,能夠精準地捕捉時間序列數據中各種復雜的關系。
一方面,對于多變量序列而言,不同變量之間并非孤立存在,而是存在著錯綜復雜的連接關系。例如在經濟數據中,GDP、通貨膨脹率、失業率等多個變量相互交織影響。GNN 能夠通過構建圖結構,將這些變量作為節點,以它們之間的關聯作為邊,從而有效地捕捉到變量間的復雜依賴關系,挖掘出隱藏在多變量序列背后的深層次模式。
另一方面,時間序列數據本質上具有時間維度上的依賴特性。不同時間點的數據相互關聯,過去的數值會對未來的走勢產生影響。以氣象數據中的氣溫變化為例,今日氣溫往往與前幾日的氣溫有著緊密的關聯。GNN 可以對這種時間間的依賴關系進行建模,通過在時間軸上構建關系網絡,把握時間序列的動態演化規律,進而更準確地預測未來趨勢。
鑒于現實世界中的場景往往蘊含著復雜的時空依賴性,越來越多的研究聚焦于將 GNN 與各種時間建模框架相結合。這些時間建模框架,如循環神經網絡(RNN)及其變體長短時記憶網絡(LSTM)、門控循環單元(GRU)等,擅長處理時間序列數據的時序特性;而變換器(Transformer)架構則在捕捉長程依賴關系方面表現出色。將 GNN 與這些框架融合,能夠充分發揮各自的優勢,既能利用 GNN 洞察空間維度上變量間的復雜連接,又能借助時間建模框架把握時間維度上的動態變化。這種結合在眾多實際應用中展現出了令人振奮的結果,如在交通流量預測、電力負荷預測、金融市場分析等領域,大幅提升了預測精度和模型的解釋性,為解決復雜的時空數據分析問題提供了新的思路和方法。
1.1?圖神經網絡的基本概念
(1)圖的結構:
-
一個圖通常由節點(nodes,也稱為頂點)和邊(edges)組成。節點表示實體,邊表示實體之間的關系。
-
圖可以是有向的(directed)或無向的(undirected),也可以是加權的(weighted)。
(2)圖神經網絡的目標:
GNNs的目標是學習節點的表示(embeddings),這些表示可以用于各種下游任務,如節點分類、鏈接預測和圖分類等。
1.2 圖神經網絡的工作原理
(1)消息傳遞機制(Message Passing):
-
GNNs的核心思想是節點通過邊與其鄰居進行信息交換,這一過程通常稱為消息傳遞。
-
在每一層網絡中,每個節點會聚合來自鄰居節點的信息,并結合自身的信息更新其表示。
(2)層次結構:
-
GNN通常由多層組成,每一層負責聚合來自更遠鄰居的信息。
-
通過堆疊多層,GNN可以捕獲圖中節點的高階鄰域信息。
(3)常見的聚合函數:
典型的聚合函數包括求和(sum)、平均(mean)、最大(max)等,這些函數用于整合鄰居節點的信息。
(4)非線性變換:
在每一層的聚合操作之后,通常會有一個非線性變換(例如通過使用ReLU激活函數)來增強模型的表達能力。
1.3 常見的圖神經網絡模型
(1)Graph Convolutional Networks (GCNs):
通過卷積操作對圖數據進行處理,類似于CNN在圖像數據中的應用。GCN是最早提出的將卷積概念應用于圖結構數據的模型之一。
(2)Graph Attention Networks (GATs):
引入了注意力機制,使得模型能夠為不同鄰居分配不同的權重,從而更靈活地聚合鄰居信息。
(3)GraphSAGE:
提出了采樣和聚合策略,使得在處理大規模圖時更加高效。
(4)Graph Isomorphism Network (GIN):
強調了模型的表達能力,旨在更準確地區分不同的圖結構。
(5)其他圖神經網絡與對比:
GNN 種類 | 機制 | 優點 | 缺點 | 適用范圍 | 實現成本 |
---|---|---|---|---|---|
GCN - 譜分解圖卷積 | 拉普拉斯矩陣特征分解 | 參數共享 | 拉普拉斯矩陣唯一,已訓練圖結構不能應用于其他圖;訓練時要將全圖加載進內存 | 固定的小規模圖結構 | 節點數目越多,圖規模越大,訓練成本越高 |
GCN - 空間圖卷積 | 在圖上直接卷積,定義空間近鄰節點卷積權重共享操作 | 參數共享 | 中心節點、感受域、聚合函數不確定,相互制約依賴 | 較大規模的圖結構 | 空間卷積操作難度低,較易實現 |
GAE | 編碼器將圖轉為低維連續表示,解碼器重構圖的結構和屬性 | 提取最具有代表性圖信息;縮減輸入量,中間隱含表示可用于下游圖任務 | 需要手動設置隱層維度;多為無監督學習,比有監督性能差 | 小規模圖結構 | 取決于編碼器對原始圖降維程度 |
GGN | 交替生成節點和邊,或者對抗訓練生成完整圖表示 | 對圖結構和屬性具有強大的模擬學習能力 | 對噪聲敏感,需要精確的圖標標簽信息;圖質量檢查要求專家級知識;可能發生模式坍塌 | 領域相關的圖生成任務 | 取決于相關領域的圖復雜程度 |
GRN | 將圖轉為序列,用 Bi - RNN、LSTM、GRU 等循環神經網絡訓練 | 迭代壓縮節點信息,能學習圖在時間維度上的特征 | 具有順序依賴性 | 具有時空特征的圖 | 不能并行化,實現成本較高 |
GAT | 引入注意力機制,關注對任務有影響的鄰居節點信息,從而分配不同的權重 | 魯棒性和可解釋性更強;無需全圖信息 | 增加了額外計算鄰居節點信息的時間和內存消耗,注意力的作用跟網絡初始化有關 | 歸納式圖任務 | 可并行化,適用于較大規模的圖 |
2.?時間序列預測任務
近年來,基于圖神經網絡(GNN)的方法在明確有效地建模多變量時間序列數據的時空依賴關系方面顯示出巨大的潛力,從而提高了預測性能。
基于GNN的預測模型可以從多個角度進行分類和檢驗。在預測任務方面,雖然許多模型側重于多步預測(即,根據歷史觀察預測多個連續步驟),但少數模型也討論單步預測(即,預測下一步或任意一步)。從方法的角度來看,這些模型可以從三個方面進行剖析:(1)建模空間(即變量間)依賴關系,(2)建模跨時間依賴關系,(3)融合時空模塊進行時間序列預測。
2.1 變量間依賴關系建模
空間依賴關系或變量間關系在影響模型的預測能力方面起著關鍵作用。當前的研究通常采用(1)光譜gnn,(2)空間gnn,或(3)兩者的混合來模擬這些空間依賴關系。當提供時間序列數據和描述時間序列之間相互聯系強度的相應圖結構時。在高層次上,這些方法都借鑒了圖形信號處理的原理。
(1)基于譜GNN的方法:
論文題目:Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
論文鏈接:https://arxiv.org/abs/1606.09375
開源代碼:https://github.com/mdeff/cnn_graph
論文題目:Spectral Temporal Graph Neural Network for Multivariate Time-series Forecasting
論文鏈接:https://arxiv.org/abs/2103.07719
開源代碼:https://github.com/microsoft/StemGNN/
(2)基于空間GNN的方法:
論文題目:Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting
論文鏈接:https://dl.acm.org/doi/abs/10.1145/3292500.3330884
開源代碼:https://github.com/panzheyi/ST-MetaNet
論文題目:Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal Network Data Forecasting
論文鏈接:https://ojs.aaai.org/index.php/AAAI/article/view/5438
開源代碼:https://github.com/Davidham3/STSGCN
(3)混合方法:
論文題目:Spatio-Temporal Graph Structure Learning for Traffic Forecasting
論文鏈接:https://ojs.aaai.org/index.php/AAAI/article/view/5470
開源代碼:https://github.com/VeritasYin/STGCN_IJCAI-18
2.2 跨時間依賴關系建模
時間序列內時間依賴性的建模是各種基于gnn的預測方法中的另一個重要元素。這些依賴關系(例如,時間模式)能夠在時間或/和頻率域中建模。
在構建TEMPORAL(·)時,時域和頻域都可以在卷積和注意機制中被利用。循環模型也可以用于時域的具體建模。此外,混合模型存在于這兩個領域,集成了不同的方法,如注意力和卷積神經網絡。
(1)循環模型:
論文題目:Spatio-Temporal Graph Structure Learning for Traffic Forecasting
論文鏈接:https://arxiv.org/abs/1707.01926
開源代碼:https://github.com/liyaguang/DCRNN
(2)卷積模型:
論文題目:Dynamic?spatial-temporal graph convolutional neural networks for traffic?forecasting
論文鏈接:https://arxiv.org/pdf/1812.02019
開源代碼:https://github.com/SYLan2019/DSTAGNN
(3)注意力模型:
論文題目:Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal Network Data Forecasting
論文鏈接:https://ojs.aaai.org/index.php/AAAI/article/view/5438
開源代碼:https://github.com/microsoft/StemGNN
(4)混合模型:
論文題目:Hierarchical Graph Convolution Networks for Traffic Forecasting
論文鏈接:https://ojs.aaai.org/index.php/AAAI/article/view/16088
開源代碼:https://github.com/guokan987/HGCN
2.3 預測架構融合
鑒于所討論的空間和時間模塊,分別表示為空間(·)和時間(·),已經確定了四類神經結構融合作為捕獲時間序列數據中時空依賴性的有效手段:(1)離散分解,(2)離散耦合,(3)連續分解和(4)連續耦合。
在離散分解模型中,空間和時間依賴關系通常是獨立學習和處理的。這種方法可能涉及在模型構建塊中堆疊和交錯空間和時間模塊[53],[58],[76]。
與離散模型不同,一些方法將底層建模過程抽象為神經微分方程,我們將其歸類為連續模型。具體而言,連續分解模型涉及不同的過程,部分或完全連續,以模擬空間和時間依賴性。
(1)離散架構:
論文題目:GMAN: A Graph Multi-Attention Network for Traffic Prediction
論文鏈接:https://arxiv.org/abs/1911.08415
開源代碼:https://github.com/zhengchuanpan/GMAN
(2)連續的體系架構:
論文題目:Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
論文鏈接:https://arxiv.org/abs/2106.12931
開源代碼:https://github.com/square-coder/STGODE