基于时空图卷积网络预测交通流

基于时空图卷积网络预测交通流

通过历史交通流量数据来预测未来的交通流量,历史交通流量数据可以表示为交通网络上的时间序列。交通网络可以定义为:
在这里插入图片描述

其中,v是一组N个交通传感器节点(每条道路在不同的路段可能有多个传感器),是连接这些节点的一组边。节点间 的连接也可以用邻接矩阵A来描述,A[i,j]表示节点i和j之间的关系的强度,通常通过两个传感器的地理接近度来测量,若两点之间不连通则A[i,j] = 0。
建立模型输入:在历史交通流序列上滑动一个的窗口生成长度为T的新序列作为输入。
模型框架:
在这里插入图片描述

该模型主要由三个部分组成:(1)S-GNN层,目的是通过交通网络捕捉道路节点之间的空间关系;(2)GRU层,即按顺序捕获时间关系(或局部时间依赖);(3)transformer层,旨在直接捕获序列中的长期时间依赖(或全局时间依赖)。如上图所示,S-GNN层同时还应用于GRU单元的输入和隐藏表示,GRU层和transformer层都用于分别捕获每个节点的时间依赖关系,同时它们从不同的角度捕获依赖关系。
S-GNN: 交通网络G对道路之间的关系进行编码。交通网络中连通的道路更有可能具有相似的属性。具体到交通流预测问题中,如果两条道路相距较近,则道路上的交通状况更有可能相互影响。于是采用以下公式:
在这里插入图片描述
公式中,采用ReLU函数,表示改进的邻接矩阵,D是精细度矩阵。W是可学习的参数。

由于可能还有一些没有意识到的其他因素影响节点之间的关系。故采取对每个节点vi学习一个潜在位置表示pi ,于是就能得到了任意俩个节点的相似性公式:
在这里插入图片描述

公式中Score函数是两个变量的点乘,之后通过掩模来降低一些参数量。
在这里插入图片描述

从而得到改进的关系矩阵进行GCN操作
在这里插入图片描述

GRU:为每个时间步长保持一个隐藏的表示,它将用于控制到下一个时间步长的信息流,并作为当前时间步长的输出, GRU操作将单独应用于每个节点,并且所有节点的GRU的参数都将相互共享。为了在处理序列时包含空间关系,在方程式中应用了修改后的GCN运算的输入和隐藏的表示。在时间t,给定输入xt和上一个步骤Ht-1的隐藏表示。然后,对于时间t中的每个节点vi,GRU的操作可以表示如下:
在这里插入图片描述
上述公式中
,,,,,,
是需学习的参数,,xt, ht-1是经过S-GNN层GCN操作后的输出,ht为当前时间步长的输出,也作为下一步时间步长的输入。
在这里插入图片描述

上图为transformer layer,在Multi-Head Attention Layer中序列位置i的元素关注序列中的所有元素。注意力函数的输入由维数为的键和序列中所有位置的维数为的值组成。用所有键计算给定queries的点积,除以每个键然后应用softmax函数来获得关注每个位置的得分,然后将这些注意力分数作为权重,以聚合来自相应值的信息。通过使用来自GRU层的序列位置编码作为transformer layer的输入。Multi-Head Attention Layer后,输出状态将传递到点态前馈神经网络层。在每个子层之后都有残差连接和层归一化。最后,得到了transformer layer的输出,可以表示为
在这里插入图片描述
prediction layer:利用多层前馈网络预测未来时期的交通流。
该模型训练过程中的损失函数为:
在这里插入图片描述
在这里插入图片描述
其中f()为预测的模型

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值