Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
摘要
交通流量的复杂性和长范围时空相关性是难点
经典现存的工作:
1.利用浅图神经网络(shallow graph convolution networks)和 时间提取模块去分别建模空间和时间依赖
2.STGCN,DCRNN通过结合GNN和RNN,分别获得空间表示和时间表示
缺点:
-
浅图卷积神经网络不能获取长范围空间相关性(太浅特征学习不全面),仅仅考虑了空间上的连接,并没 有考虑语义连接(时间和空间上的关联)
2.分别考虑空间,时间——》模型效果不佳
-
GNN连接两层时效果最好,过深会导致过平滑问题,太浅导致特征学习不全,获取长范围依赖较难。
提出STGODE模型
1.基于张量的ODE模型 --》可以构建更深的网络,有效利用时空特征
2.添加语义邻接矩阵(更全面的获取特征)和时间空洞卷积(TCN 扩大卷积核,增大感受野)–》获取长时间依赖
STGODE组件
使用几个相关组件,解决现存问题
1.构建两种邻接矩阵spatial adjacency matrix (空间邻接矩阵)and semantic adjacency matrix(语义邻接矩阵),可以实现空间特征,语义相似的获取,准确描述时空相关性。
2.残差连接解决过平滑,残差连接的离散层被看作ODE的离散化。
带有残差连接的GNN——》避免过平滑,加深网络深度——》获得更广泛的时空依赖
利用时空张量——》同时考虑了时空交互,模型表现能力更好
使用空洞卷积——》感受野增大——》提取大范围特征
介绍
1.Traffic flow forecasting attempts to predict the future traffic flow given historical traffic conditions and underlying road networks
通过历史数据来预测未来数据
2.the complex and long-range spatial-temporal dependencies in traffic networks.
3.GNN可以高效处理图结构数据,通过聚合邻接点来更新节点表示
4.本文贡献:张量形式的GNN连续表示,加深网路,改善获取长范围时空相关
利用道路节点的空间邻域和语义邻域来综合考虑时空相关性
相关工作
GNN
1.GNN有效的邻接聚合方案
2.解决了非欧几里德图结构数据
缺点:为了获得长时空相关性——》加深网络——》造成过平滑
利用重启分布缓解过平滑为本文动机 (restart distribution)
残差结构可以被看做是离散的常微分方程,现在已经存在通过ODE将残差连接的GCN表达为连续的GCN工作。作者考虑将CGNN(continous graph neural network)应用于交通预测以处理GCN过平滑的问题并同时提取时空依赖
GCN为一种简单的ODE离散化,表示节点表示的连续动态,实现更深的网络。
参数定义
N个节点,A为邻接矩阵,大小为N*N
空间邻接矩阵为 Asp 语义邻接矩阵 Ase
图信号张量X,xit大小为1*F,节点i在t时刻的观测值,F作为一个观测向量的长度
Xt=(X1t,X2t,…XNt)大小为N*F,在t时刻所有点的交通情况
X=(X1,X2,…XT)大小为T*N *F,所有节点在所有时刻的交通量
正则化邻接矩阵

转换之后,可以进行特征值分解,值在【0,阿尔法】
通过ODESolver实现神经网络参数化
模型
网络构成:两个ODE层(由多个STGODE block组成),一个最大值池化层,一个输出层
STGODE block 由 TCN(时间空洞卷积)+ ODESolver + TCN
TCN由空洞卷积和残差连接组成
ODESolver隐藏状态由当前状态和初始状态
邻接矩阵

去除一些关系较远的点,简化计算
语义相关矩阵
DTW算法——》计算两个时间序列的相似性(相较于逐点相似性,对形状相似性更加敏感)
DTW(X,Y)=D(m,n)为X和Y的最终距离


基于张量的时空图ODE

A 正则化矩阵
U时间变换矩阵
W特征转变矩阵
H0 GNN的初始输入

离散的格式如上图所示,其参数过多计算量过大。
ODESolver 可以实现时空融合,扩展网络深度,简化计算。
时间卷积模块

利用了空洞卷积,对每一个特征进行提取,然后再利用残差网络增强卷积性能
STGODE层
TCN+STGODESolver+TCN
优势:对时空信息敏感,卷积结构速度更快,并行性更好(空间邻接,语义邻接并行计算)
三明治法堆叠,扩展了获取复杂时空关系的能力
STGODE模块+最大值池化+两个MLP+Huber损失(对异常值的敏感性低于平方误差损失)
贡献:
我们利用基于张量的ODE框架来提取长距离时空相关性;
引入语义邻居来建立局部和全面的空间关系;
具有残差连接的时间扩张卷积网络有助于捕获长期时间相关性
相关文章:
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting 摘要 交通流量的复杂性和长范围时空相关性是难点 经典现存的工作: 1.利用浅图神经网络(shallow graph convolution networks)和 时间提取模块去分别建模空间和时间依赖…...
IP协议+以太网协议
在计算机网络体系结构的五层协议中,第三层就是负责建立网络连接,同时为上层提供服务的一层,网络层协议主要负责两件事:即地址管理和路由选择,下面就网络层的重点协议做简单介绍~~ IP协议 网际协议IP是TCP/IP体系中两…...
可视化组件届的仙女‖蝴蝶结图、玫瑰环图、小提琴图
在上一篇内容中为大家介绍了几个堪称可视化组件届吴彦祖的高级可视化图表。既然帅哥有了,怎么能少得了美女呢?今天就为大家介绍几个可视化组件届的“美女姐姐”,说一句是组件届的刘亦菲不为过。蝴蝶结图蝴蝶结图因其形似蝴蝶结而得名…...
人的高级认知:位置感
你知道吗?人有个高级认知:位置感 位置感是啥?咋提高位置感? 趣讲大白话:知道自己几斤几两 【趣讲信息科技99期】 ******************************* 位置感 就是对自己所处环境和自身存在的领悟 属于人生智慧 来源于阅历…...
MATLAB——信号的采样与恢复
**题目:**已知一个连续时间信号 其中:f01HZ,取最高有限带宽频率fm5f0。分别显示原连续时间信号波形和 3种情况下抽样信号的波形。并画出它们的幅频特性曲线,并对采样后的信号进行恢复。 step1.绘制出采样信号 这部分相对简单…...
Docker Nginx 反向代理
最近在系统性梳理网关的知识,其中网关的的功能有一个是代理,正好咱们常用的Nginx也具备次功能,今天正好使用Nginx实现一下反向代理,与后面网关的代理做一个对比,因为我使用的docker安装的Nginx,与直接部署N…...
手把手教你实现书上的队列,进来试试?
一.队列的基本概念队列的定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允…...
【springboot】springboot介绍
学习资料 SpringBoot 语雀 (yuque.com)【尚硅谷】SpringBoot2零基础入门教程(spring boot2干货满满)_哔哩哔哩_bilibiliSpringBoot2核心技术与响应式编程: SpringBoot2核心技术与响应式编程 (gitee.com) Spring 和Springboot 1、Spring能做什么 1.1…...
PMP项目管理项目整合管理
目录1 项目整合管理概述2 制定项目章程3 制定项目管理计划4 指导与管理项目工作5 管理项目知识6 监控项目工作7 实施整体变更控制8 结束项目或阶段1 项目整合管理概述 项目整合管理包括对隶属于项目管理过程组的各种过程和项目管理活动进行识别、定义、组合、统一和协调的各个…...
ADS中导入SPICE模型
这里写目录标题在官网中下载SPICE模型ADS中导入SPICE模型在官网中下载SPICE模型 英飞凌官网 ADS中导入SPICE模型 点击option,设置导入选项 然后点击ok 如果destination选择当前的workspace,那么导入完成之后如下: (推荐使用…...
C++:异常
在学习异常之前,来简单总结一下传统的处理错误的方式: 1. 终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。 2. 返回错误码,缺陷:需要程序员自己去查找…...
3.初识Vue
目录 1 vue 浏览器调试工具 1.1 安装 1.2 配置 2 数据驱动视图与双向数据绑定 3 简单使用 3.1 下载 3.2 将信息渲染到DOM上 4 使用vue浏览器调试工具 5 vue指令 1 vue 浏览器调试工具 chrome可能是我浏览器的原因,装上用不了,我们使…...
【C语言复习】程序的编译与链接
程序的编译与链接写在前面程序的编译与链接编译的过程程序编译环境程序执行过程编译链接的过程预处理预处理符号#define条件编译写在前面 程序的编译与链接是C语言中非常重要的一节。关键点在于详解C语言的程序编译和链接、宏的定义和与函数的区别、条件编译等知识。 程序的编…...
Golang sql 事务如何进行分层
在写代码过程中遇到了需要使用gorm执行sql事务的情况,研究了一下各位大佬的实现方案,结合了自身遇到的问题,特此记录。 代码架构介绍 . ├── apis ├── config ├── internal │ ├── constant │ ├── controller │ ├──…...
linux系统openssh升级
linux系统openssh升级 说明 整个过程不需要卸载原先的openssl包和openssh的rpm包。本文的环境都是系统自带的openssh,没有经历过手动编译安装方式。如果之前有手动编译安装过openssh,请参照本文自行测试是否能成功。 如果严格参照本文操作,保…...
力扣-求关注者的数量
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1729. 求关注者的数量二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.正确…...
近红外荧光染料修饰氨基IR 825 NH2,IR 825-Amine,IR-825 NH2
IR 825 NH2,IR 825-NH2,IR825 Amine,IR825-Amine,新吲哚菁绿-氨基,荧光染料修饰氨基产品规格:1.CAS号:N/A2.包装规格:10mg,25mg,50mg,包装灵活&am…...
Android Crash和ANR监控
文章目录一、Crash1.1 概念1.2 类型二、ANR2.1 概念2.2 类型2.2.1 KeyDispatchTimeout(常见)2.2.2 BroadcastTimeout2.2.3 ServiceTimeout2.2.4 ContentProviderTimeout三、测试中如何关注3.1 Crash测试关注方法3.2 ANR测试关注方法四、如何记录与处理4.…...
【02 赖世雄英语语法:复句的语法】
复句的语法复句:把单句 连在一起(标点符号,连词,关系词)1. 连接符号1.1 破折号 — :补充说明,同位语1.2 冒号 : (同位语)1.3 分号 ; ( , 连词)&am…...
北斗导航 | 多参考一致性监测算法(MRCC)(附伪码)—— B值计算
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== MRCC 用于接收机失效检查与排除。在进行 MRCC 之前,先判断 4 台接收机…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...
python基础语法Ⅰ
python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器,来进行一些算术…...
高保真组件库:开关
一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...
Cursor AI 账号纯净度维护与高效注册指南
Cursor AI 账号纯净度维护与高效注册指南:解决限制问题的实战方案 风车无限免费邮箱系统网页端使用说明|快速获取邮箱|cursor|windsurf|augment 问题背景 在成功解决 Cursor 环境配置问题后,许多开发者仍面临账号纯净度不足导致的限制问题。无论使用 16…...
