DNEAT: 一个全新的用于OD需求预测的动态节点-边注意力网络

c9b83fa93e66afd4142b9ad788d4a559.png

文章信息

fd553a0609a73cb13d59cc9a36f269a1.png

本周阅读的论文是一篇2020年发表在《Transportation Research Part C》上关于OD需求预测的文章,题目为《DNEAT: A novel dynamic node-edge attention network for origin-destination demand prediction》。

95db6654a51ff958ca6b2083ea2bf587.png

摘要

43dc6eb675650b7ee242138591e228ff.png

近年来,网约车服务平台在全球范围内取得巨大增长,并吸引了广泛的研究兴趣。网约车服务平台的关键问题之一是如何实现准确可靠的需求预测。然而,大多数现有研究集中在区域级的需求预测上,只有少数尝试解决OD需求预测问题。本文从图角度出发,构建了动态的OD图网络描述网约车需求数据。具体而言,作者提出一种新颖的神经网络结构,即动态节点-边缘注意力网络(DNEAT),该网络从需求生成和需求吸引角度解决OD需求预测的挑战。不同于以往研究,作者在DNEAT中提出一种新的神经网络层,称为k阶时间节点-边缘注意力层(k-TNEAT)以捕捉动态OD图中节点拓扑的时间演化,而不是区域间的预定义关系。文章在两个真实世界数据集上对模型进行评估,实验结果表明所提出模型优于其他基线模型,且对于高稀疏性需求数据的预测更加稳健。

69fb24b3f7146434b4cd5148a704152a.png

文章信息

af8367126665c8a321a66d723d0bee67.png

近年来,网约车服务平台例如滴滴、优步等打车服务平台通过智能手机应用程序提供方便的乘车服务,越来越受欢迎。需求预测是提高系统效率和平台利润的基本组成部分。通过提前了解出行需求,平台可以更好的重新平衡车辆资源的空间分布,减少车辆的闲置时间。另外,准确的需求信息还可以实现高效的动态定价方案,以确保更高的平台利润。网约车需求预测问题包括区域级预测和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)作者在两个真实世界网约车需求数据(成都和纽约)上对模型性能进行验证,模型与其他基线相比性能得到提升,且对于高稀疏性的需求数据具有较强的鲁棒性。

908338b68a15fe71046904f9cf3adcbe.png

定义

b45254ce686aaf877688adc2faeb9155.png

定义(1):OD图

文章定义OD图G=(V,E)为一个加权双向图,其中V表示n个区域的集合,E表示边的集合。每个节点具有两个属性和,其中表示以该节点为起始站点的需求数量,表示以该节点为目标节点的需求数量。每一条边包含一个权重7c7e93b10ed64e66c2ead5171f7ff8f8.png,表示由节点到节点的需求数量,并且每一个权重都是单向的,且满足55b72f58803779869da7e6a6b1f19bbd.pngeaac4259050e157c6a2e8a2df7ca977d.png

OD图描述了乘客的需求模式,会随着不同时间段改变。图1表明不同时间间隔的参考需求模式存在很大不同。文章通过捕捉历史OD图的需求模式演化预测未来OD需求。因此,作者定义动态OD图由一系列OD图构成6a810b8248d4e51f8830005e52e7bbe0.png,其中是时间段t的动态OD图,且是OD图的数量,动态OD图集合可以表示为c9521a10d342f065c4ec5e0acf52e940.png,其中T表示可以从历史观察中h获得的动态OD图的数量。动态OD图和静态图的最大不同是前者的图的结构会随时间变化。

5102cf30b4f0d153b6be2f34a4b2dcab.png

图1 早中晚不同时间段的不同乘客需求模式

然而,上述定义的动态OD图仅包含历史交易数据的信息,无法表示区域间的地理关系。在城市中,两个区域之间的相互依赖程度高度依赖于它们之间的空间距离。当历史交易数据不足或有噪声时,地理信息可以极大地提高预测的准确性和鲁棒性。为了解决这类问题,最近研究提出了不同类型的关联性用于定义区域间的成对关系,包括空间接近性、功能相似性(基于兴趣点信息或时间序列属性)和交通连通性。由于这些预定义关系不会随时间变化,本文将其纳入静态信息的范畴,并基于静态结构信息进一步定义OD图中每一个节点的k阶领域。

定义(2):k阶领域

给定一个确定的静态结构信息,节点和节点的相似性可以通过一个离散函数衡量935e5a01681c20425b5f4ded1172476b.png,将两个节点之间的接近度转换为分类变量[0,1,...,K]。邻近度为k表示两个节点间的邻近程度属于第k个范围。特别地,当节点为自身时,邻近度等于0。节点的k阶领域定义为f0b2408ebb8338987df64f41d486de39.png,其中9c85690294ca2a0ba987c8edea9b3089.png

定义(2)基于静态结构信息定义了两个节点间的邻近度。对于规则网格,节点间的邻近度通过函数a7082fde4757c2027f4bae790872566f.png计算,其中row(i)row(j)表示行索引,col(i)col(j)表示列索引。对于不规则区域,通过将所有节点对的最短路径距离划分为K+1个范围来计算邻接度caaf7c369440f9b2be72a9b22e4424e0.png,其中median表示邻近度的中位数。超参数K是邻近度的阈值,用于控制以每个节点为中心的邻域范围。通常,两个区域之间的接近程度代表了它们相互影响的程度。

定义(3):动态节点拓扑

在时间段t,给定动态OD图和k阶邻域集6eaadd72a2960f12fd7662a2ec412a2d.png,节点的动态节点拓扑定义为020fa46aa0d4ca735917bad7c6c41ee3.png。这篇文章作者通过捕捉节点的动态节点拓扑学习OD图的动态需求模式。如图2所示,动态节点拓扑793d4fe3abda60369519350391de4f6e.png是基于OD图的静态和动态结构信息所构造的分层表示。这些分层表示具有以下三个优点:(1)可以降低需求数据的复杂性,缓解需求数据的稀疏性问题;(2)顺序可变的(在OD矩阵中节点的顺序可以是任意的),因此可以适用于欧式和非欧式数据集;(3)以每个节点为中心,有助于提出的模型识别具有相似图拓扑的节点的能力。城市中存在许多简单而相似的移动模式,受益于动态节点拓扑表示,所提出的模型能够识别和学习位于城市不同节点相似的移动模式,即使这些节点相距遥远。

定义(4):OD需求预测问题

在时间段t,给定历史动态OD图观测值0a17a05b39683542ea6c2275b6b93ec8.pngk阶领域集合dac3542bde327f3647cabd3c75b01d7e.png,OD需求预测问题旨在预测下一个时间段的OD需求a591972916e6b6f3155fe3163f78578e.png

42d7d51163cbeca364160c5b7a9df911.png

图2 动态节点拓扑

ef0287a8feccd89ee02c68aa04023cd4.png

模型

be1593b25164f0e5d65e21200d3ff980.png

动态节点-边注意力网络(DNEAT)主要由以下两个部分组成:需求生成模块和需求吸引模块,用于从不同角度学习动态OD图的表示。每个模块由三个k-TNEAT层组成,用于提取动态节点拓扑的特征,并生成节点和边的学习表示。接着,这些学习到的表示用以预测下一个时间段的OD需求。

5.1 k-TNEAT层

k-TNEAT层对一系列图进行操作。一个k-TNEAT层的输入包括两个部分:(1)节点表示,c42994f627321917ff0f9da12439f33e.png;(2)边表示,21859e0c491b7d622f8511adc79fabd5.png。对于每个节点(或者边),输入表示可以视为具有C个通道的长度为的序列。输出则是新的节点表示和边缘表示集合,它们捕获以每个节点为中心的动态节点拓扑的演化模式。一个典型的k-TNEAT层由两个k阶时间编码层和一个时间节点-边注意力层构成。图3(a)展示了k-TNEAT层的整体框架。

5.1.1 k阶时间编码层

对于图序列,节点i的输入表示为af2e747098a7ae138a80dbe59a27fe43.png,边4bd934687f77166ae6ab85a64b26496d.png的输入表示为b9013114900023dbde9be470a33986b8.png。该模块首先使用卷积操作对图序列进行处理,产生678ffa9e85069bd32ced4748dffd68f0.png个时间图e048e252e729d7dce31bbd24fd9fbe6a.png,其中F表示卷积核的感受野大小。对于每个时间图,时间节点表示为39a1ec03e3a36ac734b3448532ad663e.png和时间边表示为0370489bfd84715330db666f4573db3b.png,其中0a69cc8e6464aaef2a5a262fd77b647b.png37ecf6daccd1974e70b4b9c43b6bb3e5.png。给定时间图11a70bb31c424b2b7b200166779baf81.png的时间节点表示12a00c6c1d819c591be16ad45fef02ff.png以及一组权重为f9f7e46d5741cb30b49de6a01e77716b.png的滤波器ca1439204726a4b32b1f481ff3d57013.png,节点i的时间依赖性可以通过以下公式获得:

98e0663f58c34bedf6c675461b0339ed.png

给定时间图72a8ffa5b790e291f92a8d61d174624c.png的时间边表示ab08e3a9900a6edfe9217be5f6d5d413.png,作者使用K+1组不同的滤波器编码边的时间和静态结构信息。对于边4b9a0b98114bdcb34fde1978418d8901.png,时间表示通过以下公式获得:

df7141c3db88f21e25230a4d1e7a9e73.png

图3(b)可视化了k-阶时间编码层的计算过程。首先图序列沿时间维度进行卷积操作以获得时间图6d31375e30f20804937e72f2389dd33a.png;接着对于每一个时间图,通过不同组滤波器编码获得节点的时间表示和边的时间表示;最终利用全连接层将每个时间图表示的维度进行转换。k-阶时间编码层的最终输出通过堆叠所有时间图b092eac9f1bac34671f79c2bb721e730.png的表示所获得:(1)节点的时间表示84633129c79e403d43baf30e678f108c.png;(2)边的时间表示e623f698321e74e41b459cdacafbf46b.png。接着,节点的时间表示和边的时间表示被输入至时间节点-边注意力层。

  1. 时间节点-边注意力层

作者进一步整合时间图64cb06a71094f57c20db46ea0a79730d.png的动态节点拓扑信息。如图3(c)所示,时间图3acbc5daa619b46bd019ca7ac4f6a593.png中每个节点的聚合表示通过自适应聚合其k阶邻域的信息获得:

f3d9662e6579a45ebce0f45608856e98.png

其中,cbc5f41b70dc13752ca77af7924412b1.png7f333ff7e8704d7f54433531ae78ee4b.png表示线性转换,用于计算8bc0b1b8b3fce69ed9bfba3b3b817194.pngae3ba2174b4490ce39601d10e0ac50df.png,表示连接操作。52aea6c7372e15a17dfcf100c696e7c8.png表示门控取值,用于确定节点j的信息是否应该聚合到节点iec1dc1240cee9815afe513c33836180d.png表示时间图be39058b0e2e0453857d70952eb6b805.png中节点i和节点j的注意力分数,通过联合考虑两个节点和相连边的信息计算而得。对于每个节点i而言,注意力权重66659471d1f3b5567892e270bd76b474.png从时间图63a3f4b8a3b6810eb264619528ea8e6a.png中节点i的动态节点拓扑中可以学习得到,表示节点i和其k阶邻域的时间关系。对于每个时间图7c87a577ca58f93ac428949c661bcc0e.png,时间节点-边注意力层的输出为fa1acfff22dbc35507f46d0b8f9b3820.pngc5335bbf69226365600b507235f5942e.png。与k-阶时间编码层类似,对时间节点-边注意力层的输出进行叠加运算得到:(1)节点的聚合表示6d83ee2fe6a595a9506d656a34133e1c.png;(2)边的聚合表示2f463a19ddef584a3a20dbe3e507d2c7.png

在经过时间节点-边注意力层处理后,使用一个新的k阶时间编码层进一步压缩输入图序列的时间维度。在每一个k-TNEAT层,作者压缩时间维度以融合邻接图的时间信息。通过堆叠多个k-TNEAT层,DNEAT可以访问图之间的短期和长期时间依赖关系,并捕获这些图结构的演化模式。总而言之,k阶时间编码层的计算过程如下:

0927680fe6d0aa63d6f777cf175720ea.png

其中,和是节点和边的归一化表示。总之,k-TNEAT层的输入包括两个部分:(1)节点表示a73ad1aff686e9c26cb6230a9baa935d.png;(2)边表示bf7e78474b25508fedd5183885b277a9.pngk-TNEAT层的输出包括:(1)节点表示85331e01f72892e4a155cc1a08d21eea.png;(2)边表示e065683314e367d7b482a3737513df6c.png

cf079d600f7b7a669c2cf16e79aca60d.png

图3 k阶时间节点-边注意力层

5.2 DNEAT框架

5.2.1 DNEAT输入

DNEAT的输入数据包括三个部分:(1)k阶领域数据;(2)需求生成数据;(3)需求吸引数据。k阶领域数据4a838b6c4e74d00def7387d5c32ec84d.png从静态结构信息中蒸馏获得,比如节点质心间的路径距离。对于每个节点7348968788f3ad077ff2148d3b55add9.png68b07825485b52b3c6349d92fb3e9573.png描述了其在动态OD图中的邻域关系,需求生成和吸引模块共享这些静态信息。对于需求生成模块,作者根据历史动态OD图的观察结果863f45f9b835c1ed9c40996be1c2beaa.png提取每个节点的行程需求。为了捕捉时间依赖性的趋势和周期性,作者考虑三种不同时间段的需求生成数据:(1)当前成分:b13bab1dbcf53430c40ab99d90a811ec.png6879e7e9018acd021dccbdb265c857a2.png,可以从当前时间段的动态OD图中提取;(2)日成分:fb25c494efafd86b6d716a84abd045d9.png693bd4dd4467a6b632e1b33ea0ffdc25.png可以从昨天下一时间段的OD图中提取;(3)周成分:af35b347d224754017ce181b2a08579e.png7bf3a22dfcbd2c1145923391396ceb8d.png,可以从上周下一时间段的动态OD图中提取。因此,节点特征6ace12f943e29a9175ceb312f3d7aa1b.png可以定义如下:

41465c202b3c3344e4aab3694afa5b5d.png

其中,a=[当前,天,周],表示e5b0c4ae92d896ff20fc3beb322885e7.png的时间维度的长度,b33225eb4ed649a1c500b7fce6dc7857.png表示在时间段(t, a, q)内从节点i出发的出行需求数量。与此类似的,需求生产模块的边特征267202c9f5ec8a55497fa17a0bd4fc31.png同样定义如下:

dbcf0ed57333ccd02dd7a60d6627e169.png

其中,0ee55b0c63dc9b679c0764d20ab8def3.png表示在时间段(t, a, q)内从节点i出发到达节点j的需求数量。需求吸引模块的输入数据组织形式与需求生成模块的相似,关注每个节点的需求吸引,其节点特征输入定义如下:

3e8cfa209bc0fb31469890555051fa80.png

相应的,输入至需求吸引模块的边特征定义如下:

9fa54c44cf44e07049fee266e239380d.png

5.2.2 DNEAT架构

954f786feb6b850894c3d49dccd6b778.png

图4 DNEAT框架图

需求生成和需求吸引模块结构相似,均由两个按顺序堆叠的k-TNEAT层构成,旨在从三种不同输入模式中提取信息。在每个模块,这两个k-TNEAT层的参数被所有三个组件共享。随后使用一个单一的k-TNEAT层融合从每个成分生成的表示,并生成具有时间依赖性的跨时间维度的综合表示。上述过程可以表述成以下的公式:

fc0d7c67dc72bf2a92b44ae35b3f2c5b.png

其中,表示拼接运算;5834e8f899a92a62c81bd8b3d56c7cab.pngc8414c3cfd31227fd52351e7876b2e06.png分别是需求生成模块和吸引模块的输出;表示经过k-TNEAT层操作后的时间维度长度,表示k-TNEAT层的操作,表示两次使用k-TNEAT层操作。在DNEAT中,作者根据节点之间的需求产生和吸引关系来预测它们之间的需求。理论上,使用一组向量49820c39d94e7f70003b7a4b8d7a4872.png描述这种关系,通过单位卷积操作将两个模块产生的节点和边的时间表示组合起来,具体可以描述为:

a6bddda9ef5c132be4bb92b5f942a463.png

其中,0da72fc58d8dd39d019e0120ead70470.pngdb45bf45cb3eb005cb528b18be3c4271.png分别是一对节点和边的组合表示。由于节点和边的组合表示捕获了跨多个历史时间间隔的动态节点拓扑,因此可以用于预测下一个时间间隔的OD需求。此处作者根据节点和边的组合表示,使用两个单位卷积网络预测下一时段的OD需求,其中一个用于预测节点间的OD需求,另一个网络则用于判断节点间的OD需求是否为0。

5.2.3 损失函数

模型通过优化以下损失函数进行训练:

71f652762e5c4a00e10b3849e4303845.png

其中,和为惩罚系数用于平衡OD需求为零和非零的边缘损失贡献。在OD需求矩阵,零元素的数量远大于非零元素的数量。由于OD需求矩阵的稀疏性,如果损失函数只考虑减少整体回归误差,那么训练后的模型可能倾向于将大部分非零元素视为噪声,从而产生不精确的预测。为了克服这个问题,文章提出的损失函数联合考虑最小化eec972fa240a028f3231b2c19f1cb41e.png0d83caf6c91e8cc546826f29b8051d50.png,其中3876169df6f0349270a7c40a860f2903.png是常用的二次回归损失,7b04c5e7af878e0474eef247a333ae21.png是一种辅助损失函数,用于使模型集中在难以预测的边上。例如,如果需求为零的边已被模型很好区分(即05cccea009c811da3217f89e12ddbcfd.png),那么其对损失函数的贡献将会非常小。另外,在验证和测试阶段,最后的预测结果通过148de63c7a569e2f0df4159f48ac661e.png获得,其中d03c39da3847835b95f3f91971301a48.png是用于选择非零边的掩码。

678132cad0cb610edcb932c3fcfef2b1.png

实验

7cbb33f9f54800fd29a7bd557ac5aabb.png

实验部分,作者在两个真实世界的网约车数据集验证模型的预测精度。实验结果表明,相比其他现有方法,DNEAT模型在平均绝对误差和均方根误差等常见预测指标上,具有更好的性能和精度。感兴趣的读者可以阅读原文实验部分。

4140c88e2afbe7a17d9737f7a9477231.png

结论

2c0bff1d1c7f1e659e55fca4a902fec8.png

本文提出了一个全新的神经网络框架DNEAT来对网约车OD需求预测中的不同特征进行建模,模型引入k-TNEAT层捕捉OD图的欧式和非欧式距离的时空依赖性。在每个k-TNEAT层,同样设计了一个时间节点-边注意力机制用于学习网约车OD需求预测中固有的动态双向图结构属性。此外,为减轻高稀疏度对现实世界网约车OD数据集的负面影响,作者仔细设计了一个目标函数,使模型专注于难以预测的边。实验结果表明模型在两个真实世界数据集上取得了令人满意的预测效果,同时对于高稀疏的需求数据更具鲁棒性。

虽然模型的性能仅由OD网约车需求数据证实,但其通用的图形表示方法也可以应用于其他类型的动态图形相关任务,例如共享单车需求预测和交通流预测。通过适度的修改,模型可以扩展到考虑其他类型的地理邻近性,例如兴趣点信息和动态变化的道路旅行时间,以更好地表征两个区域之间的邻里关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当交通遇上机器学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值