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

基于自注意力机制和循环图卷积网络的交通流预测方法

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


基于自注意力机制和循环图卷积网络的交通流预测方法

技术领域

本发明涉及深度学习和时空数据挖掘的技术领域,尤其是基于自注意力机制和循环图卷积网络的交通流预测方法。

背景技术

交通流预测作为智慧交通领域的主要应用之一,可以为许多上游问题如帮助城市居民乃至交通运输作业规划正确的行驶路线,帮助相关部门实行交通管制和交通诱导,提高路网利用率,为实现交通流的动态分配等提供优质的解决方案。

不同于该领域中其它问题,交通流具有长短时和时空依赖的特性,其变化容易受到大量难以预计的宏观或微观因素的影响,这使得交通流预测,尤其是对城市复杂路网的交通流预测成为了一项极具挑战性的任务。现有的深度学习模型只关注于时空间特征的高精度提取,无一例外的忽略了时序预测问题中出现的迟滞现象,即交通流预测曲线存在基于真实结果的时间偏移,倘若预测模型拟合效果较差,加之数据非线性变化较多,该偏移将会一直存在,预测的结果将以预测窗口大小的历史观测值的近似复制形式出现;相反,如若模型与预测问题的复杂度相适应,并且有足量优质的数据用于训练,这种时滞出现的频率将有所降低,然而还是容易会在数据点的变化处,尤其是长时相同趋势变化的突变点处出现。这种现象是时序预测中非常常见的问题,模型预测的及时性也因此很难得到保证。

发明内容

为了克服上述现有技术中的缺陷,本发明提供基于自注意力机制和循环图卷积网络的交通流预测方法,在保证预测高精度的同时,大大缓解了交通流等时序预测中的偏移问题。

为实现上述目的,本发明采用以下技术方案,包括:

基于自注意力机制和循环图卷积网络的交通流预测方法,包括如下步骤:

S1,预处理交通流数据:根据时间戳及车牌号对交通流数据进行合并去重;

S2,按经纬度划分并选择待预测子区域:确定采集区域的经纬度范围,对采集区域进行网格划分,获得N个待预测子区域;

S3,根据待预测子区域的交通流数据构建时空图,具体如下所示:

S31,针对各个待预测子区域的交通流数据进行数据划分,将交通流数据按照Δt的时间片大小进行划分,划分为T个时间段;

S32,分别对各个待预测子区域在各个时间段内的交通流数据进行特征提取,特征包括:时间戳、单位时间车流量即交通流量、定位数目、零速度数目、标志位;

S33,根据各个待预测子区域在各个时间段内的交通流数据特征,得到时空图数据D∈R

S4,构建交通流预测模型,所述交通流预测模型采用编码-解码堆叠的循环神经网络,具体如下所示:

S41,按下式构建双头自注意力机制,用于获取两个增量子值

X(

其中,MultiHeadAtt(·)为双头自注意力机制函数;

S42,定义p为保持原方向的概率,

其中,σ(·)表示sigmoid函数;p

S43,按下式由第t个时间段的第二增量子值

其中,RELU表示relu非线性激活函数,W、b均为前馈神经网络投影矩阵参数,W为系数矩阵,b为偏置向量;

并将第t个时间段的第一增量子值

S44,根据步骤S42和S43的计算结果,按下式计算第t个时间段的完整增量Δ

Δ

其中,λ为缩放系数;

S45,按照下式构建计算单元ADD-GCGRU:

Δ

r

u

O

其中,*

S46,以所述ADD-GCGRU计算单元为核心利用循环结构构建编码端;

S47,使用所述ADD-GCGRU计算单元的结构构建解码端,通过交叉注意力机制连接所述编码端和解码端,得到编码-解码堆叠的循环神经网络;

S5,利用步骤S3所得的时空图数据,训练交通流预测模型;

S6,利用训练后的交通流预测模型,预测下一时刻的交通流量。

优选的,在步骤S6之后,还包括如下步骤:

S7,设计评价指标对预测值的偏移程度进行评价,具体如下所示:

S71,将步骤S6所得预测值以及对应的真实值分别按时间顺序展平,分别得到预测序列和真实序列;从预测序列中取待评估序列切片P=[pre_len:];从真实序列中分别取两个真实值序列切片,分别为L1=[pre_len:]、L2=[:pre_len],其中,pre_len表示单次预测长度,即单次预测所对应的一个时间段的长度;

S72,分别将待评估序列切片P,以及两个真实值序列切片L1、L2中每个元素,均按下式进行概率归一化,得到概率归一化的待评估序列切片

其中,K为序列长度即序列切片中的元素总个数即时间段总个数,exp(·)表示以自然常数e为底的指数函数,z

S73,设计如下式所示的评价指标e即偏移散度差分值SDD,对预测值进行时滞评估:

其中,KL(·)表示相对熵或Kullback-Leibler散度,a

优选的,步骤S5的具体方式如下所示:

S51,取步骤S3所得的时空图数据的70%作为训练数据,20%作为验证数据,10%作为测试数据,使用z-score方法对训练数据和验证数据进行标准化;

S52,将标准化后的训练数据输入步骤S4所得的交通流预测模型中进行模型训练,使用Adam梯度下降优化算法迭代更新模型参数,直到损失函数MAE收敛或达到最大迭代次数为止,得到训练后的交通流预测模型;

步骤S6的具体方式如下所示:

S61,根据步骤S51,使用z-score方法对测试数据进行标准化;

S62,将标准化后的测试数据输入步骤S52得到的训练后的交通流预测模型中,得到输出值,使用z-score逆运算对输出值进行去标准化得到预测值。

优选的,步骤S46中,以所述ADD-GCGRU计算单元为核心利用循环结构构建编码端,具体为:设置编码端堆叠层数为2,将第t个时间段的计算单元输出的隐藏状态值H

本发明的优点在于:

(1)本发明利用了带有图卷积的GRU计算结构及自注意力机制构建了新型计算单元ADD-GCGRU,并将该计算单元融入长序列循环结构形成堆叠式编码-解码结构,以此达到空间特征和时间特征的提取目的;通过自注意力机制与计算单元相结合,引入不确定度余量对预测输出进行拆解,同时实现对数值和方向的预测,以达到削弱预测结果中偏移程度的目的。本发明在保证预测高精度的同时,缓解了交通流等时序预测中的偏移问题。

(2)本发明还设计评价指标对偏移程度进行了评价,分别求概率归一化的待评估序列切片

附图说明

图1为本发明的基于自注意力机制和循环图卷积网络的交通流预测方法流程图。

图2为本发明数据采集区域及密度图。

图3为本发明的预测效果图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种利用自注意力机制和循环图卷积神经网络的交通流预测方法,主要思路为:利用了带有图卷积的GRU计算结构及自注意力机制构建了新型计算单元ADD-GCGRU,并将该计算单元融入长序列循环结构形成堆叠式编码-解码结构,以此达到空间特征和时间特征的提取目的;通过自注意力机制与计算单元相结合,引入不确定度余量即Δ

S1,预处理城市交通流数据:

使用Pandas提取解析csv数据文件,根据时间戳及车牌号对交通流数据进行合并去重,保留成由时间戳、瞬时车速、经纬度构成的DataFrame数据结构。

分别对冗余数据,异常车辆,缺失数据进行处理修复:

对于冗余数据:存在某些车辆在同一秒内有多个速度值甚至发生陡变的异常情况,找出并使用其中的中位数代表该车辆在该时间戳的瞬时速度;

对于异常车辆,某些车辆存在大量速度为零的记录,我们找出每辆车的零速记录比率,结合数据时空长度,考虑设定阈值0.6,将零速度比率大于等于0.6的车辆视为异常车辆,直接删除;

对于缺失数据,线性插值补充。

S2,按经纬度划分并选择待预测子区域;

如图2所示,选取时间范围为2020年一月一日0:00至2020年一月二十五日0:00,采集区域的经度范围为[117.21056,117.36094],纬度范围为[31.81205,31.90128],共1048576条北斗定位数据。按照地理坐标对采集区域进行10×10的网格划分,获得100个待预测子区域。

S3,根据待预测子区域的交通流数据构建时空图:

S31,分别取上述100个待预测子区域的中心位置点作为代表位置点,对各个代表位置点的交通流数据进行数据划分,将交通流数据按照5min的时间片大小进行划分,划分为T个时间段。

S32,分别对各个待预测子区域在各个时间段内的交通流数据进行特征提取,提取各个待预测子区域在各个时间段内的末尾时间戳、单位时间车流量即交通流量、GPS定位数目、零速度数目共四个特征,并且考虑到交通数据的周期性,再按照周一到周日共七天的周期性给每条数据加入了0~6的标志位特征;即特征包括:时间戳、单位时间车流量、定位数目、零速度数目、标志位。

S33,整理并Reshape所提取特征数据,得到时空图数据

S4,构建交通流预测模型,所述交通流预测模型采用编码-解码堆叠的循环神经网络:

S41,按下式构建双头自注意力机制,用于获取两个增量子值

X(

其中,MultiHeadAtt(·)为双头自注意力机制函数;

多头自注意力机制的计算原理如下:

MultiHeadAtt_socre=concat(head_socre

其中,Q、K、V分别为输入值形成的Query、Key、Value向量,分别由输入值进行不同的线性变换得到,d

S42,定义p为保持原方向的概率,

根据交通流变化的规律性合理假设其预测变化值概率服从指数族分布,一般形式为:

其中,

按下式利用第t个时间段的第二增量子值

其中,σ(·)表示sigmoid函数;p

S43,按下式由第t个时间段的第二增量子值

其中,RELU表示relu非线性激活函数,W、b均为前馈神经网络投影矩阵参数,W为系数矩阵,b为偏置向量;

并将第t个时间段的第一增量子值

S44,根据步骤S42和S43的计算结果,按下式计算第t个时间段的完整增量Δ

Δ

其中,λ为缩放系数;

S45,按照下式构建计算单元ADD-GCGRU:

Δ

r

u

O

其中,*

其中,一阶切比雪夫图卷积公式如下:

其中,X为时空图数据,g

其中,diag(·)表示对角矩阵,d

S46,以所述ADD-GCGRU计算单元为核心利用循环结构构建编码端,即将时间段t的计算单元输出的隐藏状态值H

S47,使用所述ADD-GCGRU计算单元结构构建解码端,通过交叉注意力机制连接所述编码端和解码端,得到编码-解码堆叠的循环神经网络,并设置网络所有隐藏状态神经元数目为64,输入全连接层神经元设置为64,输出全连接层神经元个数设置为1。

交叉注意力机制和解码端的计算步骤如下所示:

获取预测长度Ty,编码端输出的隐藏状态值H

计算

得出

从i=1开始,到i=Ty-1结束,

依次计算

计算得到

其中,

S5,利用步骤S3所得的时空图数据,训练交通流预测模型;

S51,取步骤S3所得的时空图数据的70%作为训练数据,20%作为验证数据,10%作为测试数据,使用z-score方法对时空数据进行标准化;

其中,z-score方法的标准化公式如下:

其中,x′为标准化后数据,x为原数据,μ为样本均值,σ为样本标准差。

S52,将标准化后的训练数据输入步骤S4所得的交通流预测模型中进行模型训练,设置编码端堆叠层数为2即两层自注意力机制层和两层循环网络,解码端层数为1即一层循环网络,通过交叉注意力机制把编码端转换到解码端;其中,编码端每一层都使用残差连接来提高模型收敛速度,训练使用Adam梯度下降优化算法迭代更新模型参数,直到损失函数MAE收敛或达到最大迭代次数为止,得到训练后的交通流预测模型;本实施例中,使用初始学习率0.001,并从第20轮迭代训练后开始以0.6的下降率进行学习率衰减,损失函数MAE为如下表达式:

其中,B为梯度下降算法的批次大小,N为时空图的结点数目,T为预测序列长度即时间段总个数,y

S6,利用训练后的交通流预测模型,依次预测下一时刻的交通流量。

S61,根据步骤S51,使用z-score方法对测试数据进行标准化;

S62,将标准化后的测试数据输入步骤S52得到的训练后的交通流预测模型中,得到输出值,使用z-score逆运算对输出值进行去标准化得到预测值。

S7,设计评价指标对偏移程度进行评价:

使用如下两种指标对预测误差进行评估:

/>

S71,将步骤S6所得预测值以及对应的真实值分别按时间顺序展平,分别得到预测序列和真实序列;从预测序列中取待评估序列切片P=[pre_len:];从真实序列中分别取两个真实值序列切片,分别为L1=[pre_len:]、L2=[:pre_len],其中,pre_len表示单次预测长度,即单次预测的一个时间段的长度;

S72,分别将所得的待评估序列切片P,以及两个真实值序列切片L1、L2中每个元素,均按下式进行概率归一化,得到概率归一化的待评估序列切片

其中,K为序列长度即序列中的元素总个数,exp(·)表示以自然常数e为底的指数函数,z

序列切片是所有预测值展平后得到的,每次预测模型输出得到的是单次预测长度的预测值,比如预测一个5min时间段的交通流,做模型测试的时候是把后面所有的预测值都预测出来,包括很多个5min的时间段的预测值(即K个)连在一起整体和真实值作比较。

S73,设计如下式所示的评价指标e即偏移散度差分值SDD,对预测值进行时滞评估:

其中,KL(·)表示相对熵或Kullback-Leibler散度,a

本实施例中,结合实验仿真结果对本发明效果进行说明。

仿真环境及参数设置具体如下所示:

仿真环境的CPU为AMD Ryzen 55600G with Radeon Graphics 3.90GHz,GPU为NVIDIA GeForce GTX 1660SUPER。设置固定随机种子数为99,网络模型的训练批次大小为128,迭代次数为100次,循环网络的隐藏神经元数目为64,输入数据的特征纬度为5,输出特征纬度为1,编码端2层,解码端1层。

仿真结果对比下表1所示:

标1各模型指标对比

由表1可见,本发明模型一种针对时间序列预测偏移问题的利用自注意力机制和循环图卷积神经网络,在提升了交通流预测精度的同时,实现了对时序预测中偏移程度的削弱。另外,如图3的仿真结果所示,本发明可以利用充满高频噪声的交通流数据预测出相对平滑的交通流,精确捕捉到了交通流的周期性以及变化趋势。

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

技术分类

06120115935300