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 台接收机…...
数字孪生与 UWB 人员定位:双剑合璧的智能物联新时代
人员定位是指利用各种定位技术对人员在特定场所的位置进行准确定位的技术。人员定位技术主要应用于需要实时监控、管理和保障人员安全的场所,如大型厂区、仓库、医院、学校、商场等。人员定位技术的应用范围非常广泛,例如:-在工厂生产线上&am…...
奇点云DataSimba发版全解析:“企业级”版本升级,提供最佳组合
近日,奇点云发布数据云产品商业化版本的全新升级:DataSimba(数据云平台)提供极速版、专业版、旗舰版、红旗版,可靠性、可用性、可服务性再进阶,四大版本满足不同企业选择。 「乐高式DIY」or「最佳组合」&am…...
2-7 SpringCloud快速开发入门: Eureka 注册中心高可用集群搭建
接上一章节Eureka 服务注册中心发现与消费服务,这里讲讲Eureka 注册中心高可用集群搭建 Eureka 注册中心高可用集群搭建 Eureka 注册中心高可用集群就是各个注册中心相互注册 Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,…...
STL中的函数对象
STL-函数对象 函数对象概念 重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质 函数对象(仿函数)是一个类,不是一个函数—修改算法策略—采用虚拟对象调用 函数对象的使用理…...
linux下libevent的编译安装
1,官网下载最新的,https://libevent.org/2,将文件解压,虚拟机可以右键解压,也可以用命令解压,tar zxvf libevent.tar.gz,进行解压缩。这里压缩包的名称只是举例,实际它还会带上版本号…...
深度学习部署笔记(十): CUDA RunTime API-2.2流的学习
1. 流的定义 流(Stream)是一个基于上下文(Context)的任务管道抽象,是一组由GPU依次执行的CUDA操作序列,其中每个操作可能会使用或产生数据。在一个上下文中可以创建多个流,每个流都拥有自己的任…...
[ROC-RK3568-PC] [Firefly-Android] 10min带你了解I2C的使用
🍇 博主主页: 【Systemcall小酒屋】🍇 博主追寻:热衷于用简单的案例讲述复杂的技术,“假传万卷书,真传一案例”,这是林群院士说过的一句话,另外“成就是最好的老师”,技术…...
工作记录:举步维艰的在线 word 之旅 - tinymce
项目中需要实现 “在线编辑 word 模板” 的功能,我打算使用富文本组件 tinymce ,因为业务需求比较特殊,研究一下 tinymce 是否能实现。 如何在 vue 项目中引用 tinymce,可以看另一篇文章 《在 vue 项目中使用 tinymce》 &#x…...
动态规划编译距离
583. 两个字符串的删除操作方法:dp状态表示:以i-1和j-1为结尾的字符串world1和world2,抵达相同的字符串所需的最少操作数属性:最小值状态计算:world1[i-1]和world2[j-1]相同dp[i][j] dp[i-1][j-1];world1[i-1]和world…...
Netty 教程 – 解码器详解
TCP以流的方式进行数据传输,上层的应用为了对消息进行区分,往往采用如下方式 固定消息长度,累计读取到长度和定长LEN的报文后,就认为读取到了个完整的消息,然后将计数器位置重置在读取下一个报文内容将回车换行符作为…...
app开发公司好吗/seo实战密码
>>>defmysum(l):ifnotl:return0else:print(l[0:])returnl[0]mysum(l[1:])#自身的调用>>>mysum([1,2,3,4,5])[1,2,3,4,5][2,3,4,5][3,4,5][4,5][5]15转载于:https://blog.51cto.com/myunix/1302234...
asp做的手机网站/网络营销的传播手段
简述目前很多软件公司的系统架构为了实现自己的业务逻辑层与实现代码的解藕,以及很多系统存在着大量第三方产品的集成工作,使得大家都不约而同的选用了Spring这种轻量的、灵活可配的框架,Spring作为一个成熟的、被广泛认可的IOC框架在dorado的…...
眼查看网站开发语言/网站关键词优化推广哪家快
山有木兮木有枝,心悦君兮君可知???...
超市如何建立网站/在哪里做推广效果好
Kube-proxy需要在每一个minion结点上运行。他的作用是service的代理,负责将业务连接到service后面具体执行结点(endpoints)。 我们列一下体现kube-proxy主要设计的代码部分。 总的来说kubernetes的代码可以从cmd看进去,看每个组件…...
电商网站制作流程图/今日新闻快报
64. jsp 和 servlet 有什么区别? jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类) jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。 Servlet中没有内置对象,Jsp中的内置对…...
wordpress excerpt/今日热点新闻事件摘抄
boost boost::asio::read 尝试读一定数量的字节,直到读到为止,或者出错 socket.read_some 读一下socket,读到多少算多少 带async的类似 转载于:https://www.cnblogs.com/zhangdongsheng/p/7644874.html...