基于变分模态分解和LSTM的短时交通流预测
2023-06-08邴其春张伟健沈富鑫胡嫣然刘东杰
邴其春,张伟健,沈富鑫,胡嫣然,高 鹏,刘东杰
(1.青岛理工大学 机械与汽车工程学院, 山东 青岛 266520;2.青岛市交通运输公共服务中心, 山东 青岛 266100)
0 引言
交通流预测作为当今智能交通系统的研究热点,不仅可以为出行决策提供有力支撑,还可以改变交通管理模式。近年来,相关学者提出了大量的数据处理方法和高精度模型用于短时交通流预测。目前常用的方法主要有时间序列模型[1]、K近邻(KNN)非参数回归模型[2]、卡尔曼滤波[3]、BP神经网络[4]和支持向量机(SVM)[5]等。
随着数据传输技术的发展,数据驱动式模型被广泛应用于交通流预测,一般包括数据处理方法和预测模型两部分。数据处理部分通常利用各种算法对原始交通流数据去噪、分解和重构来提取数据的显著特征[6-10]。例如,张阳等[11]提出了一种基于IWPA-LSTM的短时交通流预测模型,对小样本数据进行多尺度分解和重构。朱永强等[12]构建了CEEMD-LSSVM组合预测模型,利用CEEMD对数据进行多尺度分解,预测结果平均误差为6.51%。Yang等[13]提出了一种基于EMD和自动编码器的交通流组合多步预测方法,并验证了该方法的可行性。吴玲玲等[14]提出一种基于EMD-DE-BPNN的交通流组合预测模型,利用美国高速公路数据进行实例验证。沈富鑫等[15]提出一种CEEMD-GRU组合预测模型,并利用上海市快速路实测交通流数据验证了方法的预测性能。
另一方面,由于深度学习算法在数据挖掘和模式识别方面的优异性能,在交通流预测等相关研究上也得到了广泛的关注。满春涛等[16]考虑上下游交通流量状态,应用LSTM进行短时交通流预测,最后利用高速公路实测数据进行了验证。Ma等[17]将LSTM神经网络模型应用到交通流预测中。谷远利等[18]将提取的空间特性变量用长短期记忆神经网络和门限递归单元神经网络预测不同时段车道的速度。王祥雪等[19]构建了一种LSTM-RNN的城市快速路交通流预测模型,在不同训练样本占比下,MAE均低于1.3,该预测算法的精确性、实用性和扩展性均有提高。Polson等[20]提出了一种新的深度学习结构来预测交通量,证明了深度学习结构具有良好的捕捉数据特征的能力。徐先峰等[21]提出一种CNN-BiLSTM短时交通流预测模型,将交通流预测细化到车道级别,并利用美国交通实验室数据进行了实例验证,结果显示该模型的RMSE为30.96。
以上分解方法均取得了较好的效果,但方法本身的缺陷会影响最终的预测精度,如EMD及其改进算法均存在端点效应及模态混叠等问题。为进一步提高短时交通流预测的精度,提出了一种VMD-LSTM的组合预测方法,首先利用VMD将原始交通数据分解为一系列相对平稳的IMF分量,后充分利用深度学习挖掘数据特性的优势,建立LSTM神经网络模型对各个模态分量进行预测,将所有预测值汇总叠加,获得最终的预测结果。
1 理论方法
1.1 变分模态分解算法
变分模态分解(variational mode decomposition,VMD)算法是由Dragomiretskiy等[22]提出的一种自动自适应、非递归的信号处理方法。此算法克服了EMD及其改进算法端点效应和模态分量混叠的问题,可以将非稳定性、非线性且复杂度高的信号分解为多个相对平稳的子序列,在求解过程中可自适应匹配最佳中心特征,极大程度地迎合高频率复杂信号的分解。
将原始交通时间序列f分解为k个模态分量uk(t)(k=1,2…,k)。模态分量通过Hilbert变换构造出对应的解析频率信号,然后变换各个分量的解析信号,其中混合子模态的中心频率为e-jωkt,利用高斯平滑法对子模态进行最优解调,并在解调中预估出已转化子模态uk(t)的高频带宽,引入约束条件,则约束变分表达式为:
(1)
式中:k为模态数量;t为时间变量; {uk}和{ωk}分别为子模态函数和对应的中心频率;δ(t)为狄拉克分布;*为卷积函数运算符;j为虚数单位。
为直接获得变分模态的最优解,引入二次惩罚因子α和拉格朗日乘法算子λ,式(1)为约束变分问题,通过引入变量间接转化为非约束变分问题,得到表达式:
L({uk},{ωk},λ)=
(2)
式中:α为二次惩罚因子;λ为拉格朗日乘子。
利用交替方向上的乘子迭代算法求解式(2)。经过多次交替寻优,uk、ωk和λ的表达式设置为:
(3)
(4)
(5)
主要迭代求解步骤为:
步骤2确定迭代次数n=n+1。
步骤3利用式(3)和式(4)更新uk和ωk。
步骤4利用式(5)更新拉格朗日乘数λ。
1.2 LSTM神经网络
长短时记忆(long-short term memory,LSTM)神经网络是Hochreiter等[23]提出的一种改进后的循环式神经网络,可有效解决循环式神经网络存在的梯度爆炸和阶段性梯度消失的问题。在传统循环式神经网络基础上,在隐含层增设记忆模块,可使信息较长时间地储存和遗传,其结构如图1所示。
图1 长短时记忆网络结构
LSTM是一种链式结构,主要由遗忘门、输入门、输出门和记忆单元4个部分构成,各部分之间以特定的作用关系进行信息过滤和保存。
遗忘门的主要功能是处理来自上一时刻单元状态的信息。前一隐藏神经元节点ht-1和t时刻输入的信息xt经激活函数σ激活后,输出门限层ft,其表达式为:
ft=σ(Wfxt+UfCt-1+bf)
(6)
输入门包含sigmoid和tanh 2个激活函数,作用为更新记忆单元状态,其结构可表示为:
it=σ(Wiht-1+Uixt+bi)
(7)
(8)
Ct是由过去状态和现在状态相加获得,其中过去状态是由上一时刻单元状态Ct-1与遗忘门输出结果相乘获得。
(9)
输出门主要由短期记忆与当前输入信息结合得到的ot和长期记忆输出的ht两部分构成,其表达式为:
ot=σ(Woht-1+Uoxt+bo)
(10)
ht=ot*tanh(Ct)
(11)
式中:σ表示sigmoid函数;Wo、Uo和bo分别表示通过训练得到的权值和偏移量。
每个LSTM单元的误差项S和权重梯度损失根据定义的误差函数反算,即式(12)和式(13)。
(12)
(13)
在LSTM中引入记忆单元和阈值限制,通过多门协作,实现对时间序列信息的有效利用和对变化较大的数据的响应,提高了LSTM的鲁棒性。
2 VMD-LSTM预测模型构建
变分模态分解在处理复杂信号方面表现优异,同样适用于非线性、非稳定性的交通流时间序列。本文建立VMD-LSTM组合预测模型对复杂交通流时间序列进行预测,预测流程如图2所示。
VMD-LSTM组合模型的计算步骤如下:
步骤1运用VMD对原始交通流数据进行分解,得到一系列具有连续性和相对稳定性的子模态分量{u1,u2,…,uk}。通过观察中心频率的稳定性确定分解子模态分量的个数k,当最后一层的中心频率相对稳定时,k为最佳值。
步骤2对VMD分解获得的模态分量分别构建LSTM模型,调节参数。
步骤3对每个预测模型进行单步预测,得到各模态分量的预测值,即图2中的Y1,Y2,…,Yn。
步骤4将各项预测结果汇总叠加,得到最终的交通流预测值。
3 实例分析
3.1 数据来源
本文数据来源于上海市南北高架快速路,数据收集时间段为2018年8月27日至8月31日,图3为NBXX11(3)和NBDX16(2) 2个感应线圈连续5 d的交通流数据,相邻感应线圈之间的平均距离约为500 m,采样间隔为5 min。其中NBDX和NBXX分别表示南北高架东线和西线,11、16为检测断面编号,2、3为车道编号。
图2 VMD-LSTM模型预测流程
图3 检测器交通流量数据
3.2 变分模态分解
在对原始数据分解之前,需要确定分解模态分量k的数量,k的大小影响时间序列分解效果。如果k值太小,则模态分量中会出现模式混叠现象;如果k值太大,将产生模式重复或附加噪声。
通过观察中心频率来确定k的最佳值,首先将原始数据进行不同k值分解,然后计算不同层的中心频率,如表1、表2所示。比较不同k值下最后一层模态分量的中心频率,当最后一层的中心频率相对稳定时,k可以被认为是最佳值。设置VMD参数:α=2 000,τ=0.3,ε=10-7。由表1和表2可得,当k大于4时,最后一层模态分量的中心频率保持相对稳定,因此本实验分解数k设为5。
表1 NBXX11(3)不同k值下的中心频率
表2 NBDX16(2)不同k值下的中心频率
交通流数据的分解结果如图4和图5所示,左侧显示的是VMD获得的5个模态分量函数,右侧显示的是与左侧图对应的频率图。由图可见,不同尺度上的信号表现出完全不同的特征,每个模态分量的频率从IMF1到IMF5逐渐增加,对于每个IMF分量,其中心频率分布均匀并实现了有效分离,未出现模态混叠现象,具有较好的分解效果。图4和图5中的IMF1、IMF2属于低频分量,其余为高频分量,VMD算法将高度复杂的交通流数据分解为多个周期性和规则性的模态分量,每个分量包含不同的频率信息,可更好地提取和学习交通流数据中包含的信息,提高预测精度。
图4 NBXX11(3)变分模态分解
图5 NBDX16(2)变分模态分解
3.3 实验结果分析
将前4 d的数据作为前期训练样本,最后一天数据作为测试样本进行对比分析,实验的输入维数设置为6。对LSTM网络进行参数标定:隐藏层为1层,神经元个数设定为200,为防止模型在训练中出现梯度爆炸问题,梯度阈值为1,初始化学习率为0.005,求解器设置为“adam”并进行250次迭代训练,在经过125次迭代训练后乘以因子0.2来降低学习率。数据训练和检测的输入输出流程如图6所示。
图6 数据的输入和输出格式
为验证本文方法的准确性和可靠性,分别设置LSTM、EMD-LSTM、EEMD-LSTM、BPNN 4种模型方法进行对比验证。BPNN神经网络模型的层数设置为3,神经元数量和输入时间窗口分别设置为16和5。EMD和EEMD的分解子序列数量均为5。分别检验VMD算法与LSTM神经网络模型。所有验证均在Matlab 2018a中进行。此外,为了验证所提出方法的广泛适应性,避免单一数据源产生的偶然性,实验部分选用东主车道和西主车道2个车道的实测交通流数据。在实验中各个模型均设置最佳参数,预测结果和效果如图7和图8所示。
图7 预测结果
图8 预测效果
由图7可知,该方法的预测结果准确地描述了原始交通流序列的动态波动趋势,在数值上与实际交通流数据相似,证明了本文提出的方法可有效提高预测精度。由图8可知,相比于其他方法,本文方法预测值波动性较小,具有较高的拟合度。
为了验证方法的优越性,避免单一实验的偶然性,本文采用五折交叉验证法,设计方案如图9所示,将连续5 d的交通流数据分别编号,每次实验选取4 d数据训练预测模型,剩余部分用来测试训练后的模型性能,分别设置5次重复实验,以5次重复实验的平均误差来评价模型的整体性能。
选取平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均等系数(EC)3个指标进行分析评价。
(14)
(15)
(16)
表3 NBXX11(3)不同模型的预测误差
表4 NBXX16(2)不同模型的预测误差
由表3和表4可得,所有组合模型的预测精度均优于单一模型,表明在预测前对交通流数据分解可显著提高模型的预测精度。对比不同数据源的预测误差,本文方法的误差均小于对比方法,相比于BPNN、LSTM、EMD-LSTM和EEMD-LSTM等模型,在MAE方面分别优化了35.5%、28.25%、21.1%和13%。结果表明:
1) LSTM模型的预测误差低于BPNN模型,表明LSTM模型的预测性能优于传统的预测模型。
2) 在预测精度方面,组合模型明显优于单一模型,这表明预测前对交通流数据进行分解可以显著提高模型的预测精度。
3) VMD-LSTM模型的预测精度高于EMD-LSTM模型和EEMD-LSTM模型,表明VMD算法是一种更有效的数据分解算法。
以上实验结果证明了本文VMD-LSTM组合预测模型的优越性和广泛适用性。
4 结论
1) 与单一模型相比,本文提出的组合模型在预测精度方面有较大提升。
2) 与EMD和EEMD算法相比,VMD算法可以有效解决模态混叠和端点效应问题,使各IMF的周期性特征更加明显,提高预测性能。
通过实测数据验证了本文方法的可行性,预测结果可用于实现先进的出行者信息系统,然而目前研究仍存在一定的局限性。本文使用的数据采样间隔为5 min,未来可以测试不同采样间隔的数据(如1 min或者2 min),验证方法的泛化能力。目前仅采用快速路数据进行验证,未来可以使用不同数据源验证方法的有效性,如主干道和高速公路数据。目前仅对短时交通流进行了一步预测,在未来工作中将考虑短时交通流多步预测,提供更精确的交通信息。