文章信息
本周阅读的论文是一篇2020年发表在《Transportation Research Part C》上关于OD需求预测的文章,题目为《DNEAT: A novel dynamic node-edge attention network for origin-destination demand prediction》。
摘要
近年来,网约车服务平台在全球范围内取得巨大增长,并吸引了广泛的研究兴趣。网约车服务平台的关键问题之一是如何实现准确可靠的需求预测。然而,大多数现有研究集中在区域级的需求预测上,只有少数尝试解决OD需求预测问题。本文从图角度出发,构建了动态的OD图网络描述网约车需求数据。具体而言,作者提出一种新颖的神经网络结构,即动态节点-边缘注意力网络(DNEAT),该网络从需求生成和需求吸引角度解决OD需求预测的挑战。不同于以往研究,作者在DNEAT中提出一种新的神经网络层,称为k阶时间节点-边缘注意力层(k-TNEAT)以捕捉动态OD图中节点拓扑的时间演化,而不是区域间的预定义关系。文章在两个真实世界数据集上对模型进行评估,实验结果表明所提出模型优于其他基线模型,且对于高稀疏性需求数据的预测更加稳健。
文章信息
近年来,网约车服务平台例如滴滴、优步等打车服务平台通过智能手机应用程序提供方便的乘车服务,越来越受欢迎。需求预测是提高系统效率和平台利润的基本组成部分。通过提前了解出行需求,平台可以更好的重新平衡车辆资源的空间分布,减少车辆的闲置时间。另外,准确的需求信息还可以实现高效的动态定价方案,以确保更高的平台利润。网约车需求预测问题包括区域级预测和OD级预测。前者旨在预测每个地区总的出行生成或出行吸引,后者旨在预测两个区域间的出行需求。
尽管OD需求预测的适用性更广,但实时OD需求预测相比于区域级需求预测更具挑战。对于OD需求预测而言,给定N个区域,那么在单位时间段内一共存在N*N个OD对需要预测相关需求。当单位时间段较小时(比如10分钟),非零元素的数量将远小于零元素的数量,比如在成都地铁数据集中将近90%的元素为零。这种显著的稀疏性使预测模型对噪声的敏感性和预测精度无法令人满意。此外,OD对间的时空依赖性无法直接从OD需求矩阵中推断出来。现有针对OD需求的研究大部分没有考虑网约车需求数据中的非欧式结构,或者通过静态和无向图捕捉不同区域间的关系。然而,区域间的成对关系在每个时间段都是双向的,且随时间动态变化,这种时变和双向的关系不能简单地用静态和无向图结构来建模。
为此,文章提出一种新的神经网络结构称为动态节点-边缘注意力网络(DNEAT)以联合捕捉OD图中双向和时变的结构。该网络通过从需求生成和需求吸引的角度学习动态需求模式。对于每个角度,一种新颖的网络层k阶时间节点-边注意力层(k-TNEAT)被提出用于捕捉动态双向的OD图性质,该层同时整合了三种类型的信息:(1)节点属性,包括不同时间段内每个区域的乘客需求生成或吸引;(2)边属性,包括不同时间段内每个OD对的需求数量;(3)根据区域之间的领域关系(地理邻近)所定义的静态图结构,这种关系在训练过程中保持不变。通过自适应地调整区域之间的成对关系(基于上述信息),而不是使用预定义的关系,k-TNEAT可以捕捉OD图的动态需求模式。具体来说,给定一系列OD图,k-TNEAT层沿时间维度采取卷积操作。通过堆叠多个k-TNEAT层,DNEAT可以沿时间维度刻画局部和全局图结构。文章的主要贡献如下所示:
(1)作者提出DNEAT用以解决OD需求预测问题,这是首次在单个模型中同时考虑具有静态结构信息的节点-边的动态双向结构特性。
(2)作者提出k-TNEAT层用以捕捉时变OD图的动态需要模式,通过在不同时间间隔自适应调整每个OD对之间的关系来学习节点和边的表示。
(3)作者设计了一个动态节点拓扑表示方法以联合表示OD图的静态、双向和动态结构信息。这种表示是顺序可变的,节点的顺序(即OD矩阵中节点的行和列的索引)可以调整。因此,提出的方法既适用于欧式距离数据集,也适用于非欧式距离数据集。
(4)作者在两个真实世界网约车需求数据(成都和纽约)上对模型性能进行验证,模型与其他基线相比性能得到提升,且对于高稀疏性的需求数据具有较强的鲁棒性。
定义
定义(1):OD图
文章定义OD图G=(V,E)为一个加权双向图,其中V表示n个区域的集合,E表示边的集合。每个节点具有两个属性和,其中表示以该节点为起始站点的需求数量,表示以该节点为目标节点的需求数量。每一条边包含一个权重,表示由节点到节点的需求数量,并且每一个权重都是单向的,且满足和
OD图描述了乘客的需求模式,会随着不同时间段改变。图1表明不同时间间隔的参考需求模式存在很大不同。文章通过捕捉历史OD图的需求模式演化预测未来OD需求。因此,作者定义动态OD图由一系列OD图构成,其中是时间段t的动态OD图,且是OD图的数量,动态OD图集合可以表示为,其中T表示可以从历史观察中h获得的动态OD图的数量。动态OD图和静态图的最大不同是前者的图的结构会随时间变化。
图1 早中晚不同时间段的不同乘客需求模式
然而,上述定义的动态OD图仅包含历史交易数据的信息,无法表示区域间的地理关系。在城市中,两个区域之间的相互依赖程度高度依赖于它们之间的空间距离。当历史交易数据不足或有噪声时,地理信息可以极大地提高预测的准确性和鲁棒性。为了解决这类问题,最近研究提出了不同类型的关联性用于定义区域间的成对关系,包括空间接近性、功能相似性(基于兴趣点信息或时间序列属性)和交通连通性。由于这些预定义关系不会随时间变化,本文将其纳入静态信息的范畴,并基于静态结构信息进一步定义OD图中每一个节点的k阶领域。
定义(2):k阶领域
给定一个确定的静态结构信息,节点和节点的相似性可以通过一个离散函数衡量,将两个节点之间的接近度转换为分类变量[0,1,...,K]。邻近度为k表示两个节点间的邻近程度属于第k个范围。特别地,当节点为自身时,邻近度等于0。节点的k阶领域定义为,其中。
定义(2)基于静态结构信息定义了两个节点间的邻近度。对于规则网格,节点间的邻近度通过函数计算,其中row(i)和row(j)表示行索引,col(i)和col(j)表示列索引。对于不规则区域,通过将所有节点对的最短路径距离划分为K+1个范围来计算邻接度,其中median表示邻近度的中位数。超参数K是邻近度的阈值,用于控制以每个节点为中心的邻域范围。通常,两个区域之间的接近程度代表了它们相互影响的程度。
定义(3):动态节点拓扑
在时间段t,给定动态OD图和k阶邻域集,节点的动态节点拓扑定义为。这篇文章作者通过捕捉节点的动态节点拓扑学习OD图的动态需求模式。如图2所示,动态节点拓扑是基于OD图的静态和动态结构信息所构造的分层表示。这些分层表示具有以下三个优点:(1)可以降低需求数据的复杂性,缓解需求数据的稀疏性问题;(2)顺序可变的(在OD矩阵中节点的顺序可以是任意的),因此可以适用于欧式和非欧式数据集;(3)以每个节点为中心,有助于提出的模型识别具有相似图拓扑的节点的能力。城市中存在许多简单而相似的移动模式,受益于动态节点拓扑表示,所提出的模型能够识别和学习位于城市不同节点相似的移动模式,即使这些节点相距遥远。
定义(4):OD需求预测问题
在时间段t,给定历史动态OD图观测值和k阶领域集合,OD需求预测问题旨在预测下一个时间段的OD需求。
图2 动态节点拓扑
模型
动态节点-边注意力网络(DNEAT)主要由以下两个部分组成:需求生成模块和需求吸引模块,用于从不同角度学习动态OD图的表示。每个模块由三个k-TNEAT层组成,用于提取动态节点拓扑的特征,并生成节点和边的学习表示。接着,这些学习到的表示用以预测下一个时间段的OD需求。
5.1 k-TNEAT层
k-TNEAT层对一系列图进行操作。一个k-TNEAT层的输入包括两个部分:(1)节点表示,;(2)边表示,。对于每个节点(或者边),输入表示可以视为具有C个通道的长度为的序列。输出则是新的节点表示和边缘表示集合,它们捕获以每个节点为中心的动态节点拓扑的演化模式。一个典型的k-TNEAT层由两个k阶时间编码层和一个时间节点-边注意力层构成。图3(a)展示了k-TNEAT层的整体框架。
5.1.1 k阶时间编码层
对于图序列,节点i的输入表示为,边的输入表示为。该模块首先使用卷积操作对图序列进行处理,产生个时间图,其中F表示卷积核的感受野大小。对于每个时间图,时间节点表示为和时间边表示为,其中和。给定时间图的时间节点表示以及一组权重为的滤波器,节点i的时间依赖性可以通过以下公式获得:
给定时间图的时间边表示,作者使用K+1组不同的滤波器编码边的时间和静态结构信息。对于边,时间表示通过以下公式获得:
图3(b)可视化了k-阶时间编码层的计算过程。首先图序列沿时间维度进行卷积操作以获得时间图;接着对于每一个时间图,通过不同组滤波器编码获得节点的时间表示和边的时间表示;最终利用全连接层将每个时间图表示的维度进行转换。k-阶时间编码层的最终输出通过堆叠所有时间图的表示所获得:(1)节点的时间表示;(2)边的时间表示。接着,节点的时间表示和边的时间表示被输入至时间节点-边注意力层。
时间节点-边注意力层
作者进一步整合时间图的动态节点拓扑信息。如图3(c)所示,时间图中每个节点的聚合表示通过自适应聚合其k阶邻域的信息获得:
其中,和表示线性转换,用于计算和,表示连接操作。表示门控取值,用于确定节点j的信息是否应该聚合到节点i;表示时间图中节点i和节点j的注意力分数,通过联合考虑两个节点和相连边的信息计算而得。对于每个节点i而言,注意力权重从时间图中节点i的动态节点拓扑中可以学习得到,表示节点i和其k阶邻域的时间关系。对于每个时间图,时间节点-边注意力层的输出为和。与k-阶时间编码层类似,对时间节点-边注意力层的输出进行叠加运算得到:(1)节点的聚合表示;(2)边的聚合表示。
在经过时间节点-边注意力层处理后,使用一个新的k阶时间编码层进一步压缩输入图序列的时间维度。在每一个k-TNEAT层,作者压缩时间维度以融合邻接图的时间信息。通过堆叠多个k-TNEAT层,DNEAT可以访问图之间的短期和长期时间依赖关系,并捕获这些图结构的演化模式。总而言之,k阶时间编码层的计算过程如下:
其中,和是节点和边的归一化表示。总之,k-TNEAT层的输入包括两个部分:(1)节点表示;(2)边表示。k-TNEAT层的输出包括:(1)节点表示;(2)边表示。
图3 k阶时间节点-边注意力层
5.2 DNEAT框架
5.2.1 DNEAT输入
DNEAT的输入数据包括三个部分:(1)k阶领域数据;(2)需求生成数据;(3)需求吸引数据。k阶领域数据从静态结构信息中蒸馏获得,比如节点质心间的路径距离。对于每个节点,描述了其在动态OD图中的邻域关系,需求生成和吸引模块共享这些静态信息。对于需求生成模块,作者根据历史动态OD图的观察结果提取每个节点的行程需求。为了捕捉时间依赖性的趋势和周期性,作者考虑三种不同时间段的需求生成数据:(1)当前成分:和,可以从当前时间段的动态OD图中提取;(2)日成分:和可以从昨天下一时间段的OD图中提取;(3)周成分:和,可以从上周下一时间段的动态OD图中提取。因此,节点特征可以定义如下:
其中,a=[当前,天,周],表示的时间维度的长度,表示在时间段(t, a, q)内从节点i出发的出行需求数量。与此类似的,需求生产模块的边特征同样定义如下:
其中,表示在时间段(t, a, q)内从节点i出发到达节点j的需求数量。需求吸引模块的输入数据组织形式与需求生成模块的相似,关注每个节点的需求吸引,其节点特征输入定义如下:
相应的,输入至需求吸引模块的边特征定义如下:
5.2.2 DNEAT架构
图4 DNEAT框架图
需求生成和需求吸引模块结构相似,均由两个按顺序堆叠的k-TNEAT层构成,旨在从三种不同输入模式中提取信息。在每个模块,这两个k-TNEAT层的参数被所有三个组件共享。随后使用一个单一的k-TNEAT层融合从每个成分生成的表示,并生成具有时间依赖性的跨时间维度的综合表示。上述过程可以表述成以下的公式:
其中,表示拼接运算;和分别是需求生成模块和吸引模块的输出;表示经过k-TNEAT层操作后的时间维度长度,表示k-TNEAT层的操作,表示两次使用k-TNEAT层操作。在DNEAT中,作者根据节点之间的需求产生和吸引关系来预测它们之间的需求。理论上,使用一组向量描述这种关系,通过单位卷积操作将两个模块产生的节点和边的时间表示组合起来,具体可以描述为:
其中,和分别是一对节点和边的组合表示。由于节点和边的组合表示捕获了跨多个历史时间间隔的动态节点拓扑,因此可以用于预测下一个时间间隔的OD需求。此处作者根据节点和边的组合表示,使用两个单位卷积网络预测下一时段的OD需求,其中一个用于预测节点间的OD需求,另一个网络则用于判断节点间的OD需求是否为0。
5.2.3 损失函数
模型通过优化以下损失函数进行训练:
其中,和为惩罚系数用于平衡OD需求为零和非零的边缘损失贡献。在OD需求矩阵,零元素的数量远大于非零元素的数量。由于OD需求矩阵的稀疏性,如果损失函数只考虑减少整体回归误差,那么训练后的模型可能倾向于将大部分非零元素视为噪声,从而产生不精确的预测。为了克服这个问题,文章提出的损失函数联合考虑最小化和,其中是常用的二次回归损失,是一种辅助损失函数,用于使模型集中在难以预测的边上。例如,如果需求为零的边已被模型很好区分(即),那么其对损失函数的贡献将会非常小。另外,在验证和测试阶段,最后的预测结果通过获得,其中是用于选择非零边的掩码。
实验
实验部分,作者在两个真实世界的网约车数据集验证模型的预测精度。实验结果表明,相比其他现有方法,DNEAT模型在平均绝对误差和均方根误差等常见预测指标上,具有更好的性能和精度。感兴趣的读者可以阅读原文实验部分。
结论
本文提出了一个全新的神经网络框架DNEAT来对网约车OD需求预测中的不同特征进行建模,模型引入k-TNEAT层捕捉OD图的欧式和非欧式距离的时空依赖性。在每个k-TNEAT层,同样设计了一个时间节点-边注意力机制用于学习网约车OD需求预测中固有的动态双向图结构属性。此外,为减轻高稀疏度对现实世界网约车OD数据集的负面影响,作者仔细设计了一个目标函数,使模型专注于难以预测的边。实验结果表明模型在两个真实世界数据集上取得了令人满意的预测效果,同时对于高稀疏的需求数据更具鲁棒性。
虽然模型的性能仅由OD网约车需求数据证实,但其通用的图形表示方法也可以应用于其他类型的动态图形相关任务,例如共享单车需求预测和交通流预测。通过适度的修改,模型可以扩展到考虑其他类型的地理邻近性,例如兴趣点信息和动态变化的道路旅行时间,以更好地表征两个区域之间的邻里关系。