机器学习作业-交通流量预测综述

  • Post author:
  • Post category:其他




Graph Neural Network for Traffic Forecasting: A Survey



摘要

交通预测对于智能交通系统的成功至关重要。深度学习模型,包括卷积神经网络和递归神经网络,已广泛应用于交通预测问题模型的空间和时间依赖性。深度学习模型,包括卷积神经网络和递归神经网络,已广泛应用于交通预测问题模型的空间和时间依赖性。近年来,为了模拟交通系统的图结构和上下文信息,图神经网络被引入并在一系列交通预测问题中取得了最先进的性能。在本调查中,我们回顾了快速增长的研究机构,使用不同的图神经网络,例如图卷积和图注意网络,在各种交通预测问题,如道路交通流量和速度预测,城市轨道交通系统的客流预测,打车平台的需求预测。我们也为每个问题提供一个开放数据和资源的全面列表,并确定未来的研究方向。据我们所知,这篇论文是第一个探讨图神经网络在交通预测问题中的应用的综合调查。我们还创建了一个公共的GitHub知识库,在那里最新的论文、开放数据和资源将被更新。



1.相关介绍

  1. 交通状态检测根据

    (1)安装在道路上的传感器

    (2)地铁和公交的交易记录

    (3)交通监控视频

    (4)智能手机GPS

  2. 文献研究重点

    基于历史数据的的预测

  3. GNN适合交通预测的原因

    交通预测的难点在于捕获交通状态的时间依赖性和空间依赖性。基于时间的依赖性的研究已经很成熟,但是空间的依赖性的捕捉和建模问题还没有完全解决

    GNN能够捕获交通状态的空间依赖性(空间依赖性是指一个特定地点的交通状态与其他地点之间复杂的非线性关系),具体例如:

    以道路交叉口为节点,以道路连接为边,整个道路网络为一个图。图神经网络中每个节点都有自己的属性,包括:交通量、速度、车道号、道路等级等。



    道路交通流量



    速度预测问题

    等任务表现良好。

  4. 交通预测方法

    粗略分:

    (1)基于统计的方法:模型有更好的解释性

    (2)传统机器学习方法:模型更灵活

    (3)基于深度学习的方法

    (4)基于强化学习的方法

    (5)基于迁移学习的方法

    细分:

    (1)机器学习模型:回归模型、基于示例的模型,基于内核的模型,神经网络模型,混合模型

    (2)深度学习模型:

    GCN(最成熟的方法)

    、迁移学习、元学习、强化学习、注意力机制



2.交通流量预测的问题

首先按照要预测的交通状态进行分类,交通流量、速度、需求问题被单独考虑,其他类型的问题统一归为“其他问题”。

只讨论基于GNN解决方案遇到的问题:

在这里插入图片描述

在这里插入图片描述

  1. Traffic Flow(交通流量)

    交通流量:

    在给定时间段内通过空间单元(例如路段或交通传感器点)的车辆数量

    。准确预测交通流量能够应用于改善交通拥堵、信号灯控制等领域。
  1. Road-level flow(道路级流量)

(1)road traffic flow(道路交通流量):在一定时间段内(如5分钟)通过道路传感器或道路沿线特定位置的交通量。

(2)road origin-destination (OD) Flow(道路起点-重点流量):在一个时间点上一个地点(起点)和另一个地点(终点)之间的流量。

(3) intersection traffic throughput.(交叉口交通吞吐量):通过一个交叉口的交通量。

  1. region-level flow(区域级流量):一个区域内的流量

(1)regional taxi flow(区域出租车流量)

(2)regional bike flow(区域自行车流量)

(3)regional ride-hailing flow(区域网约车流量)

(4)regional dockless e-scooter flow(区域无桩电动车流量)

(5)regional OD taxi flow(区域起-终点出租车流量)

(6)regional OD bike flow(区域起-终点自行车流量)

(7)regional OD ride-hailing flow(区域起-终点网约车流量)

  1. station-level flow(车站级流量):在物理站(例如地铁站或公共汽车站)测量的交通量

(1)station-level subway passenger flow(车站地铁乘客流量)

(2)station-level bus passenger flow(车站公交车乘客流量)

(3)station-level shared vehicle flow(车站共享汽车流量)

(4)station-level bike flow(车站自行车流量)

(5)station-level railway passenger flow(车站铁路客流)

单向流和双向流(流入和流出)问题、数据集收集问题、交通信号灯的影响

  1. Traffic Speed(运输速度)

    运输速度:

    在给定时间段内通过空间单元的车辆的平均速度

    。城市道路的速度值可以反映道路交通的拥挤程度。同时一个更好的交通速度预测对于路线导航和估计到达率的应用也很有用。
  1. road-level speed

(1)road traffic speed(道路交通速度)

(2)road travel time(道路通行时间)

(3)traffic congestion(交通拥堵)

(4)time of arrival(到达时间)

  1. region-level speed

(1)regional OD taxi speed(区域起-终点出租车速度)

  1. Traffic Demand(交通需求)

    交通需求:

    潜在的出行需求,可能完全满足,也可能不完全满足。

    ,出租车和网约车服务成功的关键组成部分,这有利于这些服务提供商将有限的可用交通资源分配到需求较高的城市地区。

(1)ride-hailing denmand(网约车需求)

(2)taxi denmand(出租车需求)

(3)shared vehicle demand(共享汽车需求)

(4)bike demand(自行车需求)

  1. other problems(其他问题)

(1)traffic accident(交通事故):目标是预测上报给警察系统的交通事故数量。交通异常是造成交通延误的主要原因,及时发现和预测将有助于管理员及时识别情况,使交通状况尽快恢复正常。

(2)traffic anomaly(交通异常):交通异常的定义较宽泛,偏离正常交通状态,如交通事故或公众游行造成的交通堵塞。

(3)Parking availability(停车可用性):预测街道上或停车场中汽车的空置停车位的可用性。

(4)Urban vehicle emission(城市汽车排放):城市车辆排放是大气污染物的主要来源,其排放量受不同交通状态的影响,如在交通拥堵情况下会产生过量排放。

(5)Railway delay(铁路推迟)

(6)Lane occupancy(莱恩入住率):模拟交通数据,对车道占用率进行测量和预测



3.图神经网络在交通预测上的应用

  1. 图结构

    图是gnn的基本结构。定义为G = (V, E, A),其中V是顶点或节点的集合,E是节点之间的边的集合,A是邻接矩阵。

  2. 交通图

    交通图(带有节点特征)定义为一种特定类型的图G = (V, E, A),其中V为节点集,E为边集,A为邻接矩阵。对于单个时间步t,对于G,节点特征矩阵



    χ

    t

    R

    N

    ×

    d

    χ^t∈R^{N×d}







    χ










    t





















    R











    N


    ×


    d













    包含特定的流量状态,其中N为节点个数,d为流量状态变量个数(特征数)

  3. 基于图的流量预测

    不考虑外部因素,如天气,节假日,则基于图的交通流量预测为:

    找到函数f,得到y = f(χ;G),其中y为待预测流量状态,χ = {χ1, χ2,…, χT}为图G上定义的历史流量状态,T为历史窗口大小中的时间步数。

    考虑外部因素,则基于图的交通流量预测为:

    y = f(χ, ε;G),其中ε为外部因子。

    在这里插入图片描述

  4. 交通图分类

  1. Road-level graphs(道路级图):

(1)

传感器图(常用)

:传感器为节点,道路连接为边

(2)

路段图(常用)

:路段为节点,道路连接为边

(3)交叉路口图:道路交叉口为节点,道路连接为边

(4)车道图:车道为节点,道路连接为边

在这里插入图片描述

  1. Region-level graphs(区域级图)

(1)不规则区域图:城市区域为节点,空间邻域或其他相似点为边

(2)规则区域图:城市区域为节点,有网格划分,因此广泛使用CNN进行预测。

(3)起-终点图:起始区域-目的区域对为节点,空间邻域或其他相似点为边

在这里插入图片描述

  1. Station-level graphs(站级图)

(1)地铁站图

(2)汽车站图

(3)自行车站图

(4)火车站图

(5)汽车共享站图

(6)停车场图

(7)停车块图

通常情况下,车站之间的自然联系被用来定义边缘,例如地铁或铁路线,或公路网。

在这里插入图片描述

  1. 邻接矩阵构建


    邻接矩阵

    被视为交通预测中

    捕获空间依赖性

    的关键。

  1. Road-based Matrix(基于道路的矩阵)

(1)

连接矩阵(常用)

:连接矩阵是表示节点之间连通性的常用方法。它具有二进制格式,如果连接,则元素值为1,否则为0。

(2)交通连通性矩阵:当两个区域在地理上相距遥远,但可通过高速公路、高速公路或地铁方便到达时,使用交通连通性矩阵,它还包括通过不同节点之间的旅行时间来衡量连接的情况,例如,如果一辆汽车可以在不到5分钟内通过两个交叉口,那么两个交叉口之间就存在一条边

(3)方向矩阵:不常用

  1. Distance-based Matrix(基于距离的矩阵):表示节点之间的空间紧密程度

    缺陷:没有考虑到远距离节点的交通状态的相似性,并且所构造的邻接矩阵在大多数情况下是静态的

(1)相邻矩阵:元素值由两个区域是否共享一个公共边界决定(如果连接,值通常设置为1,对于网格设置为1/4,否则设置为0)。

(2)

距离矩阵(常用)

:元素值是节点之间几何距离的函数。这一距离可以通过多种方式计算,例如两个传感器之间的行驶距离,道路上最短路径长度等等。

  1. Similarity-based Matrix(基于相似性的矩阵)

(1)交通模式矩阵:交通状态之间的相关性,如交通模式的相似性、不同位置之间的相互依赖性、不同区域之间的交通需求相关性等

(2)功能相似矩阵:不同类型PoIs在不同地区的分布。

  1. Dynamic Matrix(动态矩阵):当不使用预定义的静态矩阵时,使用这种类型的矩阵。很多研究表明这种矩阵相比于静态矩阵有很大优点
  1. 图神经网络

    在这里插入图片描述

一般的时空GNN结构:GCN用于捕获空间依赖性,1D-CNN用于捕获时间依赖性。

在这里插入图片描述

卷积GNN一般可分为五类:

(1)

GCN(常用)

(图卷积神经网络)

(2)DGC(扩散图卷积):图卷积被建模为一个扩散过程,具有从一个节点到相邻节点的转移概率。预计经过几轮信息过渡后将达到一种平衡

(3)MPNN(消息传递神经网络):将图卷积建模为从一个节点直接传递到另一个连接节点的信息过程

(4)GraphSAGE(图样本和聚合):为了缓解邻居数量过多带来的计算问题,在GraphSAGE中采用抽样的方法获取固定数量的邻居

(5)

GAT(趋势)

(图注意网络):在不使用预定邻接矩阵的情况下,利用注意机制学习GAT中两个连接节点之间的相对权值。

一般设计图神经网络进行交通预测的研究流程:

(1)

找到交通图结构



(2)

指定图形类型和比例

。如果需要,这些图可以进一步分为不同的类型,例如,有向/无向图、齐次/异构图、静态/动态图。在交通预测中,大多数情况下,同一类型的图被用于单一研究。

(3)

设计损失函数

。训练设置通常采用监督方法,预测任务通常被设计为节点级回归问题。基于这些考虑,可以选择合适的损失函数和评价指标,如均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)。

(4)

使用计算模块建立模型

。简单来说就是设计网络。可按照传播模块、采样模块和池化模块来设计。

在这里插入图片描述



4.开放数据集和源代码

  1. 开放数据集

(1)图相关数据:在交通领域中表现出图结构的数据,即交通网络数据

(2)历史交通数据:记录历史交通状态的数据,通常是在不同的地点和时间点。

(3)外部数据:指影响交通状态的因素,如天气数据和日历数据。

具体可以分为:

(1)Transportation Network Data(交通网络数据):这些数据代表底层的交通基础设施,例如,道路、地铁和公共汽车网络。它们可以从政府交通部门获得,也可以从在线地图服务中提取,例如OpenStreetMap。根据这些数据的拓扑结构,可以直接构建图,例如,将路段或站点作为节点,将道路交叉口或地铁连接点作为边缘。


优点是,这种建模方法很简单。缺点是只能从交通网络数据构建静态图

(2)Traffic Sensor Data(交通传感器数据):在道路上安装交通传感器,例如环形检测器,以收集交通信息,例如交通量或速度。这类数据被广泛用于交通预测,特别是道路交通流量和速度预测问题。对于基于图的建模,每个传感器可以作为一个节点,道路连接作为边缘。


优点是,捕获的交通信息可以直接用作节点属性,预处理开销很小

。一个例外是传感器容易出现硬件故障,导致数据缺失或数据噪声问题,需要相应的预处理技术,如数据imputation和去噪方法。


缺点是,由于一系列原因,交通传感器只能安装在有限的位置

,例如安装成本。在这种约束下,只有部分带有交通传感器的路网可以被纳入到图中,而未覆盖的区域则被忽略。

(3)GPS Trajectory Data(GPS轨迹数据):不同类型的车辆(如出租车、公共汽车、网约车和共享单车)可以配备GPS接收器,以2-60秒的间隔记录GPS坐标。从这些GPS坐标样本中计算出的轨迹数据可以与道路网络相匹配,并进一步用于推导交通流量或速度。


优点是,与交通传感器数据相比,使用智能手机收集GPS数据的成本低,且车辆数量庞大,覆盖范围更广。

缺点是,GPS轨迹数据也存在数据质量问题,需要更多的预处理步骤,如地图匹配。

(4)Location-based Service Data(基于位置的服务数据):智能手机也内置了GPS功能,可用于收集各种类型的位置相关数据,如值机数据、兴趣点数据和路线导航应用数据。


使用基于位置的服务数据的优缺点与GPS轨迹数据相似。不同之处在于,基于位置的服务数据通常是通过众包方式收集的,数据提供者更多,但数据质量可能更低。

(5)Trip Record Data(旅行记录数据):这些信息包括出发和到达日期/时间、出发和到达地点,以及其他旅行信息。交通速度和需求可以从各种来源的旅行记录数据中获得,例如出租车、叫车服务、公共汽车等。这些数据可以通过成熟的方法在公共交通系统中收集,例如地铁和公交系统中的AFC (Automatic Fare Collection)。


优点是能够构造多个基于图的问题,例如车站级的交通流和需求问题。在现有的公共交通系统中,它们也更容易收集。

(6)Traffic Report Data(交通报告数据):这类数据常用于异常情况。交通报告数据在基于图的建模中很少使用。


缺点是,在空间和时间维度相比于Trip Record Data更加稀缺。

(7)Multimedia Data(多媒体数据):这种类型的数据可以用作深度学习模型的额外输入,或用于验证其他数据源指示的流量状态。例如:用于交通拥堵的百度街景图像,卫星图像数据,视频监控数据等。

与功能类似的交通传感器数据相比,

多媒体数据对数据采集、传输和存储的要求更高,因此在基于图的建模中也较少出现

。此外,

通过图像处理和目标检测技术从图像或视频中提取精确的交通信息,例如车辆数量也更为困难。

(8)Simulated Traffic Data(模拟的流量数据):除了观察到的真实世界数据集,微观交通模拟器还用于为深度学习模型构建虚拟训练和测试数据集。


模拟交通数据很少用于基于gnn和更广泛的基于ml的交通预测研究

。然而,

交通模拟具有建模不可见图形的潜力,例如评估规划的道路拓扑结构

(9)Weather Data(天气数据):交通状况受气象因素的影响很大,包括温度、湿度、降水、气压计压力和风力强度。

(10)Calendar Data(日历数据):这包括周末和假期的信息。由于交通模式在工作日和周末/节假日之间有显著差异,一些研究将这两种情况分开考虑。天气和日历数据在文献中已被证明对交通预测有用,在基于图的建模中作为外部因素不应被忽视。

虽然现在的路网和天气数据可以很容易地在互联网上找到,但由于数据隐私问题和大数据量的传输和存储要求,要获得历史交通数据要困难得多。下表中提供了几个历史交通数据集。

在这里插入图片描述

2. 开放源代码

在这里插入图片描述

  1. 常用评估指标

    在这里插入图片描述

    其中,y为真实值,y为预测值,M为预测值的个数。RMSE或MAE值越低,预测效果越好。


    一些常用数据集的评估对比



    在这里插入图片描述



5.挑战和未来的研究方向

  1. 挑战

(1)异构数据:交通预测问题涉及时空数据和外部因素,如天气和日历信息。异构数据融合是一个不仅仅局限于流量领域的挑战;

(2)数据质量:数据质量问题是一个额外的挑战,如数据缺失、数据稀疏和噪声等问题可能会影响预测结果。大多数调查模型仅用处理过的高质量数据集进行评估。

(3)交通异常:(例如,拥堵)是可能影响预测准确性的一个重要外部因素。在正常和异常情况下,收集足够的异常数据来训练深度学习模型(包括gnn)仍然是一个挑战。

(4)数据隐私:许多开放数据是通过群体来源方法从单个移动设备收集的。数据管理员必须保证提供其个人流量数据的个人的隐私,以此作为鼓励进一步提供数据的基础。

(5)多任务性能:对于信息系统的公共服务运行,需要一个多任务框架来整合所有的交通信息,并同时预测多种交通方式的需求。相关的挑战在于数据格式的不兼容性以及空间或时间模式的固有差异。虽然有些被调查的模型可以用于多个任务,如同一路段的交通流量和交通速度预测,但大多数模型一次只能训练一个任务。

(6)多任务预测:多任务预测在基于图的建模中是一个更大的挑战,因为不同的任务可能使用不同的图结构,例如,道路级和站点级问题使用不同的图,因此很难用单一的GNN模型解决。

(7)实际实现-数据收集:现有的基于gnn的研究中考虑的数据量很少,在大多数情况下,这些研究的跨度不到一年,这带来了严重的偏差。因此,提出的解决办法不一定适用于不同的时期或不同的地方。如果gnn中要使用较长的交通数据,则需要记录和更新底层交通基础设施的相应变化,这在实践中增加了相关数据收集过程的费用和难度。

(8)实际实现-gnn的计算可扩展性:为了避免现实世界中大规模交通网络图的巨大计算需求,通常只考虑节点和边的子集。因此,它们的结果只能应用于选定的子集。为了解决这一问题,提出了图划分和并行计算基础设施。

(9)交通网络和基础设施的变化:当添加或删除路段或公共汽车线路时,真实世界的网络图会发生变化。当新设施建成时,城市的兴趣点也会发生变化。

(10)模型的可解释性:虽然在可视化和解释其他深度神经网络结构(如cnn)方面已经取得了显著进展,但用于解释gnn做出的预测的后处理技术的发展仍处于早期阶段。而且异构交通数据的复杂数据类型和表示方式使设计可解释的深度学习模型更具挑战性。

  1. 未来方向

(1)集中式数据存储:基于gnn的流量预测资源的集中数据储存库将有助于对不同模型的性能进行客观比较,并对该领域作出宝贵的贡献。针对异构数据的挑战和数据质量问题,提出了这一未来发展方向。

(2)交通图设计:虽然上文中讨论的调查研究中已经构建了各种各样的图,并在一定程度上被证明是成功的,但它们大多数是基于现实交通系统的自然图,如道路网络或地铁系统,作为当前的发展状况。而且使用的大多数图表都是静态的,而不是动态的。以前没有充分考虑的一个具体方向是交通知识图谱的设计。知识图是一种复杂的关系网络,由概念、实体、实体关系和属性组成,是知识集成的重要工具(Yin et al, 2021)。交通知识图有助于利用交通语义信息提高预测性能。

如何从多源、异构的交通数据中提取隐藏的交通领域知识是一个挑战。

(3)与其他技术结合:


数据增强



迁移学习

:对于gnn,可以使用迁移学习从一个具有更多历史流量数据的图到另一个可用数据较少的图进行模型训练过程。当新的站点或地区没有积累足够的历史交通数据来训练GNN模型时,迁移学习也可以用于交通网络和基础设施变化带来的挑战。


元学习

:元学习可以从一个任务中吸收信息,并有效地将其推广到一个看不见的任务中。元学习是针对基于gnn的多任务预测,特别是涉及多图的多任务预测提出的。


生成对抗网络

:这有助于扩展许多问题的训练数据量,包括基于gnn的流量预测。GAN的提出是为了应对以往研究中使用的数据量较少或交通网络和基础设施在没有足够历史交通数据的情况下发生变化所带来的挑战。


自动化机器学习

:AutoML是针对基于图的建模中计算需求的挑战而提出的,在这种情况下,使用最先进的AutoML技术可以更有效地对gnn进行超参数调优。


贝叶斯网络

:现有的大多数研究的目标是确定的模型,作出平均预测。然而,一些流量应用程序依赖于对未来情况的不确定性估计。为了解决这一问题,贝叶斯网络是一种使用贝叶斯推理进行概率计算的概率图形模型,是一种很有前途的解决方案。

(4)在现实ITS系统中的应用:大多数调查的基于gnn的研究只是基于历史交通数据的模拟,没有在真实的ITS系统中进行验证或部署。然而,有许多潜在的应用,特别是基于gnn的模型具有更好的预测性能。



总结

交通预测整体流程:

  1. 选择一个合适的数据集
  2. 选择合适的交通图进行构建
  3. 选择合适的邻接矩阵进行构建
  4. 对数据集进行预处理(尝试结合其他技术)
  5. 基于时空依赖性构建GNN模型(尝试结合其他技术)
  6. 选择合适的评估指标



作业

  1. 调研期刊,看一些教程,https://github.com/jwwthu/GNN4Traffic
  2. 研读三份算法源码,可以参考这个文章里面提到的开放源代码。两份开源,一份模仿自写一下。
  3. 书写调研报告、源码报告、分工报告



版权声明:本文为Dajian1040556534原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。