掌桥专利:专业的专利平台
掌桥专利
首页

一种基于时空图卷积网络的交通流量预测方法

文献发布时间:2023-06-19 19:30:30


一种基于时空图卷积网络的交通流量预测方法

技术领域

本发明涉及一种基于时空图卷积网络的交通流量预测方法。

背景技术

随着城市化进程的不断推进,城市交通流量的预测越来越受到人们的关注。交通流量的预测可以为城市交通管理提供有力的支持,如优化交通信号控制、提高交通运输效率等。传统的交通流量预测方法大多采用时间序列预测模型,但由于交通流量数据的高维、非线性和不确定性等特点,这些方法往往难以准确预测交通流量。近年来,深度学习技术在交通流量预测方面取得了较好的效果,尤其是基于图卷积网络(Graph ConvolutionalNetworks,GCN)的方法的预测精度取得了很大的提示,受到国内外学者的广泛关注。

随着智能交通系统的提出和发展,各大城市和高速公路都部署了大量传感器等信息收集设备。这些设备能收集大量交通流量数据和地理位置信息,为交通流量预测提供了大量的可靠数据。

交通流量数据是一种典型的时空数据,由于交通流量数据同时具有时间特征与空间特征,因此交通流量预测的难点在于动态地提取时间特征与空间特征。在时间特征提取方面,传统的预测方法基于线性假设通过找出历史交通流量数据的线性规律来进行预测,然而真实交通流量的演变是非线性且非平稳的,所以传统预测方法的预测精度不佳。近年,基于深度学习的循环神经网络(Recurrent Neural Networks,RNN)、长短期记忆网络(LongShort-Term Memory,LSTM)、时间卷积网络(Temporal Convolutional Network,TCN)能够对时序数据进行建模并取得了较好的预测效果。上述深度神经网络结合图卷积神经网络(Graph Convolutional Neural Networks,GCN)的使得交通流量预测模型的效果进一步提升。当前收集的交通数据量能够满足深度学习的数据要求,使用深度学习方法能从数据中挖掘到深层次的时空特征提高预测精度。

具体地,给定一个长度为T

发明内容

本发明的目的是提供一种基于时空图卷积网络的交通流量预测方法,可以捕获交通流量数据深层的时间特征与空间特征,提高预测精度。

本发明解决上述问题的技术方案如下:一种基于时空图卷积网络的交通流量预测方法,其特征在于:利用时空卷积块捕获交通流量的时间特征与空间特征;在时空卷积块中包含时间卷积网络与时间注意力层,其目的在于从不同尺度捕获交通流量的时间特征;在时空卷积块中使用图卷积网络捕获交通流量的空间特征;在时空卷积块中使用门控融合层将具有不同尺度的时空特征的交通流量特征矩阵进行融合;使用一维卷积网络作为预测层输出预测结果。

本发明提供的这种基于时空图卷积网络的交通流量预测方法,过程如下:

步骤1:获取原始数据集并对其进行预处理,得到训练集、验证集、测试集。

步骤2:基于图卷积网络(Graph convolution neural network,GCN)、时间卷积网络(Temporal Convolutional Network,TCN)、注意力机制(Attention mechanism)、一维卷积神经网络(Convolutional Neural Network,CNN)构建交通流量预测模型。

步骤3:使用步骤1获得的训练集、验证集输入步骤2中构建的交通流量预测模型进行训练、评估。

步骤4:使用步骤3训练后的交通流量预测模型对步骤1中得到的测试集数据进行交通流量预测,并采用平均绝对误差(mean absolute error,MAE),均方根误差(root meansquare error,RMSE)和平均绝对百分比误差(mean absolute percentage error,MAPE)作为评估标准。

步骤1所述的交通数据预处理,具体过程如下:

1)收集目标区域交通数据采集装置采集的数据;检查数据完整性情况、利用线性插值替换或填充异常数据并按照每5分钟聚合一次将数据处理成大小为N×T的交通流量矩阵;其中N表示交通路网中数据采集点数量,T表示时间点数量。

2)对1)中得到的交通流量矩阵进行标准化,得到标准化的交通流量矩阵。

3)将2)中得到的标准化交通流量矩阵划分成训练集、验证集、测试集。具体地,将60%的数据划分为训练集,20%划分为验证集,剩余20%划分为测试集。

步骤2所述的基于图卷积网络、时间卷积网络、注意力机制等构建交通流量预测模型,具体步骤如下:

交通流量预测模型包括:两个串联的全连接层、三个串联的时空卷积块、以及一维卷积神经网络层。时空卷积块的作用是捕获交通流量数据的时空特征;时空卷积块中包含时间卷积网络层、时间注意力层、图卷积层和门控融合层。其中,时间卷积网络层和时间注意力层分别从不同尺度捕获交通流量数据的时间特征,图卷积层动态捕获交通流量数据的空间特征,门控融合层用来融合具有不同尺度的时空特征的交通流量特征矩阵。一维卷积神经网络作为预测层输出最终的预测数据。

1)上述全连接层公式表达如式(1)。

X′=sigmoid(WX+B)(1)

其中sigmoid为非线性激活函数,W和B表示可学习的权重矩阵和偏置向量。

2)所述的使用时间卷积网络层与时间注意力层从不同尺度捕获交通流量数据的时间相关性,具体如下:

时间卷积网络层中采用空洞卷积利用多层卷积网络捕获交通流量的局部时间特征,其中每一层卷积神经网络拥有多个卷积核大小为(1×k),并且在每个卷积网络层中都使用残差连接和标准化层。具体地公式如下,

h

其中,h

在时空卷积块中通过串联多个时间卷积网络层捕获交通数据的局部时间特征,时间卷积层串联的数量是超参数可以根据具体数据训练进行训练调整以达到更好的预测效果。

时间注意力层从全局的尺度利用缩放点积注意力机制捕获交通流量数据中非相邻时间点之间全局时间特征,具体如下:

采用缩放点积注意力机制计算各个时间点的交通流量数据的全局相关性,由于注意力机制不会区分不同时间点的流量数据的重要程度,而流量数据的先后顺序会影响它们之间的互相关联程度。所以为了让注意力计算的时候区分顺序在数据进行注意力分数计算之前需要加入一些用于区分不同时间点数据的标记。本模型采用时间位置嵌入,如式(3)所示,X′即为添加时间位置嵌入后的交通流量矩阵。

X′[i,:]=X′

其中,i表示不同的时间点,d为数据特征维度,e

添加时间位置嵌入以后将交通流量矩阵通过线性层映射为查询向量Q、键向量K、值向量V后进行注意力分数计算,如式(5)所示。

Q=W

K=W

V=W

其中Q、K、V分别表示查询向量、键向量与值向量,W

h

3)所述的使用图卷积层动态捕获交通节点之间的空间相关性,具体如下:

在时空卷积块中时间卷积网络层与时间注意力层输出的特征矩阵都将单独输入图卷积层中进一步捕获交通流量的空间特征。在图卷积层中使用动态邻接矩阵捕获交通节点之间不断变化的空间特征,根据路网节点地理距离计算得到路网邻接矩阵是一种静态的矩阵,如式(9)所示。而真实情况下交通节点之间的关联程度会根据不同的车辆运行状况而改变,所以本模型中使用自注意力机制在每一个时间点计算交通节点之间的数据关联程度,得到的注意力得分与静态邻接矩阵相乘得到动态邻接矩阵,如式(10)所示。

其中dis(i,j)表示节点i和节点j之间的地理距离,τ作为超参数是根据实际情况人为设置的一个阈值;A

得到动态邻接矩阵后采用空域图卷积对两个不同尺度的交通流量特征矩阵中的空间特征进行捕获,具体如下:

其中,GCN()表示图卷积操作,

4)所述的门控融合层具体过程如下:为了将H

H

其中,H

5)整个预测模型中通过串联多个时空卷积块来捕获交通流量的时空特征,且在每一个时空卷积块之间都使用残差连接,如附图1所示。由于空域图卷积网络堆叠太多层数后会导致数据过度平滑的问题,所以在模型中时空卷积块的数量不宜串联太多,否则会导致模型性能下降。

6)步骤2所述的使用一维卷积神经网络作为输出层对所有交通节点未来T′个时间片的交通流量进行预测,具体如下:

采用1维卷积神经网络输入过去12个时间点的交通流量矩阵,输出未来12个时间点的交通流量矩阵,预测步长可以根据实际需要更改。

步骤3所述的将训练集、验证集输入交通流量预测模型进行训练,具体过程如下:

训练过程中采用MAE损失函数进行损失计算,采用Adam作为优化器。

训练过程中使用训练集对原始交通流量预测进行训练,使用验证集对训练后的模型进行评估,对模型重复训练、评估直到模型收敛。设置训练轮数epoch=200,并使用提前结束训练策略,如果连续30次模型的评估结果没有提成则直接停止训练,保存最佳模型参数。

步骤4所述的采用步骤3训练后的交通流量预测模型对步骤一中的测试集进行交通流量预测并评估预测效果,具体如下:

1)将交通流量预测模型的模式从训练模式修改为预测模式。

2)交通流量预测模型加载训练过程中保存的最佳参数文件,并将测试集中的数据输入模型进行交通流量预测并采用平均绝对误差MAE、均方根误差RMSE和平均绝对百分比误差MAPE对预测数据进行评估并保存预测的流量数据。

时空卷积块中包含的时间卷积网络层与时间注意力层结合图卷积层从不同的时间尺度动态捕获交通流量数据中的时间特征与空间特征,并通过门控融合层对不同尺度的交通流量特征矩阵进行融合,自适应调整两种尺度的占比,更加精准地挖掘到数据中的深层时空特征,提高预测精度。最后利用一维卷积层将目标预测长度的交通流量一次性输出,减少逐步预测带来的误差累计,进一步提高了预测精度。

附图说明

图1为本发明涉及的交通流量预测模型的结构示意图;

图2为本发明涉及的一种基于时空图卷积网络的交通流量预测方法总流程图;

图3为本发明涉及的一种基于时空图卷积网络的交通流量预测模型训练流程图;

图4为本发明涉及的最终预测流程图;

具体实施方式

以下结合附图并对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

图1为本发明涉及的交通流量预测模型的框架示意图;图2为本发明涉及的一种基于时空图卷积网络的交通流量预测方法的总流程图;图3为本发明涉及的一种基于时空图卷积网络的交通流量预测模型训练流程图;图4为本发明涉及的一种基于时空图卷积网络的交通流量预测模型的预测流程图;如图1,2,3,4所示,一种基于时空图卷积网络的交通流量预测方法的具体步骤如下:

步骤1:对原始交通流量数据进行预处理,具体步骤如下:

1)收集目标区域交通数据采集装置采集的数据;检查数据完整性情况并使用线性插值补全缺省数据和异常数据,并按5分钟一次进行聚合;将数据处理成大小为N×T的交通流量矩阵;其中N表示交通路网中数据采集点数量,T表示时间片数量。

2)对1)中得到的交通流量矩阵进行标准化,得到标准化的交通流量矩阵。

3)将2)中得到的标准化交通流量矩阵划分成训练集、验证集、测试集。将60%的数据划分为训练集,20%划分为验证集,剩余20%划分为测试集。

步骤2:使用深度学习框架比如Pytorch构建交通流量预测模型,并加载数据和参数文件初始化模型。

步骤3:加载训练集、验证集数据对模型开始训练;进行第一轮训练,即epoch=1,根据参数文件初始化参数模型参数。

步骤4:如图3所示对模型进行训练,训练集分批次输入交通流量预测模型开始第一轮训练,具体步骤如下:

1)首先交通流量数据X输入全连接层得到X′。

2)将X′输入时间卷积网络、将X′添加时间位置嵌入后输入时间注意力层。

3)得到第一层时间卷积网络层的输出并输入下一层时间卷积网络层,直到走完第一个时空卷积块中所有的时间卷积网络层。

4)得到第一层时间注意力层的输出并输入下一层时间注意力层,直到走完第一个时空卷积块中所有的时间卷积网络层。

5)将时间卷积网络层的输出h

6)将H

7)将H

8)将最后一个时空卷积块输出的特征矩阵输入一维卷积层,得到第一轮训练的预测值Y

步骤5:预测模型反向传播更新模型参数。

步骤6:将验证集数据输入第一轮训练后的模型进行验证,计算验证损失并保存交通流量预测模型的训练参数文件。在验证阶段不进行反向传播,仅计算损失。

步骤7:循环步骤4至步骤6,直至当前训练轮数大于设置的最大训练轮数或达到提前结束训练条件时结束训练。

步骤8:如图4所示,对测试集数据进行交通流量预测,具体步骤如下:

1)构建交通流量预测模型,将预测模型从训练模式更改为预测模式,加载训练过程中保存的最佳模型参数文件初始化预测模型。

2)加载测试集数据并输入模型,对测试集进行预测。

3)根据真实流量值计算预测值的平均绝对误差MAE、均方根误差RMSE、平均绝对百分比误差MAPE并输出。

4)保存交通流量预测数据文件。

以上所述仅为本发明的较佳实施例子,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于注意力时空图卷积网络的空域交通流量预测方法
  • 一种基于时空图卷积网络的公共交通流量预测方法
技术分类

06120115938420