交通预测中,现有的预设图的图卷积方法,不能准确反映车站的真实空间关系,也不能自适应地捕捉需求的多层次空间依赖性。针对上述问题,本文提出了一种新的用于交通预测的图卷积网络。该图卷积结构在不同层使用不同的邻接矩阵,所有的邻接矩阵在训练过程中都是自学习的,提供一种分层耦合机制,将上层邻接矩阵与下层邻接矩阵相关联。最后再将设计的图卷积与GRU(门控循环单元)相结合,构建交通预测网络。
Problem Definition
GCN在交通预测上存在的问题:
①决定图卷积网络中聚合方式的邻接矩阵大部分是固定的,大多是根据空间距离或网络连接性生成的,无法捕获真正的空间依赖性。
②现有方法忽略了交通需求预测的层次依赖性。例如,一场暴雨会导致全域内的共享单车使用量减少,但交通事故导致的交通拥堵只会对局部区域产生影响。
③仅用一个邻接矩阵堆叠成的图卷积层很难有效地获得交通需求的多级表示。
④构成最终交通需求的不同层次中的表示形式不应该是静态的,而是随时间变化的。
下面是作者提出的图卷积层与其他卷积层的对比:
(a) GCN:最常见的普通图卷积。
(b) GIN(图同构网络):在邻接矩阵上用附加的加权恒等矩阵构造图同构网络(保持单射)。
(c) SGC:去除中间的激活函数,多层合为一层。
(d) gfNN:在SGC的基础上增加一个激活函数和一个映射函数,以模拟非线性关联。
(e) MixHop:利用邻接矩阵的混合幂探索进一步邻居的潜在表示。
(f) CGC:在不同层具有不用邻接矩阵,所有邻接矩阵都是学习得到的。
问题相关定义
问题可以分为两类,有固定站点(公交车,地铁等),无站点(共享单车,出租车等)。对于无站点,作者使用Density Peak Clustering (DPC)算法从无站点的数据中获取虚拟站点后进一步实验。
目标一:邻接矩阵
用表示图,在t步时间图的特征是,d是特征维度。所以问题可以表示为给定τ时间步长的图特征,目标在于挖掘邻接矩阵。用符号表示如下
目标二:交通预测
给定图G和P步历史图特征,目标在于预测未来Q步时间的图特征。符号表示如下
其中,
Method
①邻接矩阵生成
给定τ时间步长图特征。
(a)将3-D张量转化为2-D矩阵,
(b)对2D矩阵做奇异值分解,奇异值分解可以通过降维过滤掉冗余信息。
(c)Xs∈RN×ξ表示station-wise的矩阵,ξ为站点特征的维数,然后可以通过计算Xs的x行和y行相似度,作为它们在邻接矩阵中的边权值。(作者基于高斯核的方法计算相似度)
②耦合分层图卷积(CGC)
作者为了解决上面的图卷积问题,提出各层具有不同邻接矩阵图卷积,公式如下:
其中Z(m) 表示第 m+1层的输入,Z(m+1) 是第m+1层的输出。A(m)是节点之间的联系,随着层数发生改变,其中A(0)即为通过时序数据构建出的邻接矩阵。作者利用耦合映射函数ψ(m)来m+ 1层的邻接矩阵(ψ(m)作者使用全连接层):
同时作者考虑到节点数过多时,N×N邻接矩阵和ψ计算成本高。
(a) 作者通过奇异值分解,将邻接矩阵分成两个较小的矩阵 其中 , 。表示邻接矩阵的参数从N×N减小为2×N×L (N >> L)。这样模型中的可学习参数得到一定的控制
(b) ψ函数是由全连通层实现的,用以模拟层间的关联,并且共享E1和E2之间的全连通层参数:
这样每个耦合映射的参数减少为L × (L + 1)。
另外只有第一层中E1、E2是通过随机梯度下降法直接优化的,其余的是通过耦合映射ψ来更新的。
③多层聚合
为了从所有的图卷积层中收集信息,而不是只从一个固定的层中提取信息,作者通过注意力机制实现了多层结果的聚合,选择对当前预测任务相对重要的信息。(类似残差)
如图通过CGC作者得到 其中M表示图卷积层的层数,β表示特征的维度。通过注意力机制将多级信息聚合,聚合方式如下:
其中 是可学习参数, 是 展开版本。α(m)为Z(m)的注意分数。
④时间依赖模型
构建时间依赖模型,作者选择在GRU上进行改进,用CGC和多层聚合来代替GRU中的线性变换得到CCGRU。公式如下
其中的 即为作者提出的多层聚合CRC卷积。
模型整体如下
总体上一个编码解码的架构,编码器和解码器都由CCGRU组成。
Experiments
数据集:
①NYC Citi Bike,是基于站点的数据,经过滤共保留250个站点
②NYC Taxi,是无站点数据,对订单数据聚类形成266个虚拟站点
实验设置:
时间片间隔是30min
特征维度 D = 2 ,分别表示取车和还车数
用历史12步预测未来12步
堆叠的卷积层层数为3
最后四周用于验证和测试
Loss函数选择均方根误差RMSE。
实验结果:
在两个数据集上效果都是最好的。
消融实验:
证明了各个部分都是有效的
创新点:
提出了CGC卷积架构,在三层图卷积使用不同的邻接矩阵。矩阵分解的方法来减少时间复杂度。