【深度学习】【STWave】时空图预测,车流量预测,Efficient Spectral Graph Attention Network

Spatio-Temporal meets Wavelet: Disentangled Traffic Flow Forecasting via Efficient Spectral Graph Attention Network

代码:https://github.com/LMissher/STWave
论文:https://arxiv.org/abs/2112.02740

帮助:
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

模型结构:

在这里插入图片描述

一、数据

在这里插入图片描述

二、环境

conda create -n MAE python=3.9 -y
conda activate MAE
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia -ypip install -r requirements.txt

requirements.txt:

easy_torch==1.2.12
easydict==1.10
numpy==1.21.5
positional_encodings==6.0.1
scikit_learn==1.0.2
scipy==1.13.1
setproctitle==1.3.2
sympy==1.10.1
timm==0.6.11
torch==1.13.1
torch_summary==1.4.5
tvm==1.0.0

pip install fastdtw PyWavelets  -i https://pypi.tuna.tsinghua.edu.cn/simple

三、训练


mkdir -p ./cpt/PeMSD8
mkdir -p ./log/PeMSD8
python main.py --config config/PeMSD8.conf

在这里插入图片描述

在这里插入图片描述

四、论文

摘要

交通流量预测对于公共安全和资源优化至关重要,但面临三大挑战:1) 当前工作大多在一个模型中利用复杂的时序模式(如短期雷阵雨和长期日常趋势),无法在不同模式下准确捕捉时空依赖性;2) 图位置编码的探索不足限制了全图注意力网络中空间信息的提取;3) 全图注意力的二次复杂度引入了沉重的计算需求。为实现有效的交通流量预测,我们提出了一种高效的谱图注意力网络,该网络包含解耦的交通序列。

具体而言,利用离散小波变换从交通序列中获得低频和高频成分,这些成分能反映长短期模式的时序特征。精心设计的双通道时空编码器准确捕捉了不同尺度时序模式下的时空依赖性。此外,我们还提出了一种融合注意力来聚合双尺度时序模式的潜在表示,并实施多监督以预测未来低频成分序列,这与交通流量预测并行进行。在空间维度上,为了提升全GAT在交通流量预测中的性能,我们提出了一个高效谱图注意力网络,它是自注意力的一种变体,具有O(NlogN)的复杂度。新颖的基于小波的图位置编码和查询抽样策略被引入到我们的注意力机制中,用以指导信息传递并稀疏化自注意力查询中的节点。

本论文的核心技术贡献是精心设计了一个名为STWave的模型,它同时在时空维度上利用图和离散小波。在四个真实世界数据集上的实验结果显示,STWave在交通流量预测方面显著优于当前最优方法。

Introduction

根据观测到的交通状况和底层道路网络,交通流量预测旨在预测未来一段时间的交通流量,这对日常出行和交通管理都有很大的好处。尽管其重要性显而易见,交通预测却极具挑战性,因为它涉及复杂的时空依赖性。近年来,数据驱动算法在这一领域受到了广泛关注。其中,循环神经网络(RNN)、时间卷积网络(TCN)和基于Transformer的方法被广泛采用来单独捕捉每条道路的时间依赖性【Zhou等,2021;Xu等,2021;Sutskever等,2014;Lv等,2018;Elmi,2020】。尽管上述方法通过单变量模型进行交通流量预测,它们在单个模型中利用了纠缠的时间模式(例如,使用序列模型来提取车祸和流行病中流量增加和减少的相反影响),但未能准确提取不同模式下的时空信息。

最近,图卷积网络(GCNs)的采用解决了交通预测中捕捉空间相关性的问题。DCRNN【Li等,2018】和STGCN【Yu等,2018】使用GCN来建模相邻道路的相互作用。后续工作如Graph WaveNet、AGCRN、STFGNN和STGODE【Wu等,2019;Bai等,2020;Li和Zhu,2021;Fang等,2021】提出了多种GCN变体,通过扩展空间感受野来提高性能。然而,基于GCN的方法忽略了道路网络图中边的权重随时间不断变化的事实。ST-CGA【Zhang等,2020】和LSGCN【Huang等,2020】使用图注意力网络(GAT)及其变体来学习每个时间步相邻道路之间的权重。ST-GRAT【Park等,2020】和GMAN【Zheng等,2020】进一步利用完全GAT进行交通速度预测,取消了原始GAT中的输入图以减轻硬归纳偏差的影响并捕捉全局空间依赖性。尽管完全基于GAT的工作在其他交通预测任务中表现出了良好的性能,但它们大多存在两个局限性:1)忽略了完全注意力的学习效率,即著名的自注意力的时间和空间复杂度为O(N²),这引入了巨大的计算需求;2)原始GAT的中心问题在于输入图将空间感受野限制在邻居中,而完全GAT缺乏结构信息来有效指导信息传递。

为了解决上述限制,我们提出了一种新的高效光谱图注意力网络,用于具有解耦交通序列的交通流量预测。在时间维度上,为了单独建模复杂的时间模式,我们首先利用离散小波变换从交通序列中获得低频和高频成分,其中低频和高频成分可以反映长期和短期模式的时间特征。然后我们精心设计了一个双通道时空编码器来表示不同的双尺度时间模式。此外,我们提出了一种融合注意力来聚合双尺度时间模式的潜在表示,并执行多重监督以预测一系列未来的低频成分,这与交通流量预测并行。在空间维度上,为了提高完全GAT在交通流量预测中的性能,我们提出了一种高效的光谱图注意力网络,这是自注意力的一种变体,复杂度仅为O(NlogN)。我们在注意力机制中引入了新颖的小波基图位置编码和查询采样策略,以指导信息传递并稀疏自注意力查询中的节点。本文的关键技术贡献是一个精心设计的模型,名为STWave,该模型同时利用图和离散小波在时空维度上的特性。四个真实数据集上的实验结果表明,STWave在交通流量预测方面显著优于现有的最先进方法。

五、效果

PeMSD8 交通流预测数据集,介绍。这里还有中文论文介绍这个数据集:https://image.hanspub.org/Html/20-1542336_46800.htm。

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/20741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++STL---vector模拟实现

通过上篇文章,我们知道vector的接口实际上和string是差不多的,但是他俩的内部结构却大不一样,vector内有三个成员变量:_start、_finish、_endofstorage: _start指向容器的头元素,_finish指向有效元素末尾的元素&#x…

Vue2 + Element UI 封装 Table 递归多层级列表头动态

1、在 components 中创建 HeaderTable 文件夹&#xff0c;在创建 ColumnItem.vue 和 index.vue。 如下&#xff1a; 2、index.vue 代码内容&#xff0c;如下&#xff1a; <template><div><el-table:data"dataTableData"style"width: 100%"…

OSM历史10年(2014-2024)全国数据下载(路网、建筑物、POI、水系、地表覆盖利用······)

点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 零、前沿 这次向大家介绍一下OSM&#xff08;OpenStreetMap&#xff09;十年历史数据&#xff08;2014—2014&#xff09;的下载方法。当然我们也下载好分享给大家&#xff…

JAVA web期末复习总结

C/S结构与B/S结构区别&#xff1a; 在C/S结构中&#xff0c;客户端通常是一个独立的应用程序&#xff0c;需要在用户的计算机上安装和运行。而在BS结构中&#xff0c;客户端是一个Web浏览器&#xff0c;用户只需要通过浏览器打开网页&#xff0c;不需要安装额外的应用程序。 C…

程序员上岸指南

如果你还在996&#xff0c;大小周&#xff0c;感觉身体被掏空&#xff0c;那么你可以看看下面这篇文章&#xff0c;我特意搜集了一些苦逼程序员的上岸教程。 人生真的就是做几道选择题&#xff0c;选错了&#xff0c;忙也是瞎忙。选对了&#xff0c;躺着都能赢。总的来说&#…

良心推荐:什么软件能够监控公司电脑,就这5款软件能监控公司电脑

用软件监控员工电脑在大多数国家是非法的&#xff0c;不过在中国&#xff0c;企业在办公场所安装监控设备以监控员工工作&#xff0c;在遵循一定限制和条件的前提下&#xff0c;是合法的。以下是一些符合这些条件&#xff0c;并且广泛被企业采用的员工电脑监控软件的良心推荐&a…

C++:儿童节快乐呀!

六一快乐&#xff01;~ 今天我来宣布一个 ——————Cookie Maker工作室成立了&#xff01;—————— 目前参与人数&#xff1a;7 人名列单&#xff1a; 真实姓名 联系方式以及用户名 ZINCFFO CSDN&#xff08;ZINCFFO&#xff09; &…

使用 Scapy 库编写 IP 地址欺骗攻击脚本

一、介绍 1.1 概述 IP地址欺骗&#xff08;IP Spoofing&#xff09;是一种网络攻击技术&#xff0c;攻击者伪造其数据包的源IP地址&#xff0c;使其看起来像是从其他合法地址发送的。这种技术常用于各种攻击中&#xff0c;例如DDoS攻击、Man-in-the-Middle&#xff08;MITM&a…

buidldroot musl uclib库 编译

buildroot 修改 编译工具链 原本编译器相关信息&#xff1a; Incorrect selection of the C library buidroot编译 注意相关选项&#xff0c;后续使用CUSTOM TOOLCHAIN 时对应 UCLIB 能将生成IMAGE 从2.9K变为2.3K MUSL 能将生成IMAGE 从2.9K变为2.7K 变大了 arm-linux-…

c++的string一键介绍

前言&#xff1a; 这篇文章旨在帮助读者回忆如何使用string&#xff0c;并提醒注意事项。它不是一篇详细的功能介绍&#xff0c;而是一篇润色文章。 先展示重载函数&#xff0c;如果该函数一笔不可带过&#xff0c;就先展示英文原档&#xff08;附带翻译&#xff09;&#xf…

教你搞一个比较简单的计时和进度条装饰器

教你搞一个比较简单的计时和进度条装饰器 什么是装饰器为啥要用装饰器呢&#xff1f;上代码&#xff01;如何使用装饰器效果 什么是装饰器 装饰器的英文是&#xff1a;Decorator。装修的英文是&#xff1a;Decoration。顾名思义就是我们要用装饰器在函数func()上搞点儿事儿&am…

原生APP开发和Flutter开发的比较

原生APP开发和Flutter开发各有优缺点&#xff0c;适用于不同的场景和需求。下面是两者的详细比较&#xff0c;从开发语言、性能、开发效率、维护和更新、社区和支持等多个方面进行分析。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。…

htb_BoardLight

信息收集 nmap -sSVC 10.10.11.11开放80端口&#xff0c;将boardlight.htb写入/etc/hosts 同步进行子域名和目录扫描 子域名扫不到 这个目录扫描很奇怪哈&#xff0c;明明访问80端口有页面&#xff0c;就是扫不出来 直接浏览器访问80端口&#xff0c;四处看看&#xff0c;发…

7、架构-架构的安全性

即使只限定在“软件架构设计”这个语境下&#xff0c;系统安全仍然是一 个很大的话题。我们谈论的计算机系统安全&#xff0c;不仅仅是指“防御系统 被黑客攻击”这样狭隘的安全&#xff0c;还至少应包括&#xff08;不限于&#xff09;以下这些问 题的具体解决方案。 认证&am…

自定义数据集训练 Yolo V10

上次介绍了Yolo 推理&#xff0c;本文我们将使用自己的数据集训练 Yolo V10&#xff0c;训练过程简单&#xff1a; 首先准备数据集&#xff0c;包括图片、标注训练推理 数据集准备 本次采用的数据集为内部数据&#xff0c;标注方法为 VOC 格式&#xff0c;首先我们需要建 VO…

智能辅导班技术架构:运用人工智能提升教育领域的学习效果

在教育领域&#xff0c;随着人工智能的发展&#xff0c;智能辅导班逐渐成为一种趋势。它利用先进的技术和创新的教学方法&#xff0c;为学生提供个性化的学习体验和全方位的辅导服务。本文将介绍智能辅导班的技术架构&#xff0c;探讨如何运用人工智能来提升学习效果。 ### 1. …

力扣之链表专题

1. (LeetCode-21)合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#xff1a;l1 …

微服务架构-微服务实施

目录 一、概述 二、微服务拆分 2.1 概述 2.2 拆分原则 2.3 拆分方法 2.3.1 以数据为维度进行拆分 2.3.2 按照使用场景拆分 2.3.3 重要和非重要的拆分 2.3.4 变和不变的拆分 三、微服务通信 3.1 概述 3.2 微服务通信方式选择 3.3 微服务编排 3.4 API接口设计 3.5 …

「计网」网络初识

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;计网 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 网络初识 &#x1f349;IP 地址 & 端口号&#x1f349;网络协议&#x1f34c;TCP/IP 网络协议 &#x1f349;封装和分用&#x1f349…

乡村振兴与乡村旅游创新:创新乡村旅游产品,提升旅游服务水平,打造特色乡村旅游品牌,助力美丽乡村建设

目录 一、引言 二、乡村旅游产品的创新 &#xff08;一&#xff09;挖掘乡村特色资源 &#xff08;二&#xff09;注重产品体验性 &#xff08;三&#xff09;创新旅游产品形态 三、旅游服务水平的提升 &#xff08;一&#xff09;加强基础设施建设 &#xff08;二&…