【深度學習】時空圖卷積網絡(STGCN),預測交通流量

論文地址:https://arxiv.org/abs/1709.04875

Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting

文章目錄

  • 一、摘要
  • 二、數據集介紹
    • 美國洛杉磯交通數據集 METR-LA 介紹
    • 美國加利福尼亞交通數據集 PEMS-BAY 介紹
    • 美國加利福尼亞交通數據集 PEMSD7-M 介紹
    • 數據集含義
  • 三、任務目標
  • 四、訓練過程
    • 基礎推理過程
    • 鄰接矩陣
    • 注意力機制
  • 五、 總結

一、摘要

準時準確的交通預測對城市交通控制和引導至關重要。由于交通流的高非線性和復雜性,傳統方法無法滿足中長期預測任務的要求,并且通常忽視空間和時間依賴關系。本文提出了一種新穎的深度學習框架,即時空圖卷積網絡(STGCN),用于解決交通領域的時間序列預測問題。我們不是應用常規的卷積和循環單元,而是在圖上制定問題,并利用完整的卷積結構構建模型,這使得訓練速度更快,參數更少。實驗證明,我們的模型STGCN通過建模多尺度交通網絡有效地捕獲了全面的時空相關性,并在各種真實世界的交通數據集上始終優于最先進的基線模型。

二、數據集介紹

美國洛杉磯交通數據集 METR-LA 介紹

T-GCN文章選取了該數據集2012年3月1日至3月7日期間的207個傳感器及其交通速度。每5分鐘匯總一次交通速度。**相似性,數據總結出一個鄰接矩陣和一個特征矩陣。鄰接矩陣是由交通網絡中傳感器之間的距離計算出來的。**由于Los-loop數據集包含一些缺失的數據,使用線性插值法來填補缺失值.

SOTA算法:

https://paperswithcode.com/sota/traffic-prediction-on-metr-la

目前第一名是Spatio-Temporal Graph Mixformer for Traffic Forecasting,而本文的STGCN只能排18。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

美國加利福尼亞交通數據集 PEMS-BAY 介紹

PEMS-BAY 數據集由加利福尼亞大學伯克利分校的交通實驗室發布。該數據集包含了舊金山灣區高速公路網絡上 325 個傳感器的實時交通流量數據。這個數據幫助對基于多源數據的交通預測算法進行評估和比較,并被廣泛用于交通預測、擁堵控制、出行決策等領域的研究中。

SOTA:

https://paperswithcode.com/sota/traffic-prediction-on-pems-bay

在這里插入圖片描述

美國加利福尼亞交通數據集 PEMSD7-M 介紹

SOTA:
https://paperswithcode.com/sota/traffic-prediction-on-pemsd7-m

PEMSD7-M 數據集由美國加州大學洛杉磯分校的智能交通系統實驗室發布。該數據集收集了洛杉磯城市高速公路上的交通流量數據,包含了 228 個傳感器(探頭)每 5 分鐘采樣一次的方式收集數據。這個數據集旨在幫助進行基于不同時間尺度的交通預測研究,以提高道路網絡可持續性和安全性。

在這里插入圖片描述

數據集含義

以pems-bay為例,兩個csv文件就是2個矩陣。

vel.csv的形狀是(16384, 325),代表了16384次觀測數據,每次數據都是325個傳感器的數據(可能是車流量或者車速的一種綜合表達的數據):

在這里插入圖片描述
adj.mat.csv的形狀是(325, 325),表示了傳感器之間的關系,比如距離關系,是鄰接矩陣,鄰接矩陣是對角陣:
在這里插入圖片描述

三、任務目標

還是以pems-bay數據集為例子,我們有16384次時序的觀測數據,任務的目標就是預測這325個傳感器的后續數據走向,看看哪個模型預測得準。

交通流量是一個很實際的問題,325個傳感器分布在地區的各個要點中,鄰接矩陣表達了各個傳感器之間的關聯性,而16384次時序觀測數據也表達了傳感器隨時間變化采集到的數據。如果有一個模型可以很好預測傳感器的后續數據,說明模型能很好預測出交通流量走勢,這可以應用到交通疏通中或者預測擁堵的應用里去。

四、訓練過程

基礎推理過程

輸入模型的x大小是,32是batchsize,12是時序步數,325是傳感器維度。
在這里插入圖片描述
輸出的是下一次時序里的數據:
在這里插入圖片描述

而訓練數據條數一共有13108條:
在這里插入圖片描述
13090/32
409.0625

所以每次訓練是410個iter迭代步數。

x進去后,由self.st_blocks(一系列小波圖運算)運算得到了x_stbs ,

在這里插入圖片描述

而后 self.output 得到了預測結果。

    def forward(self, x):x_stbs = self.st_blocks(x)# [2, 1, 12, 207]->[2, 64, 4, 207]if self.Ko > 1:x_out = self.output(x_stbs)

鄰接矩陣

在上述推理過程中,在哪里使用到鄰接矩陣了?

在最開始用wavelet_basis來確定了小波基矩陣。

在這里插入圖片描述

這個函數wavelet_basis的主要作用是根據輸入的交通流量傳感器的鄰接矩陣adj(表示傳感器之間的連接關系),以及參數s(小波尺度參數)和threshold(閾值),來計算并返回一組小波基矩陣,用于后續在圖卷積過程中對信號進行多尺度分析。這個過程涉及圖信號處理的核心步驟,包括拉普拉斯矩陣的計算、特征分解、小波變換的構建、閾值化處理和L1范數歸一化。下面是各部分的詳細解析:

  1. 計算拉普拉斯矩陣:

    • 函數首先調用calculate_laplacian_matrix來計算圖的拉普拉斯矩陣L。拉普拉斯矩陣是圖論中的重要概念,廣泛用于圖信號處理和圖的譜分析,能體現圖的拓撲結構。
  2. 特征分解:

    • 接著,使用fourier函數對拉普拉斯矩陣L進行特征分解,得到特征值lamb和特征向量矩陣U。這一步是圖傅里葉變換的基礎,用于將信號映射到頻域進行分析。
  3. 構建圖小波:

    • 利用weight_wavelet函數基于小波尺度s、特征值lamb和特征向量U計算小波權重矩陣Weight,以及通過weight_wavelet_inverse計算逆小波權重矩陣inverse_Weight。這兩個矩陣是構建小波基的關鍵,用于對信號進行多尺度分解和重構。
  4. 閾值化處理:

    • 根據給定的threshold,將Weightinverse_Weight中小于該閾值的元素設為0,這是一種常見的去噪操作,可以減少噪聲影響,提升模型的穩健性。
  5. L1范數歸一化:

    • Weightinverse_Weight進行L1范數歸一化,確保每個行的絕對值之和為1,這有助于保持能量守恒,并使后續的操作(如圖卷積)更加穩定。
  6. 轉換格式:

    • 最后,將矩陣轉換為稀疏矩陣格式coo_matrix,以節省存儲空間和加速后續的矩陣運算。

整個函數的輸出t_k = (Weight, inverse_Weight)是一對小波基矩陣,它們在基于小波變換的圖卷積神經網絡(如之前提到的Graph_WaveletsConv)中扮演核心角色,用于捕捉不同尺度的圖信號特征,增強模型對復雜時空數據的理解能力。

注意力機制

小波變換真是復雜的作用機制,大體來說,是將有用信息用小波變換方式給入到了模型前向傳導。

為了引入自注意力機制,就得找一些層引入,小波卷積層是一個不錯的層。

定義一個AttentionModule,它接受節點特征作為輸入,通過兩層全連接層和ReLU激活函數計算每個節點的注意力分數,然后通過softmax函數標準化這些分數,確保所有節點的注意力權重之和為1。在Graph_WaveletsConvWithAttention中,首先使用原有的小波圖卷積操作處理輸入,然后將得到的特征傳遞給注意力模塊,實現特征的自適應加權。

在這里插入圖片描述
在這里插入圖片描述
整體結構在多個尺度會調用上注意力塊Graph_WaveletsConvWithAttention:
在這里插入圖片描述
效果是沒有提升,沒提升是正常的,如果一個簡單的改進就能得到提升,那大家都好發論文了:

在這里插入圖片描述

又試了一下沒加注意力之前的模型,如論文所寫,的確小波加進去,MAE為1.81:

在這里插入圖片描述

五、 總結

綜合來看,以普通方式改進STGCN是很難有提升的,而目前的SOTA算法非常厲害,比如
STD-MAE算法(Spatial-Temporal-Decoupled Masked Pre-training for Spatiotemporal Forecasting)在PEMS-BAY的指標MAE為 1.77, 或許要嘗試一些別的改進方式才行,我這里就不再進行額外嘗試了。

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

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

相關文章

Cocktail for Mac 激活版:一站式系統優化與管理神器

Cocktail for Mac是一款專為Mac用戶打造的系統優化與管理工具,憑借其強大的功能和簡便的操作,贏得了廣大用戶的喜愛。這款軟件集系統清理、修復和優化于一身,能夠幫助用戶輕松解決Mac系統中的各種問題,提高系統性能。 Cocktail fo…

Leetcode-有效的括號(帶圖)

20. 有效的括號 - 力扣(LeetCode)https://leetcode.cn/problems/valid-parentheses/ 題目 給定一個只包括 (,),{,},[,] 的字符串 s ,判斷字符串是否有效。 有效字符串需滿足&…

在做題中學習(59):除自身以為數組的乘積

238. 除自身以外數組的乘積 - 力扣(LeetCode) 解法:前綴積和后綴積 思路:answer中的每一個元素都是除自己以外所有元素的和。那就處理一個前綴積數組和后綴積數組。 而前綴積(f[i])是:[0,i-1]所有元素的乘積 后綴…

如何利用香港多IP服務器實現定制化的網絡服務

如何利用香港多IP服務器實現定制化的網絡服務 在當今數字化快速發展的時代,企業對于網絡服務的需求日益增加,尤其是對于定制化和高度可調整的網絡服務的需求。香港,作為國際金融中心和數據中心的樞紐,提供了優越的網絡基礎設施和…

什么是蜜罐,在當前網絡安全形勢下,蜜罐能提供哪些幫助

在當前的互聯網時代,網絡安全威脅日益嚴峻,攻擊手段層出不窮。為了應對這些威脅,網絡安全專家們不斷探索新的防御手段,在過去的幾年里,一種更加積極主動的網絡安全方法正在興起。蜜罐技術便是這樣一種備受矚目的主動防…

【教學類-55-05】20240516圖層順序挑戰(三格長條紙加黑色邊框、3*3、5張,不重復7186張,9坐標點顏色哈希值去重、保留5色)

背景需求: 前期測試了4*4框格種的8種顏色,隨機抽取7種,隨機排列圖層,去掉相同的圖片、保留7種顏色的圖片,最后獲得5400張樣圖 【教學類-55-04】20240515圖層順序挑戰(四格長條紙加黑色邊框、4*4、7張&…

Python程序設計 文件處理(二)

實驗十二 文件處理 第1關:讀取宋詞文件,根據詞人建立多個文件 讀取wjcl/src/step1/宋詞.txt文件, 注意:宋詞文件的標題行的詞牌和作者之間是全角空格(" ")可復制該空格 在wjcl/src/step3/cr文件夾下根據每…

【CSND博客紀念】“創作紀念日:從靈感迸發到小有成就——我的CSND博客創作之旅”

🎩 歡迎來到技術探索的奇幻世界👨?💻 📜 個人主頁:一倫明悅-CSDN博客 ?🏻 作者簡介: C軟件開發、Python機器學習愛好者 🗣? 互動與支持:💬評論 &…

記錄下git的基本操作

初始化git git init git clone 拉取各分支的最新代碼 git fetch 切換分支 git checkout 分支名 提交相關操作 git add . git commit -m “提交備注” 兩個一起 git commit -am “提交備注” 如果需要撤銷操作 git log 查詢日志,提交id git revert git revert HEAD 撤銷前一…

算法分析與設計復習__遞歸方程與分治

總結自:【算法設計與分析】期末考試突擊課_嗶哩嗶哩_bilibili 1.遞歸,遞歸方程 1.1遞歸條件: 1.一個問題的解可以分解為幾個子問題的解; 2.這個問題與分解之后的子問題,除了數據規模不同,求解思路完全一樣; 3.存在…

【面試干貨】一個數組的倒序

【面試干貨】一個數組的倒序 1、實現思想2、代碼實現 💖The Begin💖點點關注,收藏不迷路💖 1、實現思想 創建一個新的數組,然后將原數組的元素按相反的順序復制到新數組中。 2、代碼實現 package csdn;public class…

高效微砂沉淀澄清設備工藝流程

諸城市鑫淼環保小編帶大家了解一下高效微砂沉淀澄清設備工藝流程 微砂循環重介速沉設備 微砂高速絮凝沉淀系統巧妙地將混凝、絮凝、沉淀、分離幾個過程優化組合到一個設備中,并引入“微砂”,提升了水中懸浮固體的絮凝效率和分離效率,同時&…

如何幫孩子學好編程

學習編程對于孩子來說是一項非常有益的技能,不僅可以培養孩子的邏輯思維能力,還可以提高孩子的問題解決能力和創造力。以下是一些建議,幫助孩子學好編程: 選擇適合孩子的編程語言和工具:根據孩子的年齡和興趣選擇合適的…

一個強大的在線解析網站,無需登錄,只用把視頻鏈接粘貼進去就能免費解析下載視頻。

TiQu.cc是什么? TiQu.cc是一個強大的在線工具,讓用戶可以從包括Facebook、VK、Twitter、Tiktok、Instagram等在內的100多個平臺下載他們喜愛的視頻。不論是音樂、電視節目、電影、短片還是個人上傳的內容,TiQu.cc都可以幫助您隨時隨地以離線…

ChatGPT 4o 使用案例之一

2024年GPT迎來重大更新,OpenAI發布GPT-4o GPT-4o(“o”代表“全能”) 它可以接受任意組合的文本、音頻和圖像作為輸入,并生成任意組合的文本、音頻和圖像輸出。它可以在 232 毫秒內響應音頻輸入,平均為 320 毫秒&…

把tif的值映射到shp柵格

目錄 問題描述代碼結果示例 問題描述 假如目前有一個(多個)tif文件和一個shp文件,想要把tif中每個像素的值集成到shp文件的新字段中。如果柵格和像素是一一對應的,問題將會變得非常簡單:直接把每個像素的值映射到每個…

【Python探索之旅】字典

字典的基本特性 創建字典 修改字典 添加鍵值對 刪除鍵值對 字典方法 遍歷字典 完結撒花? 前言 字典是 Python 中內建的一種具有彈性儲存能力的數據結構,可存儲任意類型對象,與序列使用整數索引不同,它使用鍵(key)進行索引。 通常任何不…

小白也會SQL:大模型改變交互方式(上)

在人工智能與自然語言處理交匯點,有一種技術正悄然改變與數據交互的方式——將日常語言轉化為精準SQL查詢。這一“text-to-sql”轉換任務,使非專業人士也能輕松駕馭復雜的數據庫操作,極大地拓寬了數據應用的邊界。 然而,現有前沿…

linux系統查看服務器硬件信息

1、查看服務器型號、序列號 # dmidecode|grep "System Information" -A9 | egrep "Manufacturer|Product|Serial" 2、查看主板型號 # dmidecode |grep -A16 "System Information$" 或 dmidecode -t1 3、查看BIOS信息 # dmidecode -t bios 4、…