【论文泛读05】基于Conv-LSTM的短期交通流预测

贴一下汇总贴:论文阅读记录

论文链接:《Short-Term Traffic Flow Prediction with Conv-LSTM》

一、摘要

准确的短期交通流预测能够提供及时准确的交通状况信息,帮助人们做出出行决策,缓解交通拥堵。深度学习(Deep learning, DL)为城市日常交通产生的大数据分析提供了一种新的范式。在本文中,我们提出了一种新型的端到端深度学习体系结构,它由两个模块组成。我们将卷积和LSTM相结合,形成一个convl -LSTM模块,提取交通流的时空信息。采用双向LSTM模块对预测点的历史交通流数据进行分析,得到交通流的周期性特征。在真实数据集上的实验结果表明,与现有方法相比,该方法能够获得更好的预测精度。

文章主要内容

提出了一种基于深度学习的短时交通流预测方法。交通流数据包含三个主要特征:时间特征、空间特征和周期性特征。我们把CNN和LSTM结合起来生成一个ConvLSTM模块,用于提取交通流的时空特征,然后使用Bi-LSTM(双向LSTM,Keras中有相应模块)提取交通流的周期特征。

利用ConvLSTM模块对相邻区域的短时交通流数据进行处理,提取时空特征;利用双向LSTM对预测点历史交通数据进行处理,提取交通流数据的周期特征。提出了一种无需数据预处理和数据特征提取的端到端深度学习短时交通流预测体系结构。最后,集中时空特征和周期特征对交通流进行预测。

二、结论

提出了一种基于ConvLSTM模块和Bi-LSTM模块的端到端深度学习方法,用于短期交通流量预测。现有方法存在特征提取不完全、特征融合不充分、不完全等缺点。与上述方法不同的是,我们通过充分整合交通流信息的时空特征,并辅以周期性特征来预测交通流信息。

可能的研究方向:

  • 处理更多类型的交通数据,以提高短期交通流量预测的准确性。

三、算法实现部分

我们将交通流数据映射到一维向量。我们将预测点的交通流数据放入向量中心,根据与预测点的距离,将其他点的交通流数据依距离放在该向量中心(预测点)两侧。

将不同时刻的一维空间信息向量组合成矩阵如下:
在这里插入图片描述
其中 s s s表示预测点(一列代表一个预测点), t t t表示时间。

周期数据可以表示为以下矩阵:
在这里插入图片描述
其中 d d d代表昨天的相同时刻, w w w代表上周的相同时刻。

上述数据矩阵即为本文提出的深度神经网络结构的输入数据。其中,损失函数为 M S E MSE MSE,优化器为 R M S p r o p RMSprop RMSprop

四、ConvLSTM的结构

ConvLSTM的输入数据既为公式3.1。一行作为一个向量,代表着一个time step所有预测点之间的空间信息,我们使用一维Conv(Conv1D)对公式3.1中的每一行进行处理,自然也是利用一维卷积核滤波器(kernal size=1),通过滑动滤波器获取每个time step局部感知域的卷积信息(空间信息)。然后,将局部特征聚合成全局特征。
在这里插入图片描述
紧接着加池化层,不同之处在于池化滤波器不进行复杂的卷积运算。本文中使用一维平均池化层(AveragePooling1D)。通过池化将生成的特征序列C缩减到原维度的一半大小。这两种特征提取使得深度神经网络在处理交通流数据时具有更高的失真容忍度。

分别对时间序列向量(式3.1中的每一行)的各个元素进行卷积和池化处理后,输出结果变为时间序列向量 C t = ( C 1 , C 2 , C 3 , … , C t ) C_t = (C_1, C_2, C_3,…,C_t) Ct=(C1,C2,C3,Ct)。向量中的每个元素都是区域内各点间交通流的空间相关性。(该表达式中每个元素代表着一个行向量,行向量的维度比式3.1中行向量的维度要小,因为经过了池化)

上面得到的时间序列向量 C t C_t Ct即为LSTM的输入数据。
在这里插入图片描述

五、双向LSTM的结构(Bi-directional LSTM)

交通流也具有很强的周期性特征。本文将增加交通流的周期性特征作为补充信息来预测短期交通流。在提取交通流数据的周期性特征时,我们会同时处理前一天的同一时间和上一周的同一时间的交通流信息。在处理了历史信息后,得到了全时间序列数据。

双向LSTM的结构由上下堆叠的两个单向LSTM组成。因此,Bi-LSTM输入包含预测时间前后的时间序列,在每个 T T T时刻,输入序列被输入给两个方向相反LSTM,输出由两个LSTM决定。每个反向LSTM的误差传播与正向LSTM传播算法相同。Bi-LSTM结构如下图所示,其中 x i x_i xi为LSTM的输入, O f Of Of为正向LSTM的输出, O b Ob Ob表示反向LSTM的输出。
在这里插入图片描述
简单来说,就是再Keras中将LSTM换成Bidirectional(LSTM)即可。

猜你喜欢

转载自blog.csdn.net/qq_41485273/article/details/113727065