计算机论文:基于MEEMD-GRU模型的短时交通流预测
来源:未知 2020-12-15 16:13
随着智能交通系统的快速发展,短时交通流的预测成为了重要的研究方向之一。准确快速的道路交通流预测不仅能为智能交通系统提供数据基础,还能够帮助人们规划出行路线,缓解交
计算机论文:基于MEEMD-GRU模型的短时交通流预测
引言
随着智能交通系统的快速发展,短时交通流的预测成为了重要的研究方向之一。准确快速的道路交通流预测不仅能为智能交通系统提供数据基础,还能够帮助人们规划出行路线,缓解交通压力带来的道路拥堵等问题。目前,国内外对于交通流预测的研究主要有五种预测模型,即基于统计分析的预测模型、非线性理论模型、仿真预测模型、智能预测模型、混合模型。
第一类,基于统计分析的预测模型在处理交通数据时所采用的方法为数理统计方法,模型比较简单,计算速度快,在交通状况稳定时运用此种模型预测影响不大,但是面对复杂的路况以及突发的交通状况,运用此种模型去预测城市交通流,往往起不到很好的效果。该模型主要包括时间序列法、卡尔曼滤波分析法等。Okutani和Stephaned[1]在交通流预测中首次应用卡尔曼滤波模型,效果显著。Nicholson 和Swann等学者[2]通过谱分析法预测城市交通流量,其预测结果同样有效。但该模型的缺陷依然是无法很好地处理突发状况。
第二类,非线性理论模型比较适合交通流的预测,因为交通流的数据也是非线性的。但是在实际应用中,这种方法计算起来比较复杂,想实现非常准确的预测并不容易。常用的非线性理论模型有混沌理论模型等。Attoor Sanju Nair等学者[3]验证了交通参数的混沌特性,将混沌理论引入了交通流预测的模型中。廖荣华、兰时勇、刘正熙等学者[4]通过改进混沌时间序列局域法,分析预测了北京市的交通数据,最终验证了改进后的方法预测更加准确。
第三类,仿真模型把车辆当作实体,通过仿真软件模拟道路车辆的动态行驶过程,进而预测城市交通状况。贺国光、马寿峰等学者[5]借助小波分解模型进行仿真预测,效果良好。此种预测模型的理论基础较好,但是实时性略弱,适用于小型路口的预测,对于复杂的交通系统通常并不能起到很好的预测效果。
第四类,智能预测模型主要利用机器学习的算法,通过人工智能领域的方法对道路交通流量进行预测。其中常用的模型有支持向量机模型、深度学习模型等。
近些年来,深度学习在交通流预测中的应用开始受到研究者的青睐,呈现出广阔的前景。Arief Koesd wiady等美国学者使用基于深度信念网络模型算法研究了不同的天气状况对道路交通流产生的影响。中国学者罗向龙、焦琴琴等[6]同样使用了DBN算法进行交通流的预测。智能预测模型的优势在于预测的精度和准确性较高,对复杂路况的预测优势尤其明显,但缺点在于模型复杂,计算的时间相对较长。
第五类,混合预测模型指的是在进行交通流预测时,相较于单一的预测模型,而采用两种或者两种以上的模型。它将不同的模型混合使用,有利于提高预测效率,是目前世界上应用最广泛的交通流预测模型。比如,窦慧丽、刘好德等学者[7]将小波分析法与ARIMA模型结合在一起使用,提高了预测的精度和准确率。
综上所述,本文采用结合经验模态分解和深度学习算法的混合预测模型对交通流进行预测,并得到较好的预测效果。
1 基本原理
经验模态分解原理
经验模态分解(Empirical Mode Decomposition ,EMD)是一种自适应的数据挖掘、时频信号处理方法。该方法的主要思想是根据被分解信号自身的时间尺度特性进行信号分解和处理,最终将原始信号分解成若干个本征模函数(Intrinsic Mode Function, IMF)和一个具有信号平均趋势的残余项。因此,理论上EMD算法适用于任何信号的分解,尤其在分解和处理非线性、非平稳的信号时,比传统的小波分解和傅里叶分解表现出明显的优势。EMD算法的具体实现步骤如下:
(1)找到原始信号序列
所有的局部极大值点和极小值点。根据三次样条插值方法将所有的极大值点拟合成上包络线
,所有的极小值点拟合成下包络线
,并计算出上、下包络线的平均值,用
表示:
(1)
将原始信号与均值包络相减得到第一步分解的新信号,并用
表示:
(2)
(2)若
满足平均包络值为零、并且极值和零值的数量相差0或1,则
为一级IMF分量。否则,对
重复进行第(1)步运算,直至第k次分解之后的信号
满足成为IMF分量的条件。一级IMF分量可以记作
:
(3)
(4)
(3)原始信号
减去一级IMF分量,得到差值信号
:
(5)
再对
分解,依次得到n级IMF分量。直至信号剩余一项不能再分解得残余项。综上所述,对于整个经验模态分解过程,原始信号分解结果表达式为:
(6)
其中,
表示具有信号平均趋势的残余项。
MEEMD原理
MEEMD算法[8]对原始信号添加均值为零的白噪声,使得混合信号的极值点分布更加均匀,再进行EMD分解时可避免模态混叠现象。然后,用排列熵[9]方法检测分解得到的平均集成分量。最后对剩余信号进行EMD分解,再将IMF分量从高频到低频依次排列,得到最终分解结果。
的具体分解步骤如下:
(1)对原始信号序列
添加均值为零的白噪声信号
:
(7)
(8)
其中,
表示白噪声信号的幅值,
。
然后对
和
分别进行 EMD 分解,并对分解得到一级IMF分量序列
和
进行集成平均计算,并得到的分量:
(9)
计算信号
的排列熵值,若熵值大于
,判定
是异常信号,若熵值小于或等于
,判定
是平稳信号。
(2)当
判定为异常信号时,重复第(1)步的过程 ,直至IMF分量
不是异常信号。
(3)经过多次分解获得
个IMF分量之后,得出剩余信号
,其表达式为:
(10)
(4)对
进行EMD分解,最后将所有IMF分量按频率从高到低排列。
MEEMD方法分解过程中涉及两个参数,添加白噪声的对数N和信号熵值判定标准
,一般地,N的取值在一百以内,
在[0.55,0.6]范围内取值更佳。因此,本文中N=50,
。
GRU神经网络
循环神经网络(Recurrent Neural Network, RNN)早在上世纪80-90年代被提出,随着人工神经网络的研究与发展,逐渐成为深度学习的算法之一,在自然语言处理、序列数据的预测等方向得到广泛应用。RNN和其他神经网络结构一样包含输入层、隐含层和输出层,其中,激活函数控制数据的输出,权值控制层与层之间的连接。RNN中的权值不仅存在于不同的层之间,还存在于同一层的不同神经元中间,神经元之间的数据信息既可以从输入层流向输出层,又可以再反向流回同层的神经元。因此,RNN有处理序列数据的优势。如图1所示,是一个三层 RNN 网络的展开结构。
门控循环结构(Gated Recurrent Unit,GRU)由Chung等人于2015年提出[10],它和长短期记忆单元[11](Long Short-Term Memory,LSTM)是循环神经网络的两个经典模块。它们能够避免“梯度消失”和“梯度爆炸”现象,比RNN更适合处理长时间序列问题[12]。和LSTM相比,GRU具有更加简单的算法结构,可减少训练参数,提升运行速度。GRU包括两个门控:更新门和重置门。更新门决定前一时刻的信息被带入到当前时刻中的程度,重置门决定前一时刻信息被写入到当前时刻候选集的程度。具体结构如下图所示:
其中,
分别表示更新门的输出,
表示重置门的输出。先将当前时刻信息输入信息
和前一时刻输入信息
放入重置门,把部分t-1时刻的状态信息写入t时刻的中间状态。将
和
放入更新门,更新部分t-1时刻的状态信息。运用激活函数tanh,将
和
生成一个中间状态信息
。再通过对
和
的舍弃和选取,产生当前t时刻的状态信息
。用sigmoid函数激活
得到GRU结构的输出信号。GRU的更新状态公式如下所示:
(11)
(12)
(13)
(14)
(15)
(16)
其中,
、
、
分别表示重置门、更新门和中间状态的权重,
、
、
分别表示重置门、更新门和中间状态的偏置项,
表示sigmoid函数。
仿真实验
数据来源
本文选择美国加利福尼亚运输部的性能测量系统(Caltrans Performance Measurement System ,PeMs)数据库作为交通流量数据来源。PeMs包含美国加利福尼亚州约4万个检测器采集到的高速公路实时交通流信息,这些检测器广泛遍布整个州域,集中设置在临近各个城市中心、交通密集的地点,以每30 s采集一次的频率发送实时交通流信息,系统再以5min的时间周期进行抽样,形成道路交通流数据集,从每天00:00具有良好的周期性和时序性;每条交通流数据包含车流量(Flow)、占有率(Occupancy)、速度(Speed)、采集时间(Collection Time)、检测器编号(Point ID)、路段编号(Section ID)等交通信息,便于做局部道路交通流预测研究。
这里选取标号为I10-E的高速公路上9个连续微波检测器的交通流量数据作为交通流预测研究的数据集,按照从道路上游到下游的顺序检测器编号依次为VDS717367、VDS717369、VDS717373、VDS717376、VDS717379、VDS717381、VDS717383、VDS717387、VDS718130,数据的时间跨度为2018年6月1日到2018年8月31日,共约238,464条数据。
建立基于时空特性的MEEMD-GRU预测模型
结合MEEMD算法对非线性、非平稳时序信号分解处理的优势和GRU神经网络对长时间序列学习和预测的优势,提出了基于时空相关性的MEEMD-GRU模型对交通流数据进行预测。该算法既体现了单个检测点交通流数据在时序上受自身历史数据特性影响的时间相关性,又体现了不同检测点之间交通流数据在空间上受道路上下游地理位置影响的空间相关性。
基于时空特性的MEEMD-GRU算法原理如图3所示,该算法先对多个检测器的原始信号分别进行MEEMD方法分解,将不同检测器的同一级IMF分量组合成新向量,该组合向量同时具有时间尺度和空间特性。将组合向量输入到GRU神经网络结构进行训练,通过调整参数得出最佳训练网络结构。然后对每一个组合向量进行预测,最终得到某一未来时间段内不同检测器同一级IMF分量的预测结果。再分别将同一检测器的每级IMF分量相加,即可得到所有检测器未来时间段内的交通流预测结果。
MEEMD-GRU算法的具体流程是:
(1)先将M个检测点对应的交通流数据分别进行MEEMD处理,假设每个检测点的交通流数据经过MEEMD分解都得到N个IMF分量,那么MEEMD分解结果是一个
的矩阵,即
。其中,
表示第i个检测点的交通流数据经过经验模态分解之后得到的第j个IMF分量;
(2)将上述
矩阵的列向量记作
,
表示M个检测点经过EMD分解得到的第j个IMF分量的组合向量。该组合向量具有时空特性,不仅包含M个不同位置检测点交通流数据对应的空间特性,并且具有各个检测点第j个IMF分量的时间尺度特性。将N个
分别输入N个不同的GRU网络进行训练,挖掘时间序列的特征关系,并输出预测结果
。
表示通过GRU网络对M个检测点的第j级IMF分量组合进行预测的结果。
(3)将上述预测结果恢复成
矩阵
,那么,该矩阵第i行向量的IMF之和即为第i个检测点通过EMD-GRU模型预测得到的未来时刻交通流数据。
实验环境
仿真实验使用的软硬件平台如下表所示:
表1 软硬件实验平台参数
Table 1 Parameters of software and hardware platform
软件 |
版本 |
硬件 |
参数 |
深度学习框架 |
Keras 2.0 |
CPU |
i5-9300H |
Python版本 |
Anaconda 5.1 |
CPU频率 |
2.20GHZ |
操作系统 |
Windows 10 |
内存RAM |
8GB |
算法评价指标
为了客观比较不同算法的准确性,本文采用均方根误差(Root Mean Squared Error,RMSE)和平均绝对误差 (Mean Absolute Error ,MAE)两个指标来评价算法预测性能的优劣。RMSE和MAE能够有效反映预测误差的真实情况,并且其数值越小说明预测误差越小,算法的准确性越高。
(17)
(18)
其中,m表示样本个数,
表示预测值,
表示真实值。
结果分析
为了判断基于时空特性的MEEMD-GRU算法预测的准确性,本文使用了9种算法进行对比,分别为SVR算法、BP 神经网络、RNN、LSTM、GRU、时空EMD-LSTM模型、时空EMD-GRU模型、时空MEEMD-LSTM模型、时空MEEMD-GRU模型。这9种算法的参数设置分别为:
SVR算法:选择非线性指数类型的径向基函数作为核函数,核函数参数设置 c = 1,gamma = 0.01。
BP 神经网络:单隐含层数为1,隐含层单元数为 100,输出层单元数为 1,初始学习率为0.001,激活函数为 relu、线性函数为sigmoid,优化算法为Adam,迭代次数为200。
RNN、LSTM、GRU:网络层数为1,隐含层的单元数为100,输出层的单元数为1,初始学习速率为0.001,激活函数为relu、线性函数为linear,优化算法为Adam,迭代次数为200。
EMD和MEEMD分解得到的IMF分量个数不同,但为了简化算法模型的构造,统一取8个IMF分量输入循环神经网络进行训练预测。所以,时空EMD-LSTM模型、时空EMD-GRU模型、时空MEEMD-LSTM模型、时空MEEMD-GRU模型的需要8个单层神经网络;隐含层单元个数分别为[70,100,60, 200, 50,30,30,70],L2正则化方法的系数大小分别为[0.0001, 0.000001, 0.0,0.0, 0.0,0.0001,0.0001,0.0001],输出层的单元数为1,初始学习速率为0.001,激活函数为relu、线性函数为linear,优化算法为Adam,迭代次数为200。为了提高训练效率,设置了提前停止。
运用上述9种算法对检测器VDS717376的交通流数据进行预测,得到的误差指标如表2所示。通过对比分析可知,基于时空特性的MEEMD-GRU模型具有较小的RMSE、MAE,相对于其他几种算法准确性更高。
在不考虑交通流空间特性的几种算法中, LSTM、GRU算法的误差更小,说明这两种循环神经网络在处理和预测交通流时序信号时,比SVR算法和BP 神经网络更具优势;并且,由于它们增添了门控结构,能有效改善“梯度消失”等问题,所以预测误差指标明显小于RNN算法。
对比表2种时空EMD-LSTM模型和LSTM算法、时空EMD-GRU模型和GRU算法的误差性能指标,RMSE数值减少了3.8左右,MAE数值减少了2.5左右。由此可见,考虑交通流的空间特性和EMD处理数据获取具有时间尺度的信号分量,能够减小短时交通流预测误差,提高准确性。
表2 各种预测算法的误差分析
Table 2 Error analysis of various prediction algorithms
算法 |
RMSE |
MAE |
SVR |
24.245 |
19.056 |
BP |
22.051 |
18.573 |
RNN |
24.378 |
21.041 |
LSTM |
19.343 |
14.449 |
GRU |
20.718 |
14.324 |
时空EMD-LSTM |
15.525 |
11.527 |
时空EMD-GRU |
15.525 |
11.831 |
时空MEEMD-LSTM |
12.796 |
10.825 |
时空MEEMD-GRU |
12.281 |
10.905 |
对比表2中时空MEEMD-LSTM和EMD-LSTM模型、时空MEEMD-GRU和EMD-GRU模型的误差性能指标,RMSE数值减少了3.0左右,约20.8%,MAE数值减少了0.7左右,约7.8%。由此可见,MEEMD算法进一步提高了交通流预测的准确性。这是因为对原始数据添加均值为0的白噪声和排列熵检测方法,改善了模态混叠现象,使分解信号更加真实有效。
时空MEEMD-GRU和EMD-GRU模型对检测器VDS717376的交通流预测效果如图4、图5 所示。图4中预测曲线与实际曲线的拟合效果较差,大部分预测值比实际值偏大,部极值点的预测偏差较大。与图4相比,图5中预测曲线与实际曲线的拟合效果明显得到了改善,局部极值点处的拟合效果更好,但是小部分波动剧烈的极值点的预测效果欠佳。
对比表2中时空EMD-LSTM和EMD-GRU模型、时空MEEMD-LSTM和MEEMD-GRU模型的误差性能指标,可知RMSE、 MAE数值变化很小。为了进一步验证GRU和LSTM结构对交通流预测的效果,下面对时空模型预测得到的9个检测器交通流数据的误差性能指标进行分析。
比较EMD-LSTM和EMD-GRU算法模型的预测效果。如图6(a)所示,对于第2个检测器,EMD-LSTM算法的RMSE更小一点,预测效果更佳;对于第3、4、7个检测器,两种算法的RMSE几乎相等,预测效果接近;对于第1、5、6、8、9个检测器,EMD-GRU算法的RMSE明显小于EMD-LSTM算法的RMSE,预测效果明显更好。如图6(b)所示,对于第2个检测器,EMD-LSTM算法的MAE更小一点,预测效果更佳;对于第3、4、6、7个检测器,两种算法的MAE差别很小,预测效果接近;对于第1、5、8、9个检测器,EMD-GRU算法的MAE明显小于EMD-LSTM算法的RMSE,预测效果明显更好。所以,EMD-GRU算法的预测准确率更高。
对较MEEMD-LSTM和MEEMD-GRU算法模型的预测效果。如图7(a)所示,对于第3个检测器,MEEMD-LSTM算法的RMSE更小一点,预测效果更佳;对于第2、4、5个检测器,两种算法的RMSE几乎相等,预测效果接近;对于第1、6、8、9个检测器,MEEMD-GRU算法的RMSE明显小于MEEMD-LSTM算法的RMSE,预测效果明显更好。如图7(a)所示,对于第2个检测器,MEEMD-LSTM算法的MAE更小一点,预测效果更佳;对于第3、4、6、7个检测器,两种算法的MAE几乎相等,预测效果接近;对于第1、5、8、9个检测器,MEEMD-GRU算法的MAE明显小于MEEMD-LSTM算法的RMSE,预测效果明显更好。综上所述,MEEMD-GRU算法的预测准确率更高。
4 结束语
本文提出了一种基于时空特性的MEEMD-GRU组合算法模型对交通流进行预测,通过实验对比分析得出该算法具有良好的预测效果。基于时空特性的EMD-GRU模型具有优于SVR、BP神经网络RNN、LSTM、GRU的预测性能。在此基础上, MEEMD-GRU模型预测性能进一步提升,其中,误差性能指标RMSE减少了20.8%,MAE减少了7.8%。并且,综合对比多个检测器数据的预测效果得出时空MEEMD-GRU算法比比时空MEEMD-LSTM算法的预测效果更佳。