张龄允,韩 莹,张 凯,卢海鹏,丁昱杰
(南京信息工程大学自动化学院,江苏 南京 210044)
随着经济社会的高速发展,道路交通堵塞问题越来越严重。智能交通系统(Intelligent Transportation System, ITS)是缓解道路交通拥堵、提高道路交通安全的有效途径[1-2]。ITS将计算机、人工智能等技术有效地综合运用于交通运输等领域,加强车辆、道路之间的联系,是建设智慧城市的重要环节[3]。在智能交通领域中,短时交通流预测起着重要的作用。短时交通流预测就是基于过去时段的交通信息,去预测未来某个时段的交通状况,可以提供给出行者更为准确的道路信息,提高道路通行效率[4]。因此,交通流预测研究有着重要的现实意义。
随着近几年交通流预测领域的不断研究和发展,国内外学者们已经提出了很多的预测模型和方法,大致可分为2类:传统预测模型和神经网络预测模型。Lin等人[5]采用差分整合移动平均自回归(Autoregressive Integrated Moving Average, ARIMA)模型,获得短时高速交通流数据的波动特征,实现交通流预测。赵伟[6]采用最小二乘支持向量机(Least Square Support Vector Machines, LSSVM)对交通流进行预测,但运行效率慢、计算量复杂。Liu等人[7]提出了一种基于KNN-SVR的混合预测模型,采用K近邻(K-Nearest Neighbor, KNN)算法的搜索机制来重建与当前交通流相似的历史交通流序列,然后利用支持向量回归(Support Vector Regression, SVR)对短时交通流进行预测。但受到环境因素的干扰,交通流数据具有高度非线性和复杂性,使得这些传统模型很难获得较高的预测精度。
近几年来,随着深度学习的兴起,神经网络被广泛应用于交通流预测领域,以其强大的学习能力和自适应能力受到国内外许多学者的关注。长短期记忆网络具有精度高的优点,对噪声具有很强的鲁棒性和容错性,也具有联想记忆的功能,可以有效地处理时间序列问题[8]。Dogan[9]观察不同训练集规模应用于LSTM训练的效果,研究表明,在交通流领域,扩大训练集规模会单调增加LSTM性能。马焱棋等人[10]利用LSTM对车辆速度和密度这2个指标进行预测,与传统模型相比,具有较好的预测精度。
上述方法只考虑了交通流数据的时间特征,其实数据的空间特征也会影响模型的预测精度[11]。姚思佳等人[12]利用CNN对北京市四环路交通流进行预测。李磊等人[13]提出一种基于CNN和LSTM的短时交通流预测方法,采用分层提取方法提取数据的时空特征。Li等人[14]提出一种使用CNN-LSTM的实时碰撞风险预测模型,该模型可以明确地从各种特征中学习,结果表明,引入数据的空间特征能有效提高模型的预测精度。门控循环单元(Gated Recurrent Unit, GRU)[15]和LSTM一样,都是为解决长期记忆和梯度爆炸问题而提出。卢生巧等人[16]提出了一种基于CNN-GRU的交通流深度学习预测模型,实验结果表明,运行时间缩短,但预测精度相对较低,这是由于GRU模型的内部结构难以学习长时间序列对网络的依赖性所导致。注意力机制[17]对数据的自适应关注可以提高模型提取特征的能力,近几年来被广泛应用于交通流预测领域。Vijayalakshmi等人[18]提出了一种基于注意力机制的CNN-LSTM-Attention多步预测模型,对输入特征赋予不同的权重,提取数据的关键信息。桂智明等人[19]提出一种结合注意力机制的CNN-GRU-Attention预测模型,利用交通流的周相似性提取周期特征,将所有特征融合进行回归预测。
交通流量容易受到天气、通信等外部因素的干扰,收集到的数据中含有大量的噪声[20]。分解算法可以降低噪声对预测模型的影响,受到越来越多学者们的青睐。Huang等人[21]研究了互补集成经验模态分解对短时交通流数据预测的影响。聂铃等人[22]提出基于CEEMD的短时交通流预测模型,结果表明,CEEMD可以有效提高交通流预测模型的训练精度和抗噪声能力。
因此,针对短时交通流预测准确性的要求,本文提出一种基于CEEMD-CNN-LSTM的短时交通流预测方法。融合CEEMD自适应处理非线性数据的特性,将分解后的本征模态函数(Intrinsic Mode Function, IMF)分量通过CNN-LSTM组合模型进行预测,充分挖掘交通流数据的时空特征,叠加各个IMF分量预测值作为最终的预测结果。本文选取加利福尼亚州主要大都市区高速公路的交通流数据进行实验验证,期望能够达到较好的预测效果。
CNN是一种前馈式神经网络,其中1DCNN可以很好地应用于时间序列分析[23-24]。交通流属于典型的时间序列数据,因此本文采用1DCNN对交通流数据的空间特征进行提取。
1DCNN神经网络通过一维卷积操作和池化操作对数据进行特征提取。一维卷积操作通过控制卷积核的数量来实现特征降维,降低模型的复杂度。卷积操作如式(1)所示:
(1)
池化操作在卷积操作的基础上进一步实现特征降维,并减小过拟合现象。常用的方法为最大值池化,表达式如式(2)所示:
(2)
LSTM是一种时间递归神经网络,是对循环神经网络(Recurrent Neural Network, RNN)的改进[25]。LSTM解决了RNN存在的梯度爆炸问题和数据长期依赖问题[26]。LSTM内部结构如图1所示。
图1 LSTM结构原理图
LSTM的核心思想是引入了“门”的内部机制,为激活函数sigmoid,通过函数的输出值来实现对信息的保护和控制。LSTM在RNN的基础上增加了遗忘门、输入门和输出门。遗忘门决定从细胞状态中丢弃或保留哪些信息,输入门用于细胞状态的更新,输出门决定输出哪些信息。
LSTM单元门表达式如式(3)~式(5)所示:
ft=σ(Wf·[ht-1,xt]+bf)
(3)
it=σ(Wi·[ht-1,xt]+bi)
(4)
ot=σ(Wo·[ht-1,xt]+bo)
(5)
其中,ft、it、ot分别为遗忘门、输入门、输出门的输出,Wf、Wi、Wo、bf、bi、bo分别为各单元门的权重和偏置,ht-1、xt分别为前一时刻和当前时刻的输入。输入门和输出门还分别增加一个tanh神经层来控制信息的更新和输出,其控制表达式如式(6)~式(8)所示:
Ct1=tanh(Wc·[ht-1,xt]+bc)
(6)
Ct=Ct-1·ft+it·Ct1
(7)
ht=ot·tanh(Ct)
(8)
其中,Ct1为前一时刻记忆单元的状态,Ct为当前时刻记忆单元的状态,ht为预测的交通流序列。
1.3.1 EMD原理及应用
经验模态分解(Empirical Mode Decomposition, EMD)是一种通过重复减去包络均值来连续去除振荡的自适应方法,适用于非线性、非平稳的信号处理[27]。它能将复杂信号分解为有限个IMF分量,各IMF分量包含了原始信号在不同时间尺度上的局部特征信号,即将原始序列分解成一系列本征模态函数分量和残余分量。
(9)
其中,m为IMF分量的个数;ci(t)为第i个IMF分量;rm(t)为第m个残余分量。
1.3.2 CEEMD原理及应用
CEEMD是一种根据噪声频率处理非线性信号的方法。交通流量易受外部因素干扰,收集到的数据会含有大量噪声。虽然EMD可以处理非线性信号,但在分解过程中存在模态混叠问题,使得筛选出的IMF分量包含不同时间尺度的信息,因此王静等人[28]提出采用噪声辅助的处理方法——CEEMD。
CEEMD通过引入一组互为相反数的高斯白噪声加入到原始信号中,将2个混合信号同时进行EMD分解,不仅克服了EMD存在的模态混叠现象,也因为引入的是互补噪声,所以重构后的数据中噪声残余量几乎可以忽略不计。在一定程度上,CEEMD还可以使用相对较少的集成平均次数,在保证小剩余噪声干扰的情况下,节省计算时间。
CEEMD具体操作步骤如下:
1)在原始信号中加入一组正负成对的高斯白噪声。
(10)
其中,xa(t)表示加入正噪声之后的信号,xb(t)表示加入负噪声之后的信号,s(t)表示原始信号,n(t)表示加入的辅助白噪声。
2)对xa(t)、xb(t)同时进行EMD分解,将分解后的IMF分量分别记为IMFsk_a、IMFsk_b,k=1,2,…,n。
(11)
其中,IMFsk_a、IMFsk_b分别表示加入第k个正噪声和第k个负噪声之后的分解信号,IMFsk表示加入第k个辅助白噪声之后的集总平均值。
3)对IMFsk求总平均值:
(12)
其中,IMFs表示分解后最终得到的信号分量。
针对交通流数据易受外界环境干扰,存在大量噪声而导致预测精度下降的问题,本文提出一种结合互补集成经验模态分解的卷积长短时记忆单元预测模型。
模型结构如图2所示。本文模型的算法参数如表1所示。CEEMD分解流程如图3所示。
图2 模型结构
表1 算法参数表
图3 交通流分解流程图
本文模型将分解后的IMF信号分量输送到CNN层提取数据的时空特征,采用LSTM增强神经网络的记忆能力,提高学习效率。具体步骤如下:
1)采用CEEMD根据噪声频率对原始交通流数据进行分解,设置最大模态数(即IMFs个数)为12,其中epsilon设置为0.005,插值方法选取“pchip”。
2)将分解后的各个IMF信号分量输送到1DCNN层,挖掘交通流数据的时空特征,得到交通流时间序列的特征向量。采用ReLU函数激活一维卷积网络,加速梯度下降的收敛速度。设置卷积核个数为32,卷积核长度为5,池化层数为1。
3)将特征向量输送到LSTM神经网络中,训练数据不断更新各个门单元的权重项和偏置项。设置LSTM层数为3,隐藏单元的神经元个数分别为32、32、16。其中Dropout层设为0.2,即随机断开20%的神经元,缓解模型出现过拟合现象。
4)在模型训练阶段,设定学习率为0.001,采用Adam作为网络优化器。设置Batch_size为64,即一次训练所选取的样本数;epoch为25,即所有数据送入网络完成训练的次数。最后通过一个全连接层输出最终预测序列。
本文在Python环境下,使用Keras神经网络框架完成模型的搭建和训练。将本文模型与现有模型进行对比分析,结果表明,本文模型在评估指标和曲线拟合程度上均能达到较好的效果。
本文选取的数据集来自于Caltrans Performance Measurement System(PeMS),数据是从跨越加利福尼亚州主要大都市区高速公路系统的各个探测器实时收集的,选取其中1车道点的车流量数据进行实验验证。该数据集中包含2016年1月4日到2016年3月31日的车流量数据,每5 min记录一次,共12098条。本文选取2016年1月4日到2016年2月27日的数据作为实验验证的样本数据,前90%作为训练数据,后10%作为测试数据。
采用min-max归一化方法对交通流数据进行预处理操作,避免模型出现梯度爆炸问题,提高模型的收敛速度。表达式如(13)所示:
(13)
其中,y代表归一化后的值,x代表原始值,xmax和xmin分别代表原始数据中的最大值和最小值。
为了验证模型的预测性能,本文采用均方根误差(Root Mean Square Error, RMSE)、平均绝对误差(Mean Absolute Error, MAE)和决定系数(R2)作为模型的评估指标。定义如式(14)~式(16)所示:
(14)
(15)
(16)
MAE值用于衡量预测结果的误差,RMSE值用于衡量预测结果的稳定性,R2值用于衡量预测结果的准确程度。
交通流数据的CEEMD分解结果如图4所示。
在原始数据中加入幅值为0.2的互补噪声,将原始信号分解成一系列IMF分量和一个残余分量,如图4所示。
图4 CEEMD数据分解图
自上而下,IMF分量的振动频率逐渐降低,且相邻一段时间内IMF分量的振荡模式较为相似,表示在同一时间段内的交通流量分布具有一定的相关性。高频分量波动较大,受外界因素干扰强,其对应的频谱值大、振动频率小,噪声为主导模态;低频分量波动较小,受外界因素干扰弱,变化幅度小,振幅大,数据更平稳,信号为主导模式。
提取最高频分量作为交通流序列的随机项,将剩余IMF分量叠加得到交通流序列的趋势项。最后,将随机项和趋势项2个部分预测结果进行求和运算,得到最终的预测结果。
为了比较本文模型的预测性能,首先引入传统预测模型进行比较,结果如表2所示。通过表2可知,本文模型相比于ARIMA[5]、SVR[6]模型,MAE值分别降低了7.0182、7.5793;RMSE值分别降低了9.459、10.5486,预测准确性平均可提高14.32个百分点。
表2 3种模型性能指标对比
结果表明,本文模型的预测性能要优于其传统预测模型。这是由于SVR、ARIMA仅仅依赖于交通流数据的历史记录进行预测,无法充分捕捉到复杂、非平稳时间序列的数据特征。
为了更加直观地比较模型的预测性能,本文选取现有预测模型与本文模型进行比较,分别给出了LSTM模型、CNN-LSTM模型、CNN-GRU模型、CNN-LSTM-Attention模型、CNN-GRU-Attention模型、EMD-LSTM模型、CEEMD-LSTM模型、CEEMD-CNN-LSTM模型的数据拟合结果,如图5所示。从图5中可以看出,本文模型的数据拟合程度要优于其余7个模型,尤其是在2:00左右的低峰时段到6:00左右的高峰时段,数据有一个大幅度的上升,只有本文模型可以达到较高的拟合程度。预测精度的评估指标如表3所示。
表3 8种模型性能指标对比
由表2和表3分析可得,基于神经网络的预测模型在预测准确性上要优于传统的机器学习方法。
CNN-LSTM模型与单一的LSTM模型相比,前者的MAE和RMSE值分别降低了0.7777和0.885,说明通过CNN提取交通流数据的时间和空间特征,可以有效提升模型的学习能力和学习效率。
CEEMD-LSTM模型与EMD-LSTM模型相比,前者的MAE和RMSE值分别降低了1.0536和1.6512,说明CEEMD能够克服EMD存在的模态混叠问题,得到更有规律的IMF分量,提高模型预测精度。将CEEMD-LSTM模型与单一的LSTM模型相比,前者的MAE和RMSE值分别降低了2.8014和3.8245,说明数据分解可以有效降低噪声对交通流预测的影响,缓解交通流数据的非平稳性,提高模型的预测精度。
CNN-LSTM模型和CNN-GRU模型相比,预测效果相差不大,但前者的预测精度要优于后者。这可能是由于GRU模型的内部结构难以学习长时间序列对网络的依赖性所导致。CNN-LSTM-Attention模型、CNN-GRU-Attention模型与CNN-LSTM模型、CNN-GRU模型相比,预测性能有所提高,但影响程度不大。
因此,本文将CNN和LSTM神经网络相结合,并引入CEEMD分解,提出一种新的CEEMD-CNN-LSTM短时交通流预测方法。在相同数据集上进行实验验证,本文模型的预测精度可以达到97.83%。
(a) LSTM
实验结果表明,本文提出的交通流时间序列预测模型,对比评估指标RMSE、MAE、R2均能达到较好的效果。与现有模型相比,预测精度得到明显提升,能够更为准确地反应道路交通流的变化特征。
交通流数据的非线性、不确定性和随机性给交通流预测带来了许多困难,准确的短时交通流预测在智能交通领域有着重要的现实意义,可以提高道路通行效率,解决交通拥堵等问题。为提高短时交通流量预测精度,本文融合CEEMD自适应处理非线性数据的特性对交通流量进行信号分解。将分解后的IMF分量通过CNN-LSTM组合模型进行预测,提取交通流序列的时间特征和空间特征,有效利用交通流信息,最后将各IMF分量预测结果进行线性组合得到最终的预测结果。经过多次实验验证,结果表明,CEEMD分解可以有效减少噪声对短时交通流预测的影响,使模型做出更加准确的判断,提高学习效率。本文模型的预测精度要优于其他模型,在智能交通领域具有一定的参考价值。