一种基于改进LSTM的图卷积交通速度预测方法

文档序号:25862929发布日期:2021-07-13 16:20阅读:243来源:国知局
一种基于改进LSTM的图卷积交通速度预测方法

本发明属于交通速度预测技术领域,涉及一种基于改进lstm的图卷积交通速度预测方法。



背景技术:

随着城市交通问题的日益严重,智能交通系统变得越来越重要。智能交通系统可以有效缓解交通拥堵问题、提高路网通过效率,也可以为人们的交通出行提供信息服务。交通速度预测是智能交通系统中的关键问题之一,是分析城市道路网的交通状况、挖掘交通模式、预测道路网未来交通状况的基础。交通速度预测可以实现多种智能应用,例如,它可以帮助私人司机进行路线规划和出发时间安排,并帮助交通管理部门有效疏通流量以提高交通效率和安全性。

然而通过设备采集到的原始交通数据,可能会因为传感器失灵、线路老化等原因出现异常和缺失。对于异常数据,需要首先检测出来进行修复,而对于缺失数据,需要直接进行修复。交通数据修复的精确性将直接影响交通数据的质量,进而影响交通速度预测模型的准确性和整个智能交通系统的有效性。同时,复杂的空间和时间相关性也一直是交通速度预测的难点。



技术实现要素:

针对现有技术的不足,本发明提供一种基于改进lstm的图卷积网络交通速度预测方法。

本发明采用以下技术方案实现:

一种基于改进lstm的图卷积交通速度预测方法,包括:

对交通速度数据进行预处理,构建城市路网的拓扑结构图和构建交通速度预测模型的输入;

构建基于改进lstm的图卷积网络交通速度预测模型,交通速度预测模型使用图卷积模块获取交通速度的空间相关性,使用改进lstm模块捕获由特征矩阵序列表示的片段序列中交通速度的时间相关性;

对交通速度预测模型进行训练,并评估交通速度预测模型;

基于训练好的交通速度预测模型进行交通速度预测。

优选地,交通速度数据预处理包括:

首先,使用阈值分析法去除交通速度数据的异常值;然后,对于去除的异常值和缺失值,使用一种基于统计学的数据修复方法进行修复;数据修复完成后,使用最小-最大归一化方法将交通速度值缩放到范围[0,1]。

优选地,基于统计学的数据修复方法包括:

step1:将交通速度数据构建成一个m×n的输入矩阵,其中:m表示路网中道路的条数,n表示时间序列,记为x,然后将x进行按列标准化以消除数据量纲的影响,并把需要进行数据修复的向量放在前几列;

step2:删除缺失数据所在行,得到新矩阵m,此时矩阵列向量发生变化,每一列都删去了缺失数据所在行的值;

step3:分别计算缺失数据所在列和其他剩余列之间的相关系数,并取最大值记为rl;

step4:删除缺失数据所在列,得到新矩阵n,此时矩阵行向量发生变化,每一行都删去了缺失数据所在列的值;

step5:分别计算缺失数据所在行和其他剩余行之间的相关系数,并取最大值记为rk;

step6:把rl和rk进行比较,得到关于缺失数据的方程,求解方程可得缺失数据的修复值:

step7:将修复值进行逆标准化处理,还原之前的数据量纲。

优选地,对于二维随机变量x和y,相关系数计算方式如下:

其中,cov(x,y)表示变量x、y的协方差;σx、σy分别为变量x、y的方差;分别为变量x、y的平均值。

优选地,把rl和rk进行比较,得到关于缺失数据的方程包括:

1)当rl>rk时,选用矩阵m构建方程:

其中:xtj表示缺失数据所在列所有元素;xtl表示与缺失数据所在列相关系数最大的列的所有元素;

2)当rl<rk时,选用矩阵n构建方程:

其中:xit表示缺失数据所在行所有元素;xkt表示与缺失数据所在行相关系数最大的行的所有元素;

优选地,使用拓扑结构图来构建路网的空间关系,拓扑结构图表示如下:

其中:a为拓扑结构图;aij为道路i和道路j之间道路数的倒数。

优选地,交通速度预测模型输入包括:

给定一个交通状况样本st,把样本st构造成一个a×m矩阵,其中a是道路的数量,m是历史交通状况信号的数量;使用一个大小为w,步长为d滑动窗口对交通状况样本st采样,得到一个k段序列,每段都是一个a×w的矩阵,作为交通速度预测模型的输入xt。

优选地,改进lstm模块包含一个改进的lstm模型,改进的lstm模型引入一个传递门单元连接下层l的记忆单元和上层l+1的记忆单元传递门单元用于控制下层记忆单元中多少信息能传递到上层记忆单元中。

优选地,第l+1层传递门计算方式如下:

其中:表示t时刻第l+1层的输入到该层传递门单元的权重参数;表示t-1时刻第l+1层的记忆单元到第l+1层传递门单元的权重参数;表示t时刻第l层的记忆单元到第l+1层传递门单元的权重参数;表示t时刻第l+1层的输入;表示t时刻第l层的记忆单元;表示t时刻第l+1层的偏差参数;σ()表示激活函数。

优选地,引入传递门后,改进的lstm模型表达式如下:

其中:分别表示输入门、遗忘门、输出门、传递门和隐藏层的输出;分别表示t时刻输入到输入门、遗忘门、输出门、传递门和记忆单元权重参数;分别表示t-1时刻隐藏层的输出到输入门、遗忘门、输出门和记忆单元的权重参数;分别表示t-1时刻第l+1层的记忆单元到输入门、遗忘门、传递门和输出门的权重参数;表示t时刻第l层的记忆单元到第l+1层传递门单元的权重参数;分别表示t时刻第l+1层的传递门和记忆单元的偏差参数;tanh表示激励函数。

本发明与现有技术相比,具有如下优点和有益效果:

(1)对原始lstm模型进行改进,使用一个全新的传递门单元连接上下层循环单元中的记忆单元,使得上下层单元中的记忆单元具有更强的线性相关性,有效地避免了模型训练时出现梯度消失和梯度爆炸等问题,更好的获取交通数据的时间相关性。

(2)针对原始交通速度存在异常和缺失数据的问题,提出一种基于统计学的交通数据修补方法,该方法能快速、有效地修复交通速度异常或缺失数据。

(3)本发明提供一种新的基于改进lstm的图卷积网络交通速度预测模型,用来获取城市路网未来时间的交通速度。该模型使用图卷积网络对道路的拓扑图进行空间相关性挖掘;使用改进的lstm模型更好地获取交通数据的时间相关性;具有预测速度快、预测精度高等优点。

附图说明

图1为一个实施例中模型训练与运用流程图;

图2为一个实施例中交通速度预测模型的主要结构;

图3为原始lstm模型结构示意图;

图4为一个实施例中改进的lstm模型结构示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细地描述,但本发明的实施方式不限于此。

一种基于改进lstm的图卷积交通速度预测方法工作流程包括:首先,对原始交通数据中的缺失数据使用一种基于统计学的修复方法。其次,构建图对交通数据的空间关联性进行编码,使用图卷积网络提取交通速度的空间相关性。再次,对原始lstm模型进行改进,使之能更好地提取交通速度的时间相关性。最后,使用全连接层融合时空相关性,得到交通速度预测结果。

一种基于改进lstm的图卷积网络交通速度预测方法,如图1所示,包括:数据的设计步骤、模型设计与训练步骤及交通速度预测;数据集的设计步骤主要是对交通速度数据进行预处理,对给定交通条件的数据,以固定的格式输入到交通速度预测模型中;模型设计与训练步骤主要是利用图卷积和改进lstm的相关原理,设计相应的网络结构,并利用所构建的数据对进行模型训练,进而获得网络模型权重;交通速度预测主要是基于训练好的交通速度预测模型进行交通速度预测。

具体地,操作步骤包括:

s1、对交通速度数据进行预处理,进行相关问题的定义,并为交通速度预测模型编码相应的输入。

交通预测的目标是根据道路上的历史交通信息来预测某一段时间内的交通信息。本发明使用交通速度作为预测目标。

对采集的交通速度数据进行预处理,包括异常值检测、缺失值修复和归一化等。并把预处理后的交通速度数据编码后的形成固定序列输入到交通速度预测模型中。

具体地,步骤s1包括:

1、相关定义:

a、交通速度:交通速度是指单位时间内交通实体所行驶的距离。在实际应用中,一般会分为瞬时速度和平均速度。瞬时速度指的是车辆经过路段某一位置或者某一时刻的速度,是检测车辆是否超速的直接依据。瞬时速度的计算公式如下:

其中:v表示瞬时速度,δt是指车辆经过测速仪的时间,δx是车辆经过测速仪前后驶过的距离。

平均速度根据计算方式不同,可分为时间平均速度和区间平均速度。时间平均速度是指在一定时间内,通过某一地点或者断面所有车辆瞬时速度的算术平均值,计算公式如下:

其中:表示时间平均速度,n为观测时间内通过观测路段的车辆数量,vi为观测时间内第i辆机动车的瞬时速度。

区间平均速度是指在一定时间内,观测路段的长度与通过该路段所有车辆所需平均时间的比值,计算公式如下:

其中:表示区间平均速度,n为观测时间内通过观测路段的车辆数量,l为观测路段的长度,ti为第i辆机动车通过观测路段使用的时间。vi为观测路段上第i辆机动车的瞬时速度。

b、交通速度预测模型输入:给定一个交通状况样本st,把样本st构造成一个a×m矩阵,其中a是道路的数量,m是历史交通状况信号的数量。使用一个滑动窗口(大小为w,步长为d)对输入数据采样,会得到一个k段序列每一段都是一个a×w的矩阵,也就是交通速度预测模型的输入xt。

2)数据预处理:首先,使用阈值分析法去除交通速度数据的异常值。接下来,对于去除的异常值和缺失值,使用一种基于统计学的数据修复方法。基于统计学的数据修复方法具体包括:

step1:将交通速度数据构建成一个m×n的输入矩阵,其中:m表示路网中道路的条数,n表示时间序列,记为x,然后将x进行按列标准化以消除数据量纲的影响,并把需要进行数据修复的向量放在前几列。

step2:删除缺失数据所在行,得到新矩阵m,此时矩阵列向量发生变化,每一列都删去了缺失数据所在行的值。

step3:分别计算缺失数据所在列和其他剩余列之间的相关系数,并取最大值记为rl。对于二维随机变量x和y,相关系数计算方式如下:

其中,cov(x,y)表示变量x、y的协方差;σx、σy分别为变量x、y的方差;分别为变量x、y的平均值。

step4:删除缺失数据所在列,得到新矩阵n,此时矩阵行向量发生变化,每一行都删去了缺失数据所在列的值。

step5:分别计算缺失数据所在行和其他剩余行之间的相关系数,并取最大值记为rk。

step6:在把rl和rk进行比较,得到关于缺失数据的方程,求解方程可得缺失数据的修复值:

1)当rl>rk时,选用矩阵m构建方程:

其中:xtj表示缺失数据所在列所有元素;xtl表示与缺失数据所在列相关系数最大的列的所有元素;

2)当rl<rk时,选用矩阵n构建方程:

其中:xit表示缺失数据所在行所有元素;xkt表示与缺失数据所在行相关系数最大的行的所有元素;

step7:将修复值进行逆标准化处理,还原之前的数据量纲。

数据修复完成后,使用最小-最大归一化方法将交通速度值缩放到范围[0,1]。

在评估时,将预测的交通速度值重新调整到正常水平,以便与地面真实值进行比较。

s2、构建基于改进lstm的图卷积网络交通速度预测模型,其主要结构如图2所示,主要包含一个图卷积模块和一个改进lstm模块。在图卷积模块中构建道路网格的拓扑图,使用图卷积网络获取交通速度的空间相关性,然后使用改进lstm模块捕获由特征矩阵序列表示的片段序列中交通速度的时间相关性。交通速度预测模型的输出用yt表示,即预测的未来时刻t的交通速度。

具体地,交通速度预测模型的结构设计包含以下几部分:

1)图卷积模块:图的构建是gcn的关键步骤。如果构建的图不能很好地编码节点之间的相关性,这将无助于交通速度预测模型学习,甚至可能降低预测性能。之前往往会根据邻接矩阵来构建图,但这种方法并不能准确反映路网之间的拓扑关系,本发明使用结构拓扑图来构建路网的空间关系,表示如下:

其中:a为结构拓扑图;aij为道路i和道路j之间道路数的倒数。

2)改进lstm模块:改进lstm模块包含一个改进的lstm模型。目前常用循环神经网络rnn处理具有时序信息的数据。lstm是rnn的变体,来解决rnn在处理长期信息时出现的梯度消失或爆炸的问题,rnn之所以出现这些问题,是因为rnn隐藏层的输出ht和ht-1之间具有非线性关系。而lstm中引入了记忆单元ct和ct-1之间具有线性关系,此外lstm中引入3个门,即输入门、遗忘门和输出门,原始lstm表达式如下所示,模型如图3所示。

it=σ(xtwxi+ht-1whi+bi)

ft=σ(xtwxf+ht-1whf+bf)

ot=σ(xtwxo+ht-1who+bo)

ct=f*ct-1+it*tanh(xtwxc+ht-1whc+bc)

ht=ot*tanh(ct)

其中:it、ft和ot分别表示输入门、遗忘门和输出门;wxi、whi、wxf、whf、wxo、who表示权重参数;bi、bf、bo表示偏差参数;σ()和tanh()表示激活函数。

在原始lstm基础上,本发明提出一种改进lstm模型,模型结构如图4所示。该模型使用一个全新的传递门单元连接下层l的记忆单元和上层l+1的记忆单元传递门单元控制下层记忆单元中多少信息能传递到上层记忆单元中。第l+1层传递门计算方式如下:

其中:表示t时刻第l+1层的输入到该层传递门单元的权重参数;表示t-1时刻第l+1层的记忆单元到第l+1层传递门单元的权重参数;表示t时刻第l层的记忆单元到第l+1层传递门单元的权重参数;表示t时刻第l+1层的输入;表示t时刻第l层的记忆单元;表示t时刻第l+1层的偏差参数;σ()表示激活函数。

使用传递门,则新的lstm模型表达式如下:

其中:分别表示输入门、遗忘门、输出门、传递门和隐藏层的输出;xt表示t时刻输入;分别表示t时刻输入到输入门、遗忘门、输出门、传递门和记忆单元权重参数;分别表示t-1时刻隐藏层的输出到输入门、遗忘门、输出门和记忆单元的权重参数;分别表示t-1时刻第l+1层的记忆单元到输入门、遗忘门、传递门和输出门的权重参数;表示t时刻第l层的记忆单元到第l+1层传递门单元的权重参数;分别表示t时刻第l+1层的传递门和记忆单元的偏差参数;tanh表示激励函数。

s3、模型训练步骤:对交通速度预测模型进行训练,并基于真实的交通数据集来评估交通速度预测模型。

对交通速度预测模型的评估,主要涉及到评估指标,利用均方根误差(rmse)和平均百分比误差(mape)来测量预测模型的性能,计算公式如下:

其中:和xi分别是预测值和真实值,k是所有预测值的数量。

s4、基于训练好的交通速度预测模型进行交通速度预测。

在一个优选的实施例中,还包括:

s5、分别使用以下基线模型的预测结果与交通速度预测模型的预测结果进行比较,评估模型性能。

ha:指的是历史平均模型,它把交通速度看成是一个严格的周期过程,用前几个周期的平均值作为预测。本发明将周期设定为一周,从而预测前几周同一时间的平均交通速度。

arima:它指的是标准的arima模式。

svr:基于支持向量回归算法训练交通速度预测模型,它使用线性核。

fnn:它训练基于前馈神经网络的交通速度预测模型,它使用两个隐藏层。第一个隐藏层包含64个单元,第二个隐藏层包含32个单元。

lstm:该方法使用lstm模型进行交通速度预测。

t-gcn:该方法将gcn和gru结合起来进行交通速度预测,它只考虑拓扑图进行图形卷积运算。

下面通过一个具体实施例对本发明作进一步说明。

本实施例采用tensorflow框架和pycharm开发环境:tensorflow框架是基于python语言的开发架构,能够方便快捷地搭建合理的深度学习网络,同时具有很好的跨平台交互能力。tensorflow提供了深度学习架构中的众多封装函数和各类图像处理函数的接口,包括了opencv相关的图像处理函数。tensorflow框架同时能够使用gpu对模型进行训练和验证,提高了计算的效率。

在windows平台或者linux平台下的pycharm开发环境成开发环境(ide),是目前深度学习网路设计与开发的首选之一。pycharm为客户提供了新的模板、设计工具以及测试和调试工具,同时能够为客户提供直接调用远程服务器的接口。

一种基于改进lstm的图卷积网络交通速度预测方法,主要分为模型训练和模型运用两个阶段。在模型训练阶段:首先,对现有交通数据集进行处理,通过设计统一信息编码机制,生成符合模型训练的数据集;然后,利用具有高算力的云端服务器对交通速度预测模型进行训练,并调参,直至交通速度预测模型收敛;在模型运用阶段:首先,对获取到的交通速度数据进行编码;接着,调用训练好的交通速度预测模型,将编码好的数据分别输入到交通速度预测模型中,进行未来一段时间的交通速度预测。具体包括:

(1)对于原始交通速度数据进行预处理操作,包括异常值检测、缺失值修复、归一化等。预处理完成的数据构造成交通速度预测模型的输入。

(2)交通速度预测模型主要模块包括:一个图卷积模块和一个长短时记忆网络模块。lstm网络隐藏单元的数量设置为100。

(3)模型的训练在高性能gpu上进行。模型训练超参数主要包括:学习率、批量、训练周期。优选地,设置学习率为0.001,批量为64,训练周期为5000。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1