计算机系统应用  2019, Vol. 28 Issue (10): 152-156   PDF    
基于LSTM-BP组合模型的短时交通流预测
李明明, 雷菊阳, 赵从健     
上海工程技术大学 机械与汽车工程学院, 上海 201620
摘要:为减轻日益严重的交通拥堵问题, 实现智能交通管控, 给交通流诱导和交通出行提供准确实时的交通流预测数据, 设计了基于长短时记忆神经网络(LSTM)和BP神经网络结合的LSTM-BP组合模型算法. 挖掘已知交通流数据的特征因子, 建立时间序列预测模型框架, 借助Matlab完成从数据的处理到模型的仿真, 实现基于LSTM-BP的短时交通流精确预测. 通过与LSTM\BP\WNN三种预测网络模型的对比, 结果表明LSTM-BP预测的时间序列具有较高的精度和稳定性. 该模型的搭建, 可对交通分布的预测、交通方式的划分、实时交通流的分配提供依据和参考.
关键词: 智能交通系统    LSTM-BP模型    时间序列    短时交通流预测    
Short-Term Traffic Flow Forecasting Model Based on LSTM-BP
LI Ming-Ming, LEI Ju-Yang, ZHAO Cong-Jian     
School of Mechanical and Automotive Engineering, Shanghai University of Engineering Science, Shanghai 201620, China
Abstract: In order to alleviate the increasingly serious traffic congestion problem, realize intelligent traffic control, provide accurate real-time traffic flow prediction data for traffic flow induction and traffic travel, an LSTM-BP combined model algorithm based on long-short-time memory neural network (LSTM) and BP neural network is designed. Mining the characteristic factors of known traffic flow data, establishing the framework of time series prediction model, and using Matlab to complete the simulation from the data processing to the model simulation to realize the accurate prediction of short-term traffic flow based on LSTM-BP. Compared with the three prediction network models of LSTM\BP\WNN, the results show that the time series predicted by LSTM-BP has higher accuracy and stability. The construction of the model can provide basis and reference for the prediction of traffic distribution, the division of traffic modes, and the distribution of real-time traffic flow.
Key words: intelligent transportation system     LSTM-BP model     time series     short-term traffic flow forecasting    

智能交通系统[1]的发展为缓解道路拥堵、提高交通服务水平提供了新的手段和方法, 而交通流的预测是城市智能交通管控系统的重要基础. 通过对当前交通网络流量变化的特征提取, 准确合理地推测出未来一小段时间的交通分布, 可有效地指导交通出行, 最大限度提升交通路网的通行能力, 为人们达到节约出行时间、减少交通事故的目的.

道路交通系统是一个有人参与的、时变的、复杂的非线性大系统, 具有高度的不确定性. 在过去的几十年中, 各位专家学者提出了许多数据分析模型来解决短期交通预测, 包括历史平均和平滑, 统计和回归方法, 基于交通流理论的方法和机器学习技术等[2,3]. Kumar[4]等人应用人工神经网络研究短时交通流预测. Wang[5]等人提出一种改进贝叶斯组合模型预测公路交通流量. Xie[6]等人提出一种用于短时交通流量预测的小波网络模型. LSTM最初由 Hochreiter和Schmidhuber (1997)引入[7], LSTM的主要目标是模拟长期依赖性并确定时间序列问题的最佳时滞[8].

短时交通流量预测具有高度的非线性和不确定性的特点, 且同时间的相关性较强, 由于传统的线性模型难以解决多变量或多输入问题, 而神经网络如LSTM则擅长于处理多个变量的问题, 该特性使其有助于解决时间序列预测问题[9]. 本文采用了长短时记忆神经网络预测模型(LSTM)和BP神经网络结合的LSTM-BP组合模型算法, 该模型比单一模型能更好地提取交通流数据长时间依赖关系的特征, 能把前次输入的特征产生影响量化后与当前时间输入的内容一起反映到网络中去参与训练, 又具有BP神经网络模型较强的非线性映射能力和泛化能力, 提高了数据的使用范围.

1 短时交通流算法—LSTM

传统RNN随着时间间隔的增加, 容易出现梯度爆炸或梯度弥散, 为解决这一问题, 提出了长短时记忆神经网络(LSTM). LSTM[10,11]采用了门限机制来控制信息的累计速度, 并可以选择性的遗忘之前的累计信息. 该模型主要包括输入门i、输出门 o、遗忘门 f 和细胞更新状态 c. 输入门决定更新哪些信息到细胞状态中; 输出门决定细胞状态中将要输出哪些信息; 遗忘门决定细胞状态中要忘记哪些信息. 这3个门是控制信息流的关键, 进而解决梯度消失的问题. LSTM模型的控制特点使其能够长时间的记忆历史数据的状态及自动匹配最佳的时间间隔.

LSTM的基本储存单元架构如图1所示.

图 1 LSTM储存单元基本架构

图1, xtyt分别为输入序列和输出序列, it, ot, ft分别是t时刻的输入门, 输出门和遗忘门, ∫为激活函数. 其整个存储单元计算过程可以用如下公式表示:

${{{i}}_t} = \sigma \left( {{{{w}}_{xi}}{{{x}}_t} + {{{w}}_{hi}}{{{h}}_{t - 1}} + {{{w}}_{ci}}{{{c}}_{t - 1}} + {{{b}}_i}} \right)$ (1)
${{{o}}_t} = \sigma \left( {{{{w}}_{xo}}{{{x}}_t} + {{{w}}_{h0}}{{{h}}_{t - 1}} + {{{w}}_{co}}{{{c}}_{t - 1}} + {{{b}}_0}} \right)$ (2)
${{{f}}_t} = \sigma \left( {{{{w}}_{xf}}{{{x}}_t} + {{{w}}_{hf}}{{{h}}_{t - 1}} + {{{w}}_{cf}}{{{c}}_{t - 1}} + {{{b}}_f}} \right)$ (3)
$ {{c}}_{t}={{f}}_{t} \odot {{c}}_{t-1}+{{i}}_{t} \odot \tanh \left({{w}}_{x c} {{x}}_{t}+{{w}}_{k c} {{h}}_{t-1}+{{b}}_{c}\right) $ (4)
$ {{h}}_{t}={{o}}_{t} \odot \tanh \left({{c}}_{t}\right) $ (5)

式中, ${{{i}}_t}$ , ${{{o}}_t}$ , ${{{f}}_t}$ 分别是时刻t的输入门, 输出门和遗忘门, ${{{c}}_t}$ t时刻的存储单元的计算公式, ${{{h}}_t}$ t时刻LSTM单元的所有输出. σ和tanh分别代表Sigmoid和双曲线正切函数. ${{w}}$ ${{b}}$ 表示相应的权重系数矩阵和偏置.

2 模型构建 2.1 模型搭建

城市道路网的某段路中, 当下时间段的交通流量与前几个时间段的交通流量有关, 且具有24小时内准周期的特性. 在交通流的预测中, 不考虑交叉路口, 突发情况的影响, 假设交通流呈现连续流状态, 定义 $\Delta t $ 为统计交通流数据的时间间隔, xt为第t个时间间隔中该路段的交通流量, 观测到数据总数为T, 交通流序列可表示为:

$T = \left( {{x_1},{x_2},{x_3}, \cdots ,{x_T}} \right)$ (6)

预测模型输入输出序列分别表示为:

$X = {\left( {{X_1},{X_2}, \cdots ,{X_{T - 4}}} \right)^{\rm{T}}}$ (7)
$Y = {\left( {{Y_1},{Y_2}, \cdots ,{Y_{T - 4}}} \right)^{\rm{T}}}$ (8)

式中, ${X_i}\!= \!\left( {{x_{i - 3\Delta t}},{x_{i - 2\Delta t}},{x_{i - \Delta t}},{x_i}} \right)$ , ${Y_i}\! = \!\left( {{x_{i + \Delta t}},{x_{i + 2\Delta t}},{x_{i + 3\Delta t}}} \right)$ , i=4, 5, …, T. 输入序列经过LSTM预测模型, 用连续的4个时间段数据预测未来3个时间段的交通流量.

根据交通流预测模型的预测过程, 实验采集4天的交通流量数据, 时间间隔 $\Delta t $ =15 min观测到的每天数据总数T=96个. 为验证LSTM算法的有效性, 用前3天288个数据对网络预测模型进行训练, 用第4天的92个数据来对预测模型进行测试.

LSTM网络模型: 输入层为4个神经元, 隐层LSTM结构单元设定为20, 输出层为3个神经元. 最大迭代次数为1000, 当误差小于10–5时, 跳出循环.

BP网络模型: 输入层为5个单元, 输出层为1, 通过不断调整参数试错法, 确定BP 神经网络的隐层数为3层, 学习系数为0.1, 误差控制率为0.001, 最大训练次数为1000次.

2.2 模型流程

基于LSTM-BP算法, 构建了交通流预测模型, 其流程图如图2所示. 主要包括:

图 2 LSTM-BP交通流预测流程图

(1) 数据获取和对数据进行归一化预处理, 并划分为训练集和测试集;

(2) 训练LSTM模型, 初始化预测模型的参数. 将训练样本数据集输入模型, 多次训练, 反复迭代, 求出使MAPE最小的模型参数, 直至达到预设的目标准确率, 构建出LSTM预测模型.

(3) 训练BP模型, 将训练集的连续五个时刻 $\left( {{x_{i - \Delta t}},{x_i},{x_{i + \Delta t}},{x_{i + 2\Delta t}},{x_{i + 3\Delta t}}} \right),i = 4,5, \cdots ,T$ 交通流数据作为输入, ${x_{i + \Delta t}}$ 时刻的数据作为输出, 对BP网络模型进行训练, 直到达到预设的准确率, 保存训练后的参数.

(4) 用测试集数据输入训练好的LSTM-BP模型中, 对模型输出的数据反归一化, 将数据仿真结果与已知的样本进行对比.

3 实验分析 3.1 数据的来源

文中采用的交通流数据来自于美国University of Minnesota Data Research Laboratory (TDRL)[12], 该实验室提供了美国Minnesota的St.paul和Minneapolis之间公路路网的交通流量和占用率数据. 以2018年8月6日到 9日期间的第100号探测器采集的时间间隔为15 min的交通流数据进行分析. 交通流原始数据如图3所示,交通流数据本身是一种非平稳随机序列, 但在连续的时间序列上表现出一定的规律性, 并且具有明显的趋势向.

图 3 TDRL的15 min原始交通流数据

3.2 数据预处理

在采集数据时, 由于设备故障、网络不佳、恶劣环境以及人为因素等影响, 传感器采集所得的原始数据难免出现数据缺失、数据异常等情况. 这些“脏数据”会导致数据处理成本和相应时间的增加[13].

此外, 数据都要进行归一化处理, 把车辆流的特征量化在[–1, 1]区间内, 消除数据的单位限制和范围较大的特征值所带来的影响, 从而提高模型训练的精度和收敛的速度.

数据预处理中, 可采用式(9) 线性插值的方法对数据缺失进行修复处理. 并采用式(10) 对数据进行归一化处理.

${x_{a + i}} = {x_a} + \frac{{i \cdot \left( {{x_{a + j}} - {x_a}} \right)}}{j},\;\;0 < i < j$ (9)
${x_i} = \frac{{\left( {{y_{\max }} - {y_{\min }}} \right)\left( {{x_{\max }} - {x_{\min }}} \right)}}{{x - {x_{\min }}}} + {y_{\min }}$ (10)

式中, xa+ia+i时刻缺失的数据, xaxa+i分别为 aa+j时刻原始数据值; xi是原始数据归一化后的数据, xmaxxmin为原始数据中的最大值和最小值. ymaxymin在此为默认数据, 分别为–1和1.

3.3 评价指标

本文模型的目标是预测下一时刻交通流量, 为能更好地分析预测效果, 采用3个常见的评价指标[14]: 绝对平均误差(MAE)、平均绝对百分比误差(MAPE)和均方根误差(RMSE). RMSE用来衡量观测值同真值之间的偏差.

$MAE = \frac{1}{T}\sum\nolimits_{i = 1}^T {\left| {{y_i} - {{\hat y}_i}} \right|} $ (11)
$MAPE = \frac{1}{T}\sum\nolimits_{i = 1}^T {\frac{{\left| {{y_i} - {{\hat y}_i}} \right|}}{{{y_i}}} \times 100\% } $ (12)
$RMSE = \sqrt {\frac{1}{T}\sum\nolimits_{i = 1}^T {{{\left( {{y_i} - {{\hat y}_i}} \right)}^2}} } $ (13)

式中, ${\hat y_i}$ 是实际的交通流量数值; yi为交通流量预测值, T为预测步长.

3.4 结果分析

将短时交通流预测结果与原始流量数据进行比较, 然后比较不同方法的性能, 以验证所提出的LSTM-BP组合网络模型预测的准确性.

图4可以分析出LSTM-BP组合模型的预测结果与实际交通流数据误差在一个小范围内, 基本反映了交通流随时间变化的规律, 模型在一定程度上可近似拟合真实交通流的变化趋势, 预测结果与原始数据接近, MAPE为14.75%. 图5展示了高峰时间段的真实值与预测值绝对百分比误差, 图中大部分时间的绝对百分比误差处在一个较低的水平值(小于0.4%), 故LSTM-BP组合模型在高峰时段, 百分比误差较小, 交通流数据吻合度高, 能够达到较好的预测效果.

图 4 预测值与真实值对比图

图 5 不同预测时间点的绝对百分比误差图

3.5 实验对比

为了验证所提出的LSTM-BP网络的预测准确度, 再分别用LSTM模型, 小波神经网络(WNN)[15]和传统的BP神经网络进行训练, 将预测的结果进行比较.

根据式(11)、式(12)和式(13)分别计算出3种模型的MAE, MAPERMSE结果, 如表1所示. 从图6表1可以直观的看出LSTM-BP组合模型具有较小的MAE, MAPERMSE. LSTM-BP组合模型和WNN评价指标数据差别很小,但LSTM-BP组合模型具有更小的平均绝对百分比误差(MAPE). 从图6可看出LSTM-BP组合模型对时间序列的预测性能和数据的泛化能力都优于单一的LSTM模型和BP神经网络模型, 故LSTM-BP组合模型可作为一种有效的短时交通流量预测模型.

表 1 不同模型的评价指标分析

图 6 不同模型预测情况对比图

在实际预测模型中, 每次预测的值都在变动, 这是由于LSTM模型和BP神经网络模型的初始参数的随机生成, 每次由梯度下降法得到的权值参数都有变化, 造成预测结果不同, 但是变动都在较小的范围内波动.

4 结论与展望

(1) 本文设计了基于LSTM-BP组合算法, 并建立短期交通流时间序列分析及预测的模型框架, 借助 Matlab完成从数据处理和模型程序的构建, 实现了基于LSTM-BP组合模型的短时交通流的精确预测.

(2) 通过与3种不同类型的预测网络模型(即LSTM, BP和WNN)进行比较, 表明LSTM-BP组合模型在预测短时交通流具有较高的精度和稳定性.

(3) 该模型的搭建, 可对交通分布的预测、交通方式的划分、实时交通流的分配提供依据和参考.

(4) 为进一步提高模型的准确度, 需增加训练的实验数据, 改进算法设计, 使模型有更好的准确性和泛化能力. 本文只是对单一的路口进行预测, 接下来要研究不同路口之间的关联性, 进而对整个复杂的路网系统做出预测, 提升整个智能交通系统的实用性.

参考文献
[1]
隋亚刚, 李瑞敏, 郭敏, 等. 城市道路交通流预测预报系统研究与应用. 北京: 中国铁道出版社, 2009.
[2]
邵俊倩. 基于小波模糊神经网络的实时交通流预测. 计算机系统应用, 2016, 25(7): 161-164. DOI:10.15888/j.cnki.csa.005258
[3]
冯钧, 潘飞. 一种LSTM-BP多模型组合水文预报方法. 计算机与现代化, 2018(7): 82-85, 92. DOI:10.3969/j.issn.1006-2475.2018.07.017
[4]
Kumar K, Parida M, Katiyar VK. Short term traffic flow prediction for a non urban highway using artificial neural network. Procedia-Social and Behavioral Sciences, 2013, 104: 755-764. DOI:10.1016/j.sbspro.2013.11.170
[5]
Wang J, Deng W, Guo YT. New Bayesian combination method for short-term traffic flow forecasting. Transportation Research Part C: Emerging Technologies, 2014, 43: 79-94. DOI:10.1016/j.trc.2014.02.005
[6]
Xie YC, Zhang YL. A wavelet network model for short-term traffic volume forecasting. Journal of Intelligent Transportation Systems, 2006, 10(3): 141-150. DOI:10.1080/15472450600798551
[7]
Hochreiter S, Schmidhuber J. Long short-term memory. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735
[8]
Ma XL, Tao ZM, Wang YH, et al. Long short-term memory neural network for traffic speed prediction using remote microwave sensor data. Transportation Research Part C: Emerging Technologies, 2015, 54: 187-197. DOI:10.1016/j.trc.2015.03.014
[9]
李松, 刘力军, 翟曼. 改进粒子群算法优化BP神经网络的短时交通流预测. 系统工程理论与实践, 2012, 32(9): 2045-2049. DOI:10.3969/j.issn.1000-6788.2012.09.024
[10]
Zhao Z, Chen WH, Wu XM, et al. LSTM network: A deep learning approach for short-term traffic forecast. IET Intelligent Transport Systems, 2017, 11(2): 68-75. DOI:10.1049/iet-its.2016.0208
[11]
Liu BY, Cheng JR, Liu Q, et al. A long short-term traffic flow prediction method optimized by cluster computing. Electrical & Electronic Engineering, 2018. DOI:10.20944/preprints201808.0163.v1.
[12]
Transporation Data Research Laboratory. Twin cities’ traffic data archive. http://www.d.umn.edu/tdrl/, [2018-08-10].
[13]
陈英义, 程倩倩, 方晓敏, 等. 主成分分析和长短时记忆神经网络预测水产养殖水体溶解氧. 农业工程学报, 2018, 34(17): 183-191. DOI:10.11975/j.issn.1002-6819.2018.17.024
[14]
王祥雪, 许伦辉. 基于深度学习的短时交通流预测研究. 交通运输系统工程与信息, 2018, 18(1): 81-88.
[15]
金玉婷, 余立建. 基于小波神经网络的短时交通流预测. 交通科技与经济, 2014, 16(1): 82-86. DOI:10.3969/j.issn.1008-5696.2014.01.023