基于卷积神经网络和客源注意力机制的OD客流预测模型

4fcea0593590b92c9839122397ed3269.png

文章信息

23bd1f332b544b50127887edafc2f042.png

论文题目为《An origin–destination passenger flow prediction system based on convolutional neural network and passenger source-based attention mechanism》,该文于2023年发表于Expert Systems With Applications期刊上。文章提出一种基于乘客源注意机制的卷积神经网络(PSAM-CNN)模型,该模型是一种针对过饱和路段的OD客流预测模型。

42d422076212376c9a22e9187033cc4f.png

摘要

0bceacfe443ff8e1265c7bb43b2e1f17.png

准确的始发客流预测系统对城市地铁运营管理至关重要。然而,目前仍缺乏针对导致城市地铁过饱和的乘客出行需求的有针对性的预测系统。在本研究中,首先确定了过饱和路段的客源,并确定了造成严重过饱和的关键客流需求部分。然后,利用注意机制和掩码损失函数将乘客源信息纳入预测模型,建立了基于乘客源注意机制的卷积神经网络(PSAM-CNN)模型。最后,利用深圳地铁的实际乘客出行需求数据对所建立的PSAM-CNN模型进行了验证。与目前几种最先进的基准模型相比,PSAM-CNN模型可以更准确地预测导致城市地铁过饱和的OD客流,为改善城市地铁的运营管理提供更有针对性和准确的OD流量信息。

c0480979c3a79cdf54df7b5be1256e52.png

介绍

9afde11b50dc3617cce5c406af82389d.png

城市地铁是一种低碳交通方式,具有准时、安全、高速等优势。事实上,城市地铁已经成为许多通勤者越来越喜欢的交通方式。近年来,许多城市的旅客出行需求快速增长,给城市地铁的管理和运营带来了巨大压力。快速增长的乘客出行需求可能会导致载客量经常超过列车的容量,这也被称为城市地铁的过度饱和。

城市地铁过度饱和会导致列车拥挤,增加乘客等待时间,严重降低乘客的出行体验。列车调度优化和客流控制是缓解城市地铁过饱和的两种常用方法。列车调度优化方法通过增加列车发车频率来适应旅客出行需求的增长,而客流控制方法通过限制乘客进入车站来减少乘客出行需求。始发客流信息是列车调度优化和客流控制的基础输入,这就要求建立准确可靠的始发客流预测系统。为此,提出了一些开创性的OD客流预测方法,其中大多数方法是在最先进的机器学习和深度学习技术的基础上开发的。

以往的研究发现,只有一部分乘客通过过饱和的城市地铁路段,这些乘客主要来自少数站点。表明许多乘客的出行需求实际上并没有导致城市地铁的过度饱和,导致城市地铁过度饱和的应该是少数人。因此,与预测所有OD对的客流相比,主要关注导致过饱和的OD客流的准确预测可能更有用,但现在仍然缺乏针对特定乘客群体的预测模型和系统。

为了填补这一空缺,我们首先确定通过过饱和路段的乘客来源(始发站),然后,建立了一个基于卷积神经网络(PSAM-CNN)的乘客源注意机制模型。PSAM-CNN模型结合了基于客源的注意机制,预测导致过饱和的旅客的出行需求。本文的贡献总结如下:

(1)通过对城市地铁过饱和路段客源的识别,分析由客源产生并经过过饱和路段的OD客流(PS-OD客流),提供了一种新的客流分析方法。

(2)为了准确预测PS-OD客流,将卷积神经网络(CNN)、卷积注意力模块(CBAM)和基于客源信息的掩码损失函数(PS-MASK)相结合,建立了基于客源注意机制的卷积神经网络(PSAM-CNN)模型。

(3)PSAM-CNN模型利用CNN高效的特征提取能力提取稀疏OD客流矩阵的重要特征,结合基于客源的注意力机制,更好地关注PS-OD流的预测。

(4)将CBAM注意机制与PS-MASK掩码损失函数相结合,建立了基于客源的注意机制。CBAM模块可以自适应地调整不同信道对预测任务的贡献,自适应地感知和选择特征映射的重要区域。PS-MASK掩码损失函数只考虑PS-OD流的RMSE,缩小了模型的重点,更加注重PS-OD流的预测。

(5)PSAM-CNN模型是一种有针对性的OD客流预测模型,可以为制定有针对性的城市地铁运营管理方案提供更有针对性和准确的出行需求信息。验证结果表明,与基准模型相比,PSAM-CNN模型具有更好的预测性能。

ced44bf8109275894d769fa756ab6bc5.png

方法

bd63bb3698d032afcc66f8d9f2f656d3.png

(1)确定过饱和路段的乘客来源

作者使用Dijkstra算法来推断每个乘客出行的路径,并假设乘客选择出行时间最短的路径。对于使用单线完成行程的乘客,路径出行时间由路段出行时间组成。对于使用多条线路的乘客,路径出行时间由路段出行时间和换乘时间组成。使用方程1将实际换乘时间499ff8776fca9a3c18c70010cf9f7669.png乘以放大系数α来估计感知换乘时间6dc2860905c2842e9a28f95ad5229599.png

09423a3e6a5cb04dbef68025a9a48895.png                                     (1)

作者使用遍历方法来确定合适的α值并估计感知换乘时间。据此,就能推断出每一次乘客出行的路径,并计算出城市地铁各路段的客流量。定义负载率来量化每个路段的过饱和程度。城市地铁区段的负载率是指该区段的客流量与运输能力之比。按公式(2)计算城市地铁各区段的负载率。

1dab249aa1c497a936e7862984aad4bb.png                              (2)

式中,374c37cbfeb16bb97694a29a8668b9ba.png为站点i至站点j路段的负载率,V为该路段的客流量,4626c7268e6726443c8e84ae56fda831.png为特定1小时时间窗内通过该路段的列车数量,C为列车通行能力。将负载率超过1.0的城市地铁区段定义为过饱和区段。

经过过饱和路段的乘客也在火车上遭受拥堵,这些乘客的始发站被定义为客源。如果OD对从起点i到终点j的乘客路径至少经过一个城市地铁网络的过饱和段,则将OD对定义为PS-OD对PS(i,j)。

(2)PSAM-CNN模型框架

该模型由卷积神经网络(CNN)、卷积注意力机制(CBAM)和基于客源信息的掩码损失函数(PS-MASK)组成。基本思想是利用CNN高效的图像特征提取能力,提取稀疏OD矩阵的重要特征,加入客源注意力机制,更好地专注于PS-OD流的预测。PSAM-CNN模型框架如图1所示。在训练过程中,用前n个工作日的历史OD矩阵15b2b927f4d317b4ecf67d32fe56837b.png训练模型,在预测阶段,用336df8a74d9ebcd69a51d9eca744aefc.png作为模型输入预测第d天时间窗t的PS-OD流量。其中,4d4b0e71746184e8a3d7882d5dcfa5e0.png表示第d-n天时间窗口t内的OD矩阵,它里面的每个元素表示OD对的客流量,c443178ea097d6b53379db0245160433.png表示第d天时间窗口t内的PS-OD矩阵,它里面的每个元素表示PS-OD对的客流量。

7a9f0af581f466ecfecdbc58d7f38c79.png

图 1 PSAM-CNN模型流程图

(3)卷积神经网络

作者使用三个卷积层、三个池化层和一个全连接层构建了CNN。用于提取稀疏OD矩阵的重要特征。首先,使用历史OD矩阵74113a1b938d27a4423243fb065ad071.png来生成n通道图像,n也表示CNN模型的时间步长。n通道图像用作初始特征映射。在第一层卷积中,使用一个m × m的卷积核扫描每个特征图的局部信息,生成一个大小相同的新特征图。此外,通道数根据使用的卷积核dbbb1b8fb6297cdd1d17de4d5c53f46b.png而变化。接下来,在第一池化层中,使用2×2的最大池化对特征图进行降维。在第二层卷积层,再次使用m × m的卷积核生成新的特征图。因此,在第二池化层中,每个新特征图的维数减少,生成F(H × W × C)的特征图。

(4)基于客源的注意力机制

本文将CBAM注意机制与掩码损失函数相结合,建立了基于客源的注意力机制,使PSAM-CNN模型更加关注PS-OD流。CBAM注意机制放在第二池化层之后。结构如图2所示,由通道注意力模块(CAM)和空间注意模块(SAM)组成。CAM用于考虑不同通道之间的关系并调整它们的相对权重。SAM学习输入特征映射中不同区域的空间关系,并对不同的重要空间区域分配适当的权值。

043a489210d7920889af2255b7fd1e9d.png

图 2 CBAM注意机制的结构

在CAM中,输入特征图F(H × W × C),分别使用2×2的最大池化和平均池化,生成两个空间上下文描述符,将其输入到多层感知机(MLP)。MLP输出两个1 × 1 × C的空间上下文描述符,将它们按元素求和并经过sigmoid函数生成1 × 1 × C通道注意力。将通道注意力与特征图F(H × W × C)相乘,生成通道注意力特征图F ' (H × W × C)。

在SAM中,将CAM输出的特征映射F ' (H × W × C)作为输入。对于每个特征映射,分别使用2×2的最大池化和平均池化,然后将两个特征映射连接起来,接着通过1×1的卷积操作将特征映射的维数降为H × W × 1空间注意力。将空间注意力经过sigmoid函数,最后将其与F ' (H × W × C)相乘,生成空间注意特征映射F″(H × W × C)。

在第三卷积层和第三池化层中,对F″(H × W × C)进一步降维,生成特征图F″(H × W × 1)。再对F″(H × W × 1)进行展平操作,将其结果输入进全连接层。输出预测的OD客流,将预测的OD客流和真实值输入到掩码损失函数中训练模型。

考虑到CBAM注意力机制关注的区域是根据识别到的特征自动选择的。其关注的区域可能不包含主要客源信息。为了解决这个问题,作者在模型训练过程中引入了掩码损失函数,使得PSAM-CNN模型能够更加关注PS-OD流。如公式(3)。掩码损失函数仅通过乘以客源系数cf2d28fc9ea4b19c10e667d91435200a.png来考虑预测PS-OD量与实际PS-OD量之间的差异。

505d28d9ca05d10b114e782d78bda203.png                               (3)

其中6ad6787cd1444ea13df6cfe61861821b.png表示在第d天时间窗口t上从i到j站的客流真实值,0eb389d41b5bdd4ada7045ce6c363997.png为预测值。a1e5ded8594b8adf55837bdd2d6ec83f.png为PS-OD对数。考虑过饱和路段随时间变化,计算每个时间窗的客源系数矩阵2249466e46a77b9bb8e864bcec4ac1cf.png,如式(4)所示。如果OD对是时间窗t内的PS-OD对,则54b2b1d7c0daeeebd319ebde69b012b5.png,否则,df9fe035901cbef18d1c79847198a8c1.png

6a0871abc315cd8898e2c5049b55c8b9.png                            (4)

3e5f51b06f58cf8bd7e3be72aa4aad5c.png

结果

3078b08a85ba1c375ed51650e0011d6f.png

(1)确定过饱和路段的乘客来源

作者根据以下步骤确定深圳地铁的过饱和路段:(1)使用Dijkstra算法推断每个乘客行程的路径选择。(2)将乘客出行需求分配到城市地铁网络中。(3)计算每个城市地铁区段的乘客流量。(4)计算每个城市地铁区段的负载比例,并识别出超负荷的区段。如图3所示,深圳地铁的过饱和路段主要分布在早高峰和晚高峰时段的3号线和4号线沿线。大量乘客在早高峰时间前往深圳市中心,在晚高峰时间返回郊区。

66699795a0f13d394afd0457f9d52ef6.png

图 3 深圳地铁过饱和路段的空间分布

作者使用的是早上8:30到早上9:30采集的智能卡数据。在2016年8月1日,以说明PS-OD对。如图4 (a)所示,每个像素的颜色表示OD对的类型。蓝色和红色所覆盖的区域代表过饱和路段的3054对PS-OD对,而灰色所覆盖的区域则代表未向过饱和路段贡献客流的普通OD对。根据客流量(即PS-OD流量)对PS-OD对进行排序。排名前202位的PS-OD对(红色部分)占PS-OD流量总量的50%以上。可以看出,这些排名靠前的PS-OD对只占城市地铁网络OD对的不到1.2%,表明深圳地铁的主要过饱和是由一小群乘客造成的。从图4(b)中可以看出,PS-OD对主要分布在第3线和第4线,这与过饱和剖面的空间分布非常吻合。

826bc20492c73196f72a0df3237721db.png

图 4 (a) PS-OD对和普通OD对,(b) PS-OD对的空间分布

(2)PSAM-CNN模型实验

使用30个工作日的乘客出行需求数据来训练和测试PSAM-CNN模型。前27天的数据作为训练集,后3天的数据作为测试集。为了避免过拟合,采用了早停训练技术。提出的PSAMCNN模型使用Adam优化器进行训练。为评价PSAM-CNN模型的性能,使用 RMSE、MAE和MAPE等评价指标。

我们使用PSAM-CNN模型预测了第28、29、30工作日(即测试集)各高峰时段t的PS-OD流量。使用过去五天时间窗口t的OD矩阵dfb78a1ddcb1e2e009b55e45517eae6b.png作为模型输入。

需要注意的是,PSAM-CNN模型关注的是PS-OD流,因此只用预测的PS-OD流和实际的PS-OD流来评估模型的性能。不考虑普通OD对的客流情况。作者使用Max-Min归一化方法对预测的PS-OD流量和实际PS-OD流量进行归一化处理(图5)。发现在所有高峰时段窗口,预测的PS-OD流量与实际值差异很小,表明了PSAM-CNN模型的有效性。

cf692c39cb491ec00bca1ab7adc5db47.png

图 5 在不同的高峰时段,预测的PS-OD流量与实际的PS-OD流量。(a)及(e) 7:30-8:30。(b)及(f) 8:30-9:30。(c)及(g) 17:30-18:30。(d)及(h) 18:30-19:30。

此外,作者定义了乘客源流量(PS-O flow),即是起始于某个站点的PS-OD流量的累积值。PS-O流量衡量了起始于该站点的PS-OD流量的总量,这对于制定针对性的乘客流控制策略非常重要。预测的PS-O流量与真实值之间差异较小如图6所示,进一步说明了PSAM-CNN模型的有效性。只有少数几个站点具有较大的PS-O流量,这表明超负荷区段的乘客流主要起源于少数几个站点。这些结果表明,PSAM-CNN模型在预测PS-OD流量方面具有较好的性能,并且可以为制定针对性的乘客流控制策略提供重要信息。

1c9ccdbde5b730a9d41fec96d815af30.png

图 6 不同高峰时段窗下的预测PS-O流量与实际PS-O流量对比

为了进一步证明模型的性能,作者将PSAM-CNN模型与四个基准模型进行比较,即历史平均(HA)模型、CNN模型、卷积长短期记忆(ConvLSTM)模型和RegNetX002模型。每个基准模型(以及PSAM-CNN模型)运行10次以减少随机误差。将10次实验预测的PS-OD流动的平均值作为最终预测结果。如表1所示,PSAM-CNN模型的预测性能最好。

与CNN模型相比,PSAM-CNN模型结合CBAM注意机制和掩码损失函数,引入了基于客源的注意机制。因此,PSAM-CNN模型具有较高的预测精度。ConvLSTM模型的性能最差,可能是因为该模型更适合预测具有严格时间顺序特征的序列。然而,本研究使用的是前5天同一时间窗口的OD客流作为输入,没有明显的时间特征。RegNetX002是基准模型中最复杂的模型,它在预测PS-OD流方面的性能排名第二。然而,考虑到复杂模型通常需要更多的训练数据,有限的训练集在某种程度上影响了模型预测的准确率。

表 1 PSAM-CNN模型与四种基准模型的比较

3fbd209857800431173ae76abf90abff.png

(3)消融实验

为探究PSAM-CNN模型中CBAM模块和PS-MASK模块的功能。使用三个简化模型进行测试。第一个简化模型是CNN模型,没有PS-MASK掩码损失函数和CBAM注意力,使用普通损失函数。第二个简化模型是CNN-MASK模型,该模型不集成CBAM,而是使用掩码损失函数。第三种简化模型是CNN-CBAM模型,该模型集成CBAM,但使用普通损失函数。三个简化模型与PSAM-CNN模型具有相同的超参数和输入,三个简化模型也与PSAM-CNN模型具有相同的基本结构。在CNN-CBAM模型中,CBAM注意机制也集成在第二池化层的后面。

我们首先分析了CBAM模块的功能。与CNN模型相比,CNN-CBAM模型的RMSE、MAE和MAPE分别降低了2.8%、6.0%和1.8%,结果如下表所示。CNN-CBAM模型在早晚高峰时段的预测精度均高于CNN模型,如图7所示。与提出的PSAM-CNN模型相比,CNN-MASK模型的RMSE、MAE和MAPE分别提高了5.8%、5.2%和2.0%。未集成CBAM模块的CNN-MASK模型在早晚高峰时段的预测精度低于PSAM-CNN模型。这可能是因为CBAM模块可以自适应调整不同信道对预测任务的贡献,自适应地感知和选择特征图的重要区域,从而提高了预测精度。

ca3ae26e1e681df00fd753865c9188c2.png

图 7 PSAM-CNN模型及其三种简化模型在不同时间窗下的性能。

接下来,作者分析了PS-MASK模块的功能。比较结果如表2所示,与CNN模型相比,CNN-MASK模型的RMSE、MAE和MAPE分别降低了1.6%、6.4%和1.9%。然而,在预测晚高峰时段的PS-OD流量时,CNN-MASK模型与CNN模型相比优势可以忽略不计。与PSAM-CNN模型相比,CNN-CBAM模型的RMSE、MAE和MAPE分别提高了4.6%、5.6%和2.0%。缺少PS-MASK模块的CNN-CBAM模型在早晚高峰时段的预测精度低于PSAM-CNN模型。由于掩码损失函数只计算PS-OD流量的RMSE,实际上缩小了模型的重点,更加注重PS-OD流量的预测,因此预测效果更好。

表 2 PSAM-CNN模型及其三种简化模型的比较。

c09e0a1098cdda798282ff63ea292793.png

24c4d1f97e4fcaedd3fba1e68a69bec3.png

结论

a8620e0a4e71ea8c0d72ed8f914d87f4.png

本文建立了一种基于卷积神经网络(PSAM-CNN)的新的客源注意机制模型,以准确预测城市地铁网络的PS-OD流。PSAM-CNN模型利用CNN高效的特征提取能力提取稀疏OD矩阵的重要特征,结合基于客源的注意机制,更好地专注于PS-OD流的预测。作者使用深圳地铁的实际乘客出行需求数据来验证提出的PSAM-CNN模型。验证结果表明,与基准模型相比,PSAM-CNN模型具有更好的预测性能。本文还讨论了提高预测性能的可能原因。

在本文提出的PSAM-CNN模型中,客源分析是将城市地铁过饱和问题与导致过饱和的乘客出行需求预测联系起来的桥梁。作者认为,本研究可以为开发针对部分出行需求的有针对性的预测模型提供有用的见解,这是很重要的,因为许多交通问题实际上是由部分出行需求而不是整体出行需求引起的。目标模型在预测出行需求的关键部分时也能达到更高的预测精度,这与以往旨在提高所有OD对的整体出行需求预测精度的模型不同。

ddd81dcdd904c4f980b3a9f4d2643f0f.png

Attention

3c8eef42d5b8e0a5b874aa9a7e4e8496.png

如果你和我一样是轨道交通、道路交通、城市规划相关领域的,可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/171458.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xss学习笔记

跨站脚本攻击 掌握XSS 的原理 掌握XSS 的场景 掌握XSS 的危害 掌握XSS 漏洞验证 掌握XSS 的分类跨站脚本攻击 漏洞概述 ​ 跨站点脚本(Cross Site Scripting, XSS)是指客户端代码注入攻击,攻击者可以在合法网站或Web 应用程…

Linux可以投屏到电视吗?用网页浏览器就能投屏到电视!

Linux系统的电脑如果要投屏到安卓电视屏幕上,可以使用投屏工具AirDroid Cast的网页版和TV版一起实现。 首先,在Linux系统的电脑里用chrome浏览器或edge浏览器打开webcast.airdroid.com。这就是AirDroid Cast的网页版。你可以看到中间白色框框的右上角有个…

使用Jmeter进行http接口性能测试

在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。 但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试&#xf…

asp.net core mvc之 RAZOR共享指令和标签助手 TagHelpers

一、RAZOR共享指令 RAZOR共享指令:在视图中导入命名空间,执行依赖注入。 RAZOR共享指令是写在 Views目录下的 _ViewImports.cshtml 文件 支持指令如下: addTagHelper 增加标签助手 removeTagHelper 移除标签助手 tagHelperPrefix 标签助手…

es性能强悍的推演过程

前言 es底层复用的Lucene的能力,Lucene在以前的文章中有所讲解,感兴趣可查看 https://blog.csdn.net/u013978512/article/details/125474873?ops_request_misc%257B%2522request%255Fid%2522%253A%2522169771769916777224433628%2522%252C%2522scm%2522…

模拟接口数据之使用Fetch方法实现

文章目录 前言一、package.json配置mock执行脚本二、封装接口,区分走ajax还是fetch三、创建mock目录,及相关接口文件四、定义接口五、使用mock数据使用模拟数据优化fetch返回数据 六、不使用模拟数据七、对比其他需要使用依赖相关配置如有启发&#xff0…

Linux 性能调优之硬件资源监控

写在前面 考试整理相关笔记博文内容涉及 Linux 硬件资源监控常见的命名介绍,涉及硬件基本信息查看查看硬件错误信息查看虚拟环境和云环境资源理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生&#x…

Linux常用命令——bzip2命令

在线Linux命令查询工具 bzip2 将文件压缩成bz2格式 补充说明 bzip2命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看&…

Mac 本地部署thinkphp8【部署环境以及下载thinkphp】

PHP的安装以及环境变量配置 1 PHP安装:在终端输入brew install php 这里是PHP下载的最新的 如果提示‘brew’找不到,自己搜索安装吧, 不是特别难 2 环境变量配置 终端输入vim ~/.bash_profile 输入export PATH"/usr/local/Cellar/php/8.…

C++阶段复习‘‘‘‘总结?【4w字。。。】

文章目录 前言类和对象C类定义和对象定义类成员函数C 类访问修饰符公有(public)成员私有(private)成员受保护(protected)成员 继承中的特点类的构造函数和析构函数 友元函数内联函数this指针指向类的指针类…

集成Line、Facebook、Twitter、Google、微信、QQ、微博、支付宝的三方登录sdk

下载地址: https://githubfast.com/anerg2046/sns_auth 安装方式建议使用composer进行安装 如果linux执行composer不方便的话,可以在本地新建个文件夹,然后执行上面的composer命令,把代码sdk和composer文件一起上传到项目适当位…

Spring事务之AOP导致事务失效问题

情况说明 首先开启了AOP,并且同时开启了事务。下面这个TransactionAspect就是一个简单的AOP切面,有一个Around通知。 Aspect Component public class TransactionAspect {Pointcut("execution(* com.qhyu.cloud.datasource.service.TransactionSe…