李磊
(惠州工程职业学院,广东 惠州 516023)
随着科学技术的发展以及物联网技术的出现,使得交通技术越来越信息化、智能化以及方便化。而此时智能交通系统的出现是一种更加高效、准确管理的信息系统,是目前以及未来交通领域发展的方向。智能交通的出现能够在减小交通道路运行压力的同时并把道路基础设施利用发挥到了最大;能够减少环境污染,特别是噪声以及汽车尾气等;在交通出行方面能够保障安全出行以及减少交通拥堵,提高智能交通运行效率。智能交通的出现符合当代的可持续发展,因此受到越来越多地区和城市的重视。智能交通能够减少交通拥堵提高交通运输效率主要是通过对当前以及未来的某一时间段内短时车流量进行预测,通过预测能够帮助出行的人,减少在道路上的等待的时间。
当前车流量的预测主要是通过历史车流量数据来对未来车流量进行预测。根据预测时间段长短,可以把车流量预测分为长时车流量预测、中时车流量预测以及短时车流量预测。其中,短时车流量预测时间通常不超过15 分钟,在目前智能交通车流量预测方面应用比较广泛。短时车流量预测可以帮助人们在出行时避开某一段拥堵的道路或者是在高峰期出现时可以选择错开此时段出行。而智能交通车流量预测作为主要环节,能够随时随地动态的预测,为人们出行节省更多时间。同时,智能交通还可以帮助交通相关部门及时对道路交通车流量监控以及调度,缓解交通道路日益拥堵,保障人们便利出行,减少不利因素,因此具有更大的研究意义。
目前,随着人工智能技术日渐成熟,以及在各行各业中对人工智能技术的应用,使得机器学习和深度学习也得了更多学者的研究,并且已经进入了智能交通车流量预测方面。在机器学习和深度学习在车流量预测方面也取得了不错的效果。但是,目前在短时车流量预测方面应用最多的还是基于传统的数理统计模型预测、组合模型预测以及人工智能神经网络模型预测。
而且使用神经网络算法在进行车流量的预测时,初始权值等参数的选取以及网络训练样本集的选择会影响网络梯度下降的收敛速度和梯度下降到最小训练误差的概率,这往往需要技术人员根据经验做出大量调参工作,因此单一的神经网络模型往往存在准确性不高的问题。对此,目前在短时车流量预测方面应用最多的有非参数回归、历史均值法以及近几年比较流行的神经网络算法等。在上述的算法中,神经网络算法由于模型结构具有灵活性、泛化能力强以及强大的学习广泛地被关注。在对车辆交通流进行预测时,此刻预测状态对前一时刻的交通流状态有很强的依赖性和一定的关联度,上一刻交通流状态有可能会导致下一刻的交通流状态发生很大变化。而传统的前反馈神经网络系统没有记忆功能,不能记忆前期历史输入的信息,因此在短时车辆交通流预测方面还是有一定难度。
在实际工作中运用神经网络算法对车流量进行预测时,由于初始参数设置与以及样本训练集的选取会导致网络梯度下降速度收敛的快慢以及梯度下降到最小训练误差的概率,不能很好地处理时间序列较长的车流量统计。为解决上述出现的问题,因此本文在循环神经网络(RNN)的基础上提出了一种基于集成长短期记忆(LongShort-Term Memory,LSTM)神经网络的短时车流量预测模型,LSTM 模型不仅克服了前馈神经网络的时间序列问题,而且该模型中存在遗忘门等相关记忆单元,能够较好地克服RNN 中存在的梯度消失和爆炸问题,且能够提高预测准确率。
又由于交通流的预测要充分考虑时空相关特性,因此在提出了一种基于KNN 和LSTM 组合的交通流预测方法。在预测过程中,先通过KNN 算法对预测目标区域道路进行分类和筛选,通过设置不用的阈值,筛选出与目标检测点距离较近的个检测点。将筛选出的个检测点数据作为LSTM 模型的输入数据进行预测,从预测结果中,取误差最小时对应的值结果相加,该计算结果可以作为最终车辆交通流的预测值。在预测过程中通过两种算法模型相结合,可以发挥各自模型的优点,同时,又弥补了各个模型的缺点,在交通流预测中提高预测效率以及准确性。
短时车流量交通流在预测时的基本流程为:通过检测装置(主要有GPS 定位、路测感应线圈)定位实时采集到车辆交通流数据,对采集到的数据进行预处理,预处理的过程主要是摒弃一些无用数据,对预处理后的数据集构建交通流数据库。当需要预测下一刻的车辆交通流时,需要根据当前车辆交通流状态和交通流数据历史数据库的数据进行匹配,从而可以实现下一刻交通流的预测。预测过程流程图如图1所示。
图1 短时交通流预测的基本流程
K-最近邻算法(KNN)是在1968年由Cover和Hart提出,是一种分类的算法。所谓K-最近邻法就是在样本采集过程中,每个样本都可以用个最接近的邻居来表示。在分类算法实施过程中基于实例的学习,数据集事先已经进行了分类和特征值的计算,当收到新的样本之后,可以直接来进行数据处理。目前,K-最近邻算法主要运用在数据挖掘分类中,也是最简单的一种方法。
在实际数据分析过程中,KNN 算法主要用在非参数回归模型中,在此模型的原理主要是基于非参数数据预测。在预测过程中,通过历史数据库中的数据与当前需要分类或预测的数据进行相似度的匹配,选取其中匹配度最高的个样本,通过样本选取,确定选取的个样本类型。如果个样本类型大多一致,就可以确定需要分类的样本也是属于历史数据库中的类别。KNN 算法原理可以用公式(1)表示:
上述公式中,表示为每个待测站点采集到的车流量样本特征向量,表示历史车流量数据集中样本类别,为常数,取值为1,2,3,…,。X表示为目标检测站点车流量预测值,Y表示第个检测站的交通流量。利用欧式距离公式(公式5)计算出采集到样本与中特征样本之间的欧式距离,通过距离大小,选择出待分类样本和中特征样本之间的相似度。通过相似度找出待分类样本最邻近的个点来决定预测数据的类别。
KNN 算法用于短时交通流预测的基本流程图如图2所示。在预测过程中通过历史车流量数据采集进行预处理,构建历史车流量数据库。通过利用KNN 算法对当前实时检测到的车流量数据和历史数据库数据进行比对筛选,经过预测算法的处理得到最终预测结果。
图2 KNN 算法用于短时车流量预测基本流程
LSTM(长短时记忆)模型是20世纪90年代基于RNN模型上提出的一种神经网络模型,该模型能够解决RNN 模型在预测时出现的梯度消失以及梯度爆炸现象,同时在处理数据序列上有着自己独特的优势,因此,被广泛地应用在车流量预测中。
LSTM 模型是在RNN 的模型基础之上增加了一些门的结构设置,通过门结构设置来控制信息。第一层门是遗忘门,该门的主要作用是筛选信息,筛选掉不重要的信息,保留所需的信息数据特征。第二层门是输入门,该门的作用是更新部分数据信息,以填补经过遗忘门筛选掉的信息。第三层门是输出门,该门的作用是对输入进来的数据信息进行处理,然后把处理完的数据进行输出。当要处理数据的步长过长时,LSTM 模型利用记忆块功能,此时,LSTM 会发生梯度消失的现象,能够更加准确地对数据进行预测。
假定车流量预测模型需要测量某一段区域道路,待测量的区域道路上有很多个相邻的上下游路段,把这些不同的路段设置成不同的检测点,假设该区域路段上共有O 个检测点,可把该区域道路上第天的车流量交通数据流对应矩阵定义为F。
在上述公式中,区域道路的第个检测点的第天的交通流用Z 表示;目标检测点第天的交通流量用Z 表示;示为第个检测点第天在时刻的交通流量用Z ()表;目标检测点第天在时刻的交通流量用Z ()表示;交通流检测数据序列中总的样本个数用表示。
为了使检测到的数据更精确,LSTM 模型把区域道路的每个检测点在连续天中检测的车流量数据作为测试数据,也即历史数据;把区域道路中所有待测道路连续天的车辆交通流数据用矩阵表示。
在预测过程中,通过对矩阵中交通流数据处理主要是通过KNN 算法对目标预测区域路段进行相关性筛选,通过欧式距离的计算以及KNN 算法相似性比较,设置不同的阈值,筛选出与目标预测区域相似度较高的个检测点对应的区域路段。然后,将筛选出的个区域路段数据值通过LSTM 模型进行预测,从而得到车流量交通流预测,最后将误差较小的结果作为最终的车流量预测值。
预测算法流程设计。KNN 算法和LSTM 模型的短时交通车流预测的具体过程主要实施如下:
(2)利用KNN 算法分别计算出第个检测点的车流量均值与目标检测点流量均值的欧式距离d:
(3)将得到区域道路中的O 个欧式距离d的值,按照递增的顺序进行一定排序。
(4)设=1,取与前个距离对应的检测点数据集,构造经过数据筛选后第天的交通流矩阵,定义为:
区域路段第天的车流量矩阵F,定义为:
(5)选取筛选后的路段矩阵F中的前-1 天的数据作为训练集,然后预测目标监测点的第天的车流量值:
其中表示预测模型,选用LSTM 模型。
(6)令=+1,依次循环步骤4 和步骤5,直到当>0 时,循环终止。
(7)选取值预测误差最小时,对应的预测车流量数据值,并将此数据值作为最终的车流量预测结果值。整个预测模型流程图如图3所示。
图3 基于KNN 与LSTM 的短时交通流预测计算流程图
本次实验的环境为windows10 64 位操作系统,CPU 为Intel(R)Core(TM)i7-10510U 处理器,内存为8 GB,Python 语言集成开发环境为Pycharm。使用惠州市惠州大道的车流量2021年10月1日至11月30日的数据构造样本集,并对所建立的基于LSTM 神经网络的短时车流量预测模型进行训练,然后将训练好的交通流数据集模型进行保存。对所采集的车流量数据序列输入到模型,然后对当天车流量进行滚动预测,得到24 小时车流量预测结果图和96 个序列(每15 分钟采集一次数据)。
为了更好地评价所设计的短时车流量预测系统的性能指标,本文主要从以下三个性能指标进行评价,分别是绝对平均百分比误差、均方根误差和准确率。三个性能指标的数学表达式分别为:
(1)MAPE 绝对平均百分比误差:
绝对平均百分比误差反映了预测的交通流量值y与交通流实际测量值y之间的偏离程度。
(2)RMSE 均方根误差:
RMSE 误差值的大小能够准确反映出使用预测方法预测误差的程度大小,RMSE 值越小说明预测结果越精确,通过RMSE 值的大小还可以反映出测得误差的离散程度。
(3)ACC 准确率:
准确率主要反应的是实际测得值和预测值之间差的绝对值与实际测得值之间的百分比。百分比越大反应预测模型越好。
在模型建立基础上,经过多次交通流预测实验,文中应用到的LSTM 模型主要层数分为四层,分别是一个输入层、两个隐藏层和一个输出层。按照图4所示的区域道路交通流数据进行预测,以前45 天数据为训练数据,站点惠州市惠州大道小金口市场在11月15日的交通流量预测值及真实值如图5所示,此时KNN 中的K 取值为5,在图中蓝色曲线代表实际值,棕色曲线代表预测值。通过预测值和实际值的对比,可以发现预测值和实际值基本上相吻合,能够较好地当前时间段车流量的变化特征,表明本文所提出的KNN 和LSTM 模型在实际短时车流量预测中具有一定的可行性和准确性。
图4 区域道路预测图
图5 预测值和实际值
为了评价KNN-LSTM 模型的预测性能,本文分别计算了预测结果的MAPE、RMSE 及ACC,并与LSTM 模型的预测结果进行对比,结果如表1所示。可以看出,提出的KNN-LSTM 模型具有最佳的预测性能,其预测准确率达到了93.05%。同样和未考虑空间相关性的LSTM 模型相比,其预测精度也提高了4.16%。表明本文所提出的基于时空相关的KNN-LSTM 模型具有良好的预测性能,是一种有效的短时交通流预测模型。
表1 预测性能对比
根据短时车流量交通流的时空特性以及RNN 算法的缺点,本文提出了一种基于KNN 和LSTM 相结合的短时车流量预测模型。通过对惠州市小金口市场路段的短时车流量预测,可以看出LSTM 模型既解决了RNN 模型的缺点,又有着记忆功能,对短时车流量预测结果起到了很好的作用。经过实验比对,本文提出的KNN-LSTM 模型预测结果准确率比LSTM 预测的准确率提高了4.16%,预测误差更小,预测结果更精确。