基于CNN-ARIMA的交通路口短周期交通车流量预测方法
2023-12-13包文华刘海瑞王成栋
包文华,刘海瑞,方 圆,王成栋
基于CNN-ARIMA的交通路口短周期交通车流量预测方法
包文华,刘海瑞,方 圆,王成栋*
(安徽信息工程学院,安徽 芜湖 241000)
针对现有预测模型在智慧交通车流量预测过程中准确度较低、数据不平稳的问题,文章提出了一种基于卷积神经网络(CNN)和时间序列预测模型自回归差分移动平均(ARIMA)相结合的短周期交通车流量预测方法。文章以芜湖市汪溪路路口一周内的历史车流量数据为样本去预测下一时间周期的交通车流量,将得到的数据经过归一化处理后模拟仿真实验,仿真结果表明,该方案能够运用于交通管控中,且能有效保持较高精确率而不受数据集大小的影响,其预测结果可以为车辆拥堵问题提供较好的提前应对方案。
智慧交通;交通路口;短周期;交通车流量;CNN-ARIMA;预测方法
随着社会科技水平的不断发展,人们对于出行的需求也相应增多。家用车总数的持续增加和道路交通网的复杂化改进,导致城市交通拥堵问题日益严重。为了解决交通拥堵问题,很多地方实施了智能交通系统[1]。近年来,人工智能技术被应用在各行各业,许多学者也将其运用在智能交通领域。文献[2]主要从车辆检测的速度和精度方面进行改进,从实验结果看改进的算法具有良好的性能;文献[3]分别从前车检测精度、遮挡前车检测,以及车检测速度三个方面进行了问题的探究及对应Faster基于卷积神经网络(Region- Convolutional Neural Networks, R-CNN)算法(用于对象检测的深度神经网络架构)的优化,实验结果证明,在恰当的数量及参数选择下,优化算法对前车的检测有了较大的提升;文献[4]提出了一种基于改进的Faster R-CNN模型的车辆检测算法,实验结果表明,该模型有效解决了漏检和误检问题。
但上述文献所提出的算法只是检测出车辆或者车辆个数,并没有对车流量进行预测,而预测车流量可以为出行者提供合理的建议,才是目前解决车辆拥堵问题的关键[5]。故文献[6]提出对特征提取视觉几何群网络(Visual Geometry Group Network, VGG16)生成的特征层进行处理,通过加入反卷积操作将所得到的特征信息进行分层预测,提出并实现利用注意力机制对Faster R-CNN算法做进一步改进;文献[7]基于查分自回归移动平均(Auto Regressive Integrated Moving Average, ARIMA)算法提出了一种改进型的短时车流量预测模型将短时车流量数据划分为对应的数据集组,再由每个数据集组预测下一个时间周期的车流量,仿真结果验证了模型的准确性;文献[8]提出了在ARIMA算法基础上用矩估计法进行参数初估计,用最小二乘法进行参数精估计,用贝叶斯信息准则(Bayesian Information Criterion, BIC)为模型定阶,实验结果表明,在时变性强的短时交通流量预测时有一定的准确性。
但上述方案在车流量预测算法中处理大量数据集时,仍存在检测准确率较低和算法性能不稳定的问题。为解决以上研究存在的问题,本文提出了一种基于CNN和ARIMA相结合的短周期交通车流量预测方法,将获取的车流量数据划分为训练集和测试集,构建训练模型并对模型优化,从而提高测试集的预测准确率。仿真实验结果验证了该模型在预测车流量方面具有较好的普适性和鲁棒性,其预测结果可以为出行者提供交通路线规划,以此解决交通拥堵问题。
1 基于CNN-ARIMA的车流量预测
本文中所提出的基于CNN-ARIMA相结合的短周期交通车流量预测方案,预测过程包括获取数据集、数据处理、构建训练模型以及实验结果分析。首先介绍获取数据集,以芜湖市汪溪路十字路口为场景,如图1所示。收集一周内通过的车流量,用收集到的历史车流量数据去预测未来一周内可能通行的车辆总数,将得到的数据用于交通管控中。
图1 交通路口场景图
1.1 数据集来源
由于开源数据集(如Tsinghua traffic)中场景较为单一,包含图像类别不足,不足以证明预测结果的准确性。故本文选取芜湖市汪溪路路口的车流量为数据集,连续7天为一个时间周期序列,采集时间段为9:00-18:00,每间隔30 min统计一次车流量。通过使用当前周期的车流量数据去预测下一周期时间节点的车流量,预测过程可以进行Z-Scores归一化处理,经过处理后的车流量数据在不同周期的相同时间节点会存在关联性。
1.2 CNN算法
在传统的模型训练方法中,视频监控采集的图像需要处理的数据量太大,同时图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率不理想。故本文先采用基于CNN模型来处理,采用不同结构和数值的卷积核,提取更精确的数据特征。模型由3层卷积层和3层池化层构成,使用线性整流函数(Rectified Linear Unit, ReLU)作为激活函数。在每个隐藏层,卷积核的大小为6×6,卷积运算步长为2。卷积运算公式用矩阵乘法来表示:
式中,y为当前值;为常数项;为阶数;y-为自相关系数;ε为误差。
把卷积核展开后进行按序排列,再遍历所有的通道,最后将矩阵中对应的行列数据点乘。CNN对数据处理需要以下几个步骤:
步骤1:数据准备。收集车流量数据,并将其划分为训练集和测试集;
步骤2:数据预处理。对数据进行必要的处理,例如去噪、归一化、缺失值填充等;
步骤3:特征提取。对每个数据样本提取特征,例如天气、时间、交通拥堵情况等,可以使用CNN自动提取特征;
步骤4:构建CNN模型。使用开源神经网络库(Keras)深度学习框架构建CNN模型,包括卷积层、池化层、全连接层等;
步骤5:训练模型。使用训练集进行模型训练,并在验证集上调整模型参数,避免过拟合;
步骤6:模型评估。使用测试集评估模型的预测效果,本文设置了均方根误差(Root Mean Square Error, RMSE)、平均绝对误差(Mean Absolute Error, MAE)、平均绝对百分比误差(Mean Absolute Percentage Error, MAPE)三个指标;
步骤7:模型优化。根据评估结果对模型进行优化,例如调整网络结构、改变损失函数、增加正则化等;
步骤8:预测车流量。使用训练好的CNN卷积网络模型对新的车流量数据进行预测。
1.3 ARIMA算法
ARIMA是一种自回归差分移动平均模型,广泛应用于单变量时间序列数据预测。时间序列就是在时间变化过程中增量不变的条件下,记录不同时刻下经过路口车辆数量的集合,通过对多组历史值的分析来预测未来的发展趋势,即下一周期各时间节点通过路口的车流量。ARIMA(,,)模型有3个参数,表示经过次差分后是平稳的ARIMA(,)过程,其中阶自回归过程的计算如式(1)所示。
现在通过使用ARIMA时间序列对车流量数据进行预测,将时间节点的车流量设为变量,采用自回归模型预测与前期相关的现象,步骤依次为
步骤1:进行平稳性检验。观察时序图,或者单位根检测检验判断序列是否平稳。如果平稳直接使用ARMA模型去拟合;如果不平稳但是通过次差分后是一个平稳过程,则使用ARIMA模型拟合。
步骤2:人工和阶数的确定。ARIMA模型要求残差之间不存在自相关性,因此,本文将自相关性系数大于0.1作为判定界限,如若满足则是白噪声,反之则不是。当得到平稳时间序列之后,要对其求得自相关系数自相关函数(Auto Correlation Function, ACF),通过对自相关图得到最佳的阶层和阶数。
步骤3:模型评价。针对芜湖市汪溪路路口的交通车流量数据集,通过结合最小化信息量准则(Akaike Information Criterion, AIC)和BIC构建更简单的预测模型。与其他时间序列预测模型进行对比,从而找到最优模型,其计算公式为
式中,AI为AIC值;BI为BIC值;为模型参数个数;为样本数量;为似然函数。在保证模型精度的情况下尽量使得值越小越好。
步骤4:模型预测结果。通过ARIMA时间序列预测模型对芜湖市汪溪路路口一段周期内交通车流量数据进行分析,预测出下一段时间周期交通车流量的变化趋势。通过对预测结果进行分析,找出一种在短周期时间序列中较为平稳的变化趋势。如果没有找到最优解,则返回式(2)和式(3)重新计算,直至找到最优的模型。
1.4 CNN-ARIMA的车流量预测方法
传统策略对于交通车流量的预测往往会受到上下班高峰期、意外拥堵、天气等多种因素的影响。因此,使用传统的策略进行预测可能无法达到较好效果。在现有的成果中,大部分方式都是通过对历史车流量数据进行分析来预测下一阶段的车流量。虽然理论上是可行的,但在实际情境中,往往会出现因为某阶段内车流量的急剧变化而干扰下一阶段车流量的预测情况。为了避免该现象的出现,本文通过收集历史周期车流量数据,计算每个时间节点的特征值,将得到的结果进行线性分析之后取其平均值,使用式(4)预测下一阶段各时间点的车流量。这种方式可以较好地应对车流量因外部因素的影响所造成的准确率误差,即
式中,为一种线性回归系数,该系数值与预测精确率密切相关;α随值变化,为每个时间节点的车流量数据值。为了提高结果的精确率,本文提出了一种基于CNN-ARIMA的方法来预测值,从而得到式(4)的预测值,步骤依次为
步骤1:每一时间节点获取一次历史车流量数据,将该样本数据记录之后按照时间顺序进行排序,对样本数据采用随机抽样法进行处理和分析,用最后的实验结果预测下一周期各时间节点的车流量。
步骤2:将处理后的数据采用式(5)进行Z- Scores归一化处理,再将所有实验数据划分为训练集和测试集,训练集和测试集比例设为8:2,表示为
步骤3:将训练集和测试集用于训练CNN的卷积神经网络,起初设定一个预期值,记录每轮训练得到的实验结果,将数据结果进行对比。采用随机梯度下降算法迭代参数,减小测试误差,同时设定迭代次数阈值,避免因迭代次数过多导致实验结果出现过拟合或者欠拟合的情况。
图2 预测过程图
步骤4:对最终得到的实验结果进行分析计算,若预测结果不理想则重复训练步骤3,直至获取全局最优解的参数。具体预测流程如图2所示。
2 实验结果与分析
为了验证本文提出的CNN-ARIMA算法预测车流量的效果,对采集的车流量数据集上进行了仿真实验。仿真实验环境使用操作系统为Win- dows 10;CPU酷睿i9 NVIDIA GeForce GTX 450;运行内存为16 GB;硬盘为512 GB;深度学习框架为Tensorflow2.6;初始学习率为0.005;batch_ size设为150,后续会更改其大小;设阈值为500。同时使用长短期记忆网络(Long Short Term Mem- ory, LSTM)与移动平均模型(Moving Average, MA)作为对比算法,以评估本文所提出算法在不同指标下的性能。
2.1 预测性能指标
为了验证本文所述算法以及其他两种算法的效果,采用RMSE、MAE、MAPE三个指标来对算法模型进行评价,计算公式为
2.2 预测结果分析
为了对本文提出的算法进行评估,CNN- ARIMA、LSTM、MA三种算法的结果如图3所示。横坐标表示训练的车流量总数,将其划分为六段,样本数为500~1 000个,间隔值为100。纵坐标表示模型预测的准确度。由图3可知,本文算法的最高预测准确度为93%,最低预测准确度为89%,均高于LSTM和MA算法,这说明本文算法具有一定可行性。
图3 预测结果图
当车流量在500~600时,三种算法的预测准确度都较高,均处于90%以上,当车流量为600~800时,随着车辆样本数的增加,CNN-ARIMA和LSTM算法的预测准确度有所下降,但下降趋势较缓,而MA算法的下降速度较快,预测准确度低于90%。因为MA算法性能较前两种算法相比不太稳定,当处理的数据集过大,容易出现过拟合,从而导致算法准确率下降较快。当训练车流量在800~1 000时,LSTM和MA算法的预测准确度迅速下降,而本文所提出的CNN-ARIMA算法仍保持缓慢下降,且预测准确度超过85%。这说明本文所提出的算法能有效保持较高精确率而不受数据集大小的影响。本文三种算法的RMSE、MAE和MAPE的对比结果,如表1所示。提出的CNN-ARIMA算法RMSE、MAE和MAPE分别为9.71%、7.16%、17.42%。相比于另外两种算法具有较好的效果,这也充分证明了本文算法的可行性。
表1 算法结果分析表
3 结论
本文提出了一种基于CNN和ARIMA相结合的短周期交通车流量预测方法,所提出的算法在Tensorflow框架上进行实现,通过对车流量数据集的训练参数进行迭代,提高了预测结果的准确度,仿真实验表明,本文的算法可以不受数据集的大小影响而保持较高的预测准确度,其预测结果可以为车辆拥堵问题提供较好的提前应对方案。在后续的研究中需要增加更大复杂化的车流量数据集,以期达到对整个城市路网的车流量进行预测。
[1] 李瑞敏,王长君.智能交通管理系统发展趋势[J].清华大学学报(自然科学版),2022(3):509-515.
[2] 王剑.城市街景影像中行人车辆检测实现[D].北京:北京建筑大学,2020.
[3] 崔国臣.基于Faster R-CNN的前方道路车辆检测优化算法研究[D].青岛:山东科技大学,2020.
[4] 魏子洋,赵志宏,赵敬娇.改进Faster R-CNN算法及其在车辆检测中的应用[J].应用科学学报,2020,38(3): 377-387.
[5] 胡杰,龚永胜,蔡世杰,等.基于多源数据的车流量时空预测方法[J].汽车工程,2021,43(11):1662-1672.
[6] 陈帅男.基于改进的卷积神经网络目标检测算法研究[D].大庆:东北石油大学,2021.
[7] 杨东龙.基于ARIMA模型的区间道路短时车流量预测研究[J].电子设计工程,2021,29(13):38-42.
[8] 张利,李星毅,施化吉.基于ARIMA模型的短时交通流量预测算法研究[J].郑州轻工业学院学报(自然科学版),2008,23(4):89-92.
Short Cycle Traffic Vehicle Flow Prediction Method for Traffic Intersections Based on CNN-ARIMA
BAO Wenhua, LIU Hairui, FANG Yuan, WANG Chengdong*
( Anhui Institute of Information Technology, Wuhu 241000, China )
Aiming at the problems of low accuracy and unstable data of existing prediction models in the process of intelligent traffic vehicle flow prediction, this paper proposes a short-period traffic flow prediction method based on the combination of convolutional neural network (CNN) andtime series prediction model auto regressive integrated moving average(ARIMA). In this paper, the historical traffic flow data of Wangxi road intersection in Wuhu city within a week is taken as the sample to predict the traffic vehicleflow in the next time period, and the obtained data are normalized and simulated. The simulation results show that the scheme can be applied to traffic control, and the scheme can effectively maintain a high accuracy without being affected by the size of the data set, and the prediction results can provide a better solution to the problem of vehicle congestion in advance.
Intelligent transportation;Traffic intersections;Short cycle;Traffic vehicleflow predic- tion; CNN-ARIMA;Prediction method
U491.1+4
A
1671-7988(2023)22-178-05
10.16638/j.cnki.1671-7988.2023.022.035
包文华(2001-),男,研究方向为车联网智慧交通、大数据分析预测,E-mail:whbao1314@163.com。
王成栋(1991-),男,硕士,助教,研究方向为车联网智慧交通,E-mail:cdwang2@iflytek.com。
安徽高校自然科学研究一般项目资助、安徽信息工程学院青年科研基金项目资助(22QNJJKJ006);安徽信息工程学院国家级大学生创新创业训练计划项目(202213613007);安徽信息工程学院省级大学生创新创业训练计划项目(S202213613047)。