CMOD:基于动态图表示学习的短时OD预测方法

文章信息  

文章题为“Continuous-Time and Multi-Level Graph Representation Learning for Origin-Destination Demand Prediction”,该文章于2022年发表至Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining会议中。该文章主要研究利用深度学习模型实现短时OD流预测。

摘要  

由于现实中存在大量可能的OD对,空间依赖的隐式性以及交通状态的复杂性,对OD流的预测是一个有价值但具有挑战性的问题。针对上述问题,文章提出了一种用于OD需求预测的连续时间多层次动态图表示学习方法(CMOD)。首先,文章构建了连续时间动态图表示学习框架,使得每个交通节点(地铁站或出租车区)拥有一个动态状态向量;状态向量用于保存历史事务信息,并根据最近发生的交通出行不断更新。其次,文章提出多级结构学习模块,对站级节点的空间依赖关系进行建模;该模块不仅可以从数据中自适应地挖掘节点间的关系,还可以通过集群级和区域级虚拟节点共享消息和表示。最后,文章设计了一个跨层融合模块,用于集成多层次记忆,生成综合节点表示,用于最终预测。文章在北京地铁和纽约出租车的两个真实数据集上进行了广泛的实验,结果表明CMOD的有效性。

文章的创新点总结如下:

1. 文章提出了一种用于OD需求预测的连续时间动态图表示学习框架。与以往的研究不同,文章的方法维护连续时间节点表示,并在有大量交通出行时可用时连续更新它们。由于可以在极细的时间尺度上了解台站的演化动态,因此文章所提出的方法预测精度较高。   

2. 文章提出了一种分层的消息传递模块来对站点间的空间交互进行建模。CMOD通过虚拟集群级节点和虚拟区域级节点共享信息,利用了站点间多层次的空间依赖关系。

3. 在两个真实世界的数据集上进行了广泛的实验。结果不仅证明了文章的方法优于基线,而且还说明了文章的方法能够捕获站点状态的连续演变轨迹。

问题定义  

首先文章提出了一种动态图,称之为动态事务图(Dynamic Transction Graph)。其定义如下,从一个地点到另一个地点的乘客需求可以反映在历史交易记录中,例如出租车订单或地铁记录。这些记录包括旅客的出发地、目的地和出发时间。在文章中,这些交易被组织成一个连续时间动态图d07df9501173d50abbda407e9c4a9a0c.png,其中V是N个节点的有限集,E是M个时间步的有限集。每个节点表示一个固定的站点,每条边3cdce661856b96a6668fd87b9d4d2b63.png表示节点6555ed60ed98ab2ac212724b5f7b3f18.png556fc296f19e5c996418d593d30d2194.png在时间cfb394f4d45456e88531c328c234d832.png的一名乘客。此外,每个节均对应一个特征向量,所有结点的特征向量表示为515aadc75c7acdddad1448cb9469827d.png。进一步,在t时刻的动态图定义为9ca0925927326414ef488acdbec4f058.png

基于上述动态图的定义,OD矩阵的定义为4a483617a01fb6718470019c166c2353.png,与普通OD矩阵定义相同,此处不再赘述。基于上述定义,文章所研究的问题定义如下。OD需求预测不仅可以预测未来的客流量,还可以说明客流量的移动方式,对交通管理有很大的帮助。形式上,给定历史交易记录,OD需求预测的目的是估计下一段时间内的OD需求矩阵,其中70b916e8b2483ada33ca5f25397a40e6.png是可学习参数的集合。

8280d32a953f26926cd7c77d2150726a.png    

CMOD模型框架  

b23fb992e93ea4aff8172b7d66f8ff07.png

CMOD框架如上图所示,该框架的核心思想是更新节点的多级记忆(memory)。多层次结构的设计是为了捕捉交通节点之间的空间依赖性。当交通出行发生时,该框架使用出行时间对记忆进行更新。进一步,将历史记忆进行压缩所有历史事务并表示实时节点状态,用于最终预测。

连续时间节点表示:CMOD直接建立在原始的交通出行记录上,它将时间信息视为连续的特征,并为每个交通站点保持连续的时间演化表示。原始记录表示为带有时间的事件,这些事件也是流量节点之间的流交互。为了获得节点表示,文章有两个基本假设:1.交互发生的时间越近,它就越重要;2.节点i与节点j的交互越频繁,节点j对节点i的影响就越大。为此,我们期望节点i在t时刻的表示为:

a929e77241f6f8a62313518afedcece9.png

其中,f4303b4ffd483f54a57dc18580083a94.png为节点i在t时刻的表示。进一步,文章对上式进行修改,变为迭代表示:

8d727a3c1194d55da6dd3440ab735cd7.png    

其中,e96bc4ce5dcbd01fd83dc4d382ece2ab.png37ccc5b8862636907980a188a6d6893c.png表示为相邻节点表示的时间加权和;79986b24a338aad1431618df35a3bac0.png为时间归一化器。节点在时刻t的状态表示为:

97cc05f16128cd515a12afa39abffd91.png

进一步,在OD预测中,由于OD的数量非常大,难以为每个事件更新节点表示。同时,上述过程中没有可训练的参数或有意义的初始特征。为解决这些问题,文章对于动态节点表示过程设计如下:首先,给定一批新发生的事件,我们计算每个事件的表示;为使得初始节点信息具有意义,文章将节点表示与一些固有特征结合起来,如下式所示:

3e0aa88ffaefe5d13abe53c1f6581610.png

进一步,对于每个节点,文章聚合涉及该节点的的事件表示,以获得用于更新后的站级节点状态:

2fcb8a6460bce196bb8e6cfce341ed95.png

接着,利用上式计算节点记忆,并更新节点表示。此外,消息还可以使用边缘特性(如乘客信息和票价)进行扩展。

fac8eb4a5ab7126a709c659aea262453.png

4c58e9136035d8c6f70c4ca1bd8a92b0.png

多层级结构:文章通过注意力机制建立自适应多层次结构,挖掘节点间的空间依赖关系。如框架图的左上角所示,站级节点聚合为虚拟集群级节点(cluster-level),集群级节点聚合为虚拟区域级节点(area-level)。该部分利用注意机制为不同节点分配权重,以确定一个站点属于一个集群的程度,以及集群对全局区域状态的影响程度。具有相似OD需求模式的站点级节点可能与同一集群高度相关并共享有用的信息。具体而言,站点和集群之间的关系通过关系矩阵fb8918e05b29d1e8c9ee280e362064eb.png定义,该矩阵定义如下:

1f67e4d6b33520abefeaa3b100e5dee9.png

其中,h表示注意力机制中head的个数。6c1cc78b2205575a5d6096c937a06a3e.png1c435aa9f045b1ea0389ffb506975e8a.png分别表示节点级和集群级的节点表示。站点和集群的关联矩阵中的第(i,j)项表示节点i属于集群j的强度。集群和区域之间的关系同理。

beee7a54e71cdf6a7123cb229ce4005f.png

多层级记忆更新:由于文章的目标是在三个层级上上保持动态记忆,因此计算对应的消息以更新这些记忆是必要的。例如,如果集群级节点与某个区域中的几个地铁站之间存在强关系,则应该通过来自这些地铁站的OD数据来更新其表示。但是,原始OD数据只与站点级节点相关联。因此,文章定义多层级记忆更新模块,以获取节点级的信息。具体而言,如上图所示,集群i的记忆更新公式如下:

244def10ed6476566fb6b122f4e3dc98.png

同理,图记忆的更新如下:    

22395d71a092d6e2b3d87707bc9d1dc3.png

基于上述两式,集群级节点和区域级节点的记忆更新公式如下:

5cd625f5473c0d71c228b0c144698f63.png

值得注意的是,在上述过程中,文章放弃了集群和区域的归一化处理。这是因为不同层级之间的关系一直在发展,导致难以对历史归一化项进行汇总。因此,文章只对节点进行归一化处理。

跨层级信息融合:由于不同层级的记忆包含了不同部分的信息,文章提出了一种跨层级信息融合,从而融合每层的记忆。为了将集群的表示融合到站点,它们之间的关系被重新利用,如下式所示:

10f1707f2099e7d54752347aee6b2b82.jpeg

同样,全局区域的表示通过类似的方法融合到站点:

3e6bd47af93c376e8714c62183348ad2.png

基于上述内容,融合的节点表示经过拼接处理,得到最终的节点表示。

f604a4ea1b389aff5993c02bdd1193b9.png

OD预测:基于最终的节点表示,文章将节点i和节点j的进行拼接,并输入至多层感知机中,得到节点i和节点j之间的未来OD流量,如下式所示。

7486ab9ea04107b89de928c98830f2f2.png

此外,为了预测每对节点的OD需求,一个关键的问题是如何处理OD矩阵中没有需求的情况。文章更多地关注非零需求,同时,文章认为如果一对不太可能有需求,预测一个负数是可以容忍的。因此,损失定义如下:   

018e8f4be0ed2931f41deb25cb9d3a8d.png

实验  

4aea7f6156f40ca4814fe365576a50b3.png

文章利用2017年北京地铁数据和2019年纽约出租车数据进行实验,数据细节如上表所示。实验结果如下表所示。文章进行了两组实验:1.对所有OD进行预测;2.对OD需求高于平均OD需求的OD对进行预测。可以看到CMOD取得了最低的预测误差。

0544636af0312a41aca6a0c08135571f.png

此外,为了验证每个组件的有效性,文章利用北京地铁数据集进行了消融研究。其中,CMOD w/o ML表示移除多级结构,包括不同级别的记忆、不同级别的消息和跨级别融合模块;CMOD w/o MU表示该模型删除加权记忆更新模块和直接将消息和记忆通过取平均值。CMOD w/o ODLoss表示模型使用MSE损失进行模型训练。实验结果如下所示。   

52b6b19e76a063a6b854da49335ba101.png

进一步,文章对多层级结构进行解释。文章对北京地铁进行了另一个案例研究。具体来说,选择731fa1321d4de991cd9c51a78f902b7a.png中权重最高的站级节点,以说明它们在下图中的位置。在下图中,地图上显示了四个集群中权重最高的节点的位置。在A集群(红色标记)中,大多数站点来自两条延伸到中心区域的线路,因为人们住在这些地方是为了更便宜的租金,并且有类似的需求去城市的其他工作区域。在B集群(蓝色标记)和C集群(棕色标记)中,大多数高权重站点也分布在一个局部区域,其模式与A集群相似。在集群D(黑色标记)中,权重最高的站点展现出另一种特征,这些站点不会聚集在一个小区域。这些车站都位于机场和旅游景点附近,包括动物园、故宫博物院、奥林匹克公园和一些购物区。这表明集群D提取了地铁乘客数据背后隐含的出行模式。

8cc7bb0b4526af863d0b7dcb5ebbd0a5.png    

结论  

文章提出了一个新的OD需求预测框架。该框架以连续时间动态图的建模需求为基础。它突破了传统基于快照的模型的限制,可以捕获更多有用的信息。建立多层次结构,自适应利用交通节点间的空间依赖关系。文章在两个真实数据集上的实验表明,所提出的模型达到了最先进的性能。案例研究也证明了CMOD处理任意时间跨度输入的能力和多层次结构的有效性。文章首次将CTDG方法与OD需求预测结合起来,为CTDG方法开辟了新的前景。

ATTENTION

欢迎关注微信公众号《当交通遇上机器学习》!如果你和我一样是轨道交通、道路交通、城市规划相关领域的,也可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

当交通遇上机器学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值