凤少伟,凤 超,申 浩
(1.长安大学 信息工程学院,陕西 西安 710064;2.新疆理工学院 机电工程系,新疆 阿克苏 843100)
交通流预测是智能交通系统(ITS)不可或缺的组成部分[1]。特别是在城市交通干道,准确的交通流预测,能提供及时有效的未来路况信息,帮助司机和乘客躲避拥堵。因此,交通流预测已成为未来建设智能城市的基本方面之一[2]。
国内外众多学者在短时交通流预测领域做了很多相关研究,如张晓利等使用非参数回归方法开展了对实际道路的交通流预测[3]。运用时间序列预测的方法来对交通流量进行预测,是一个新的思路,Box等基于时间序列的深入分析研究,提出了一种全新的时序模型,即自回归滑动平均(ARIMA)[4]。解小平等首次将ELMAN神经网络应用于短时交通流预测的问题上[5]。
目前,短时交通流预测方法可基本分为三大类:第一类是基于数理统计模型的预测方法,例如ARIMA模型、卡尔曼滤波模型等,这些方法都是寻求一种准确的交通流数学模型进行预测。然而,由于交通流的随机性和非线性特征,难以建立固定的数学模型,而且这类方法无法摆脱随机干扰的影响,对于不同路况、不同天气、不同日期的预测结果的误差难以接受[6-8];第二类是智能交通流预测方法,如非参数回归模型、支持向量机模型、神经网络模型等,这类方法的适应性较强,可以应对诸多随机因素的干扰[9-11];为了提高预测精度,出现了前两类方法组合预测的第三类组合模型,如采用卡尔曼滤波模型与SVM相结合的方法,期望两种方法互补,最终得到更高的预测准确度[12]。
近年来,随着人工智能的逐步成熟,深度学习已广泛应用于语音识别、自然语言处理、图像分类等方面[13-14]。已有学者将RNN(recurrent neural network)及其改良算法GRU网络应用于交通流预测领域,并取得了不错的预测结果,但是该方法的预测稳定性一般,对于不同天气、不同路况的道路交通流预测结果不尽如人意,而且预测精度还有待进一步提升[15-17]。文中从时间序列的角度出发,提出一种K-means聚类与GRU网络相结合的预测方法,首先利用K-means聚类算法建立交通流模式库,然后根据状态向量及数据相似性确定训练集,最后利用GRU神经网络预测短时交通流。
K-means算法是使用逐次迭代细化来产生最终的聚类结果。算法的输入是簇K和数据集的数量,数据集是每个数据点的功能集合,K的值是随机生成或者从数据集中任意选定,在如下两个步骤之间迭代:
(1)数据分配。
每个质心定义一个簇。在此步骤中,每个数据点分配到距其基于2范数的欧几里德距离最近的质心,如式(1)所示。如果ci是集合C中的一个质心集合,则数据集中的点x都将被分配给一个基于质心ci的类簇中。
(1)
其中,dist()是2范数下的欧几里德距离。
(2)质心更新。
在此步骤中,通过计算所有数据点的均值更新质心,如式(2)所示。
(2)
该算法不断对步骤1和步骤2进行迭代,直到没有数据点改变类簇,簇中每个数据点到质心距离的总和达到最小,或者达到最大迭代次数。
K-means聚类必须预先设定簇的个数K,选取适当的K值才能得到理想的聚类效果,对于后续交通流预测的准确度有直接影响。文中聚类对象是不同日期的交通流时间序列数据,则选用这些数据间的欧氏距离来度量各个时间簇之间的相似度,如式(3)所示。
(3)
其中,x1i、x2i分别表示两个类簇的第i个值。
在评价聚类效果的优劣时,文中利用类内距离和类间距离进行评估。类内距离是指同一类各模式样本点间的均方距离,类间距离是指每类中的数据点和其他类中数据均值的欧氏距离之和。类内距离、类间距离越小,聚类的效果越优异。
RNN神经网络,即循环神经网络,通过特点为环的连接实现存储神经元当前时刻输入与上一时刻输出间的联系。RNN神经网络结构如图1所示。
图1 RNN网络结构
RNN中隐藏层节点的输入,包括上一隐藏层的输出和前一时刻该层的输出两部分,这种环结构可以存储历史信息,更有利于时序建模。RNN网络中,每一时刻的输入,其输出又循环地在下一个时刻输入网络。理论上,网络当前输出决定于该时刻之前每一时刻的输出,但是,RNN网络只能记忆一定时长的信息,此外,循环神经网络还会出现梯度爆炸和梯度消失的问题。
门限循环单元(gated recurrent unit,GRU)神经网络,是基于RNN网络的优秀变体,它既克服了RNN的中长期依赖问题,而且结构简洁,训练时间和收敛速度更为优异。
GRU结构示意图如图2所示。
图2 GRU结构示意图
图2中的zt和rt分别表示更新门和重置门。zt决定前一时刻的状态信息传输到当前状态的多少,zt越大表明前一时刻的状态信息传入到当前状态越多。rt决定前一状态有多少信息被写入到当前的候选集ht上,rt越小,前一状态的信息被写入的越少。
单个门控单元在t时刻的计算过程如式(4)~式(8)所示。
rt=σ(ωr·[ht-1,xt])
(4)
zt=σ(ωz·[ht-1,xt])
(5)
(6)
(7)
yt=σ(ωo·ht)
(8)
GRU网络可以有效学习时间序列的特征,根据历史序列预测短时交通流,但是不同路况、不同天气、不同日期等因素对交通流时间序列分布影响很大。例如,由于假期旅游出行的人数激增,此时道路交通模式与工作日截然不同。因此,文中首先通过聚类分析建立多类交通流模式库,然后根据交通流数据选择交通流模式,最后利用GRU网络进行交通流预测。
基于聚类与GRU网络的短时交通流预测架构如图3所示。
依据图3架构,文中预测短时交通流的具体流程如下:
(1)利用K-means聚类方法建立交通流预测模式库。交通流模式库的构建对GRU预测结果的准确度及效率有显著影响。模式库所包含的种类需适当,既要涵盖该条道路交通流的所有状态,又不存在过多的冗余数据。文中将以天为单位的交通流数据作为聚类对象,把历史数据划分为多类,并分别建立模式库。如此,可以区分所研究道路不同日期的交通流模式。
图3 基于聚类与GRU网络的短时交通流预测架构
(2)定义状态向量及数据相似性判别。选择所研究路段的前24个时刻的交通流时间序列作为状态向量,选择欧氏距离来衡量数据相似性的指标。
(3)确定用于训练的样本数据。计算待预测时间段前24个时刻的实时交通流数据序列与模式库中各类时间序列的相似性,选择欧氏距离最小,即相似性最大的库作为样本数据库。
(4)利用GRU神经网络预测选定时段的交通流量。首先利用步骤(3)中选出的样本库作为训练集训练GRU网络,然后将待预测时间段的前N个数据序列输入训练好的GRU网络中得到预测结果,并与真实交通流序列进行对比。
为了验证文中提出的基于聚类与GRU网络相结合的交通流预测效果,选取美国加州Performance Measurement System(PeMS)数据为研究对象进行预测分析,并将预测结果与传统预测方法进行对比分析。PeMS数据集在加利福尼亚全州范围内部署了超过15 000个传感器,文中随机选择PeMS路网中任意一个检测站的交通流进行试验,该数据集位于美国奥克兰的Alameda,原始数据每30秒收集一次,根据以往的研究,5分钟的交通流量更适合该预测。虽然随机选择的数据集存在缺失数据,但仅占整个数据集的小部分,因此使用历史平均值来估算缺失的数据点进行数据填充。文中均是基于填补以后的数据集进行的实验。
选取2016年1月4日到2016年3月30日的交通流数据,对其进行聚类并构建交通流模式库。从交通流的实际特征以及预测的目的出发,K值不宜取得过大。文中分别对K取3、4、5三个数值进行K-means聚类分析,并且利用轮廓系数Si作为评价K值选取优劣的标准。轮廓系数结合了聚类的凝聚度和分离度,用于评估聚类的效果,该值处于-1~1之间,轮廓系数值越大,表示聚类效果越好,如式(9)和式(10)所示。
(9)
(10)
其中,si表示i向量的轮廓系数,ai表示向量i到同一簇内其他点不相似程度的平均值,bi表示向量i到其他簇的平均不相似程度的最小值,Si表示该聚类结果总的轮廓系数。文中所选不同K值下的交通流量聚类轮廓系数如图4所示。
图4 不同K值的轮廓系数
观察图4可知,当K=3时,轮廓系数最大,因此将这81天的交通流分为3类模式,如图5所示。
(a)第一类交通流模式
(b)第二类交通流模式
(c)第三类交通流模式图5 3类交通流量模式图
通过比较2016年3月31日前24个时间点的交通流量与图5所示的3类交通流模式的欧氏距离,得到其与第2类流量模式最为接近,因此,选定第二类交通流模式中所有天数的数据作为GRU网络的训练集,以2016年3月31日的数据作为测试数据。
均方根误差(root mean square error,RMSE)、平均绝对百分比误差(mean absolute percent error,MAPE)及R2_Score是评价预测效果的3个重要指标。其中,RMSE、MAPE评估预测结果的误差,其值越小表明预测结果越准确;R2_Score评估预测模型的拟合优度,其值越接近于1表明该模型的拟合效果越好。其具体定义分别如式(11)~式(13)所示。
(11)
(12)
(13)
运用K-means与GRU网络结合的方法进行预测,其预测值与真实值的对比结果如图6所示,其中,实线表示s183-E检测站2016年3月31日的实际流量,虚线表示使用文中方法得到的预测流量值。
图6 预测值与真实值对比
观察图6可知,使用文中方法对交通流预测的结果与实际流量吻合度很高,证明基于K-means与GRU网络的交通流预测方法具有可行性。
为了评价基于K-means与GRU网络的交通流预测方法的准确性和有效性,与传统GRU模型、SAEs模型的预测结果进行对比,结果如图7所示。其中,实线表示真实流量,点状虚线表示K-means-GRU方法的预测流量,虚线表示传统GRU网络的预测流量,+形实线表示SAEs模型的预测流量。
图7 K-means-GRU与传统GRU、SAEs网络的预测对比
观察图7可知,与传统GRU网络和SAEs相比,基于K-means与GRU网络相结合的交通流预测方法在流量波动的细节上与实际情况更为相符。
利用评价指标分别计算K-means-GRU、GRU与SAEs三种预测模型的RMSE、MAPE、R2_Score,如表1所示。
表1 K-means-GRU、GRU、SAEs模型的RMSE、MAPE、R2_Score
由表1可知,与GRU网络相比,文中提出的K-means聚类与GRU神经网络结合的交通流预测方法的RMSE降低了2.280 1,MAPE降低了2.54%,R2_Score的值更趋向于1,表明该方法对于交通流的预测拟合优度较好;与SAEs方法相比,预测误差也更小。综上所述,K-means聚类与GRU神经网络结合的交通流预测方法可以更为准确、有效地预测交通流。
由于天气、节假日、大型事件等因素的影响,使得不同日期的交通流有着不同的规律,神经网络研究交通流分布特性时,笼统地将过去的时间序列作为训练集来训练网络,没有深入地考虑交通流的现实特点。文中提出基于K-means聚类与GRU神经网络相结合的方法,充分考虑了交通流的实际分布特性,通过K-means方法建立模式库,利用状态向量及数据相似性确定与历史相似性更高的数据作为训练集,有效地降低了预测结果的RMSE和MAE值,是一种性能更好的预测方法。