時間序列預測、分類 | 圖神經網絡開源代碼分享(上)

本期結合《時間序列圖神經網絡(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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85733.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85733.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85733.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue 添加水印(防篡改: 刪除水印元素節點、修改水印元素的樣式)

MutationObserver_API: 觀察某一個元素的變化// index.vue<template><div class="container"><Watermark text="版權所有" style="background: #28c848"><!-- 可給圖片、視頻、div...添加水印 --><div class=&quo…

如何處理開發不認可測試發現的問題

解決方案 第一步&#xff1a;收集確鑿證據 確保有完整的復現結果準備詳細的記錄材料&#xff1a; 截屏錄屏操作步驟記錄 帶著這些證據與開發人員進行溝通 第二步&#xff1a;多角度驗證 如果與開發人員溝通無果&#xff1a; 競品分析&#xff1a;查看市場上同類產品如何…

linux生產環境下根據關鍵字搜索指定日志文件命令

grep -C 100 "error" server.log 用于在 server.log 文件中查找包含 “error” 的行&#xff0c;并同時顯示該行前后100行的上下文。這是排查日志問題的常用技巧&#xff0c;解釋一下&#xff1a; 命令參數詳解 grep&#xff1a;文本搜索工具&#xff0c;用于在文件…

用vue和echarts怎么寫一個甘特圖,并且是分段式瀑布流

vue echarts 甘特圖功能 index.vue <template><div ref"echart" id"echart" class"echart"></div> </template><script setup>import { nextTick, onMounted, ref } from "vue";import * as echarts f…

Pandas使用教程:從入門到實戰的數據分析利器

一、Pandas基礎入門 1.1 什么是Pandas Pandas是Python生態中核心的數據分析庫&#xff0c;提供高效的數據結構&#xff08;Series/DataFrame&#xff09;和數據分析工具。其名稱源于"Panel Data"&#xff08;面板數據&#xff09;和"Python Data Analysis"…

NuttX Socket 源碼學習

概述 NuttX 的 socket 實現是一個精心設計的網絡編程接口&#xff0c;提供了標準的 BSD socket API。該實現采用分層架構設計&#xff0c;支持多種網絡協議族&#xff08;如 TCP/IP、UDP、Unix域套接字等&#xff09;&#xff0c;具有良好的可擴展性和模塊化特性。 整體架構設…

基于YOLO的語義分割實戰(以豬的分割為例)

數據集準備 數據集配置文件 其實語義分割和目標檢測類似&#xff0c;包括數據集制備、存放格式基本一致像這樣放好即可。 然后需要編寫一個data.yaml文件&#xff0c;對應的是數據的配置文件。 train: C:\圖標\dan\語義分割pig\dataset\train\images #絕對路徑即可 val: C:\…

釘釘智能會議室集成指紋密碼鎖,臨時開門密碼自動下發

在當今快節奏的工作環境中&#xff0c;會議室的高效管理和使用成為了企業提升工作效率的關鍵一環。湖南某知名企業近期成功升級了原有使用的釘釘智能會議室系統&#xff0c;并配套使用了啟辰智慧聯網指紋密碼鎖&#xff0c;實現了會議室管理的智能化升級&#xff0c;提升了會議…

C++講解—類(1)

類 在 C 中&#xff0c;類是一個關鍵概念&#xff0c;憑借其封裝和繼承的特性&#xff0c;能夠助力程序員之間實現高效的分工協作&#xff0c;共同完成復雜的大型項目。我們先從最簡單的概念入手&#xff0c;再進行更深層次的了解和應用。 1. 類的定義 類是用戶自定義的一種…

什么是Hadoop Yarn

Hadoop YARN&#xff1a;分布式集群資源管理系統詳解 1. 什么是YARN&#xff1f; YARN&#xff08;Yet Another Resource Negotiator&#xff09;是 Apache Hadoop 生態系統中的資源管理和作業調度系統&#xff0c;最初在 Hadoop 2.0 中引入&#xff0c;取代了 Hadoop 1.0 的…

項目開發中途遇到困難的解決方案

1. 正視困難&#xff0c;避免逃避 開發遇阻時&#xff0c;退縮會帶來雙重損失&#xff1a;既成為"失敗者逃兵"&#xff0c;又損害職業信心1。 行動建議&#xff1a; 立即向團隊透明化問題&#xff08;如進度延遲、技術瓶頸&#xff09;&#xff0c;避免問題滾雪球…

Blender硬表面建模篇收集學習建模過程中的Demo

c 齒輪 創建一個圓柱體&#xff0c;選擇側面的所有&#xff0c;然后進行隔斷選擇&#xff0c;兩次擠出面&#xff0c;一次縮放面&#xff0c;通過圓柱面三次插入面縮放擠出得到齒輪中心&#xff0c;選中齒輪的鋸齒中間&#xff0c;然后進行相同周長選擇行選擇齒與齒中間的面&…

Chromium 136 編譯指南 macOS篇:獲取源代碼(四)

1. 引言 在現代軟件開發的宏大版圖中&#xff0c;源代碼的獲取往往標志著從理論探索向實踐應用的關鍵轉折。對于Chromium 136這樣一個擁有超過2500萬行代碼、涉及數百個第三方庫的超大規模開源項目而言&#xff0c;源代碼的獲取不僅僅是簡單的文件下載&#xff0c;更是一個涉及…

OpenCV C++ 邊緣檢測與圖像分割

一、邊緣檢測 在數字圖像處理領域&#xff0c;邊緣檢測是一項至關重要的基礎技術。它如同為圖像賦予 “骨架”&#xff0c;幫助計算機快速識別圖像中的物體輪廓、形狀與結構&#xff0c;廣泛應用于目標識別、圖像分割、圖像配準等多個領域。 1.1 概念 邊緣檢測的核心目標是找…

線段樹(2025年6月14日)

原文 https://www.beiweidoge.top/132.html P1&#xff1a;求最大值1 題目描述 題目描述 小明給了你n個數字&#xff0c;你需要依次輸出&#xff1a; 1到n的最大值&#xff0c;1到n/2的最大值&#xff0c;n/21到n的最大值&#xff0c;1到n/4的最大值&#xff0c;n/41到n/2…

滲透實戰PortSwigger Labs AngularJS DOM XSS利用詳解

本Lab學習到關于AngularJS的 xss 漏洞利用 直接輸入回顯頁面&#xff0c;但是把<>進了 html 編碼了 當我們輸入{{11}}&#xff0c;沒有當作字符處理&#xff0c;而是執行了 {{}} 是多種前端框架&#xff08;如 Vue、Angular、Django 模板等&#xff09;中常見的模板插值語…

Ubuntu 多網卡安全路由配置(SSH 不斷線版)

Ubuntu 多網卡路由配置筆記&#xff08;內網 外網同時通&#xff09;&#xff08;SSH斷線版&#xff09;文章瀏覽閱讀386次&#xff0c;點贊4次&#xff0c;收藏5次。本文介紹了Ubuntu 如何配置雙網卡設備的路由規則&#xff0c;使默認流量走外網&#xff08;192.168.2.0/24&a…

基于昇騰NPU部署llamafactory單機多卡微調Qwen3教程

1. 進入華為云 華為云首頁 點擊右上角控制臺 2.進入ModelArts 點擊搜索框->搜索“ModelArts”->選擇AI開發平臺ModelArts->進入平臺后點擊開發者空間 3.創建Notebook 3.1在開發者空間中點擊Notebook->在西南貴陽一下點擊創建Notebook 3.2進入創建Notebook頁…

關于XES文件格式諸多問題

1. 格式類型是什么&#xff1f; case:concept:name (案例ID) - 必須是字符串類型concept:name (活動名稱) - 字符串類型time:timestamp - 必須是datetime類型 2. 如何修改&#xff1f; data[case:concept:name] data[case:concept:name].astype(str)data[concept:name] data…

數據融合平臺有哪些?在數據治理中發揮什么作用?

目錄 一、常見的數據融合平臺 &#xff08;一&#xff09;傳統數據融合平臺 &#xff08;二&#xff09;實時數據融合平臺 &#xff08;三&#xff09;云數據融合平臺 二、數據融合平臺在數據治理中的作用 &#xff08;一&#xff09;提升數據質量 &#xff08;二&#…