基于高速收费大数据的短时交通流量预测方法∗
2019-06-01刘艳丽赵卓峰丁维龙
刘艳丽 赵卓峰 丁维龙 徐 扬
(1.北方工业大学计算机学院 北京 100043)(2.大规模流数据集成与分析技术北京市重点实验室 北京 100043)(3.北京易华录信息技术股份有限公司 北京 100043)
1 引言
随着我国高速公路建设和运营业务的发展,对高速路网管理中的交通信息服务、交通诱导、交通管制以及交通拥堵缓解等提出了更高的要求,利用各类高速公路运行数据满足上述要求以促进路网运营管理和决策水平的提高就成为当前高速公路信息化建设的重点,而高速流量预测则是其中的一个主要研究内容。实时准确的高速流量预测是交通诱导的基础,对于有效缓解高速交通拥堵,缩短出行时间,降低车辆能耗和环境污染,提高高速公路通行能力与服务水平具有重要的意义。现如今高速公路收费站拥堵现象还较严重,采取有效的方法对收费站出入口交通流量进行预测,及时对收费站收费人员的窗口设置、车道的开放进行调控,提高路段的通行能力,是高速公路行业亟待解决的问题。收费站交通流量的有效预测,还可以为收费站车道的设计、收费广场长度的设计和电子不停车收费系统设施建设提供有力的决策支持,为整个高速公路系统提供运维保障。
现有的对高速公路交通流量的预测多是利用微波车检器的实测数据对某个断面或某个路段的预测,很少有对收费站出入口流量进行预测的研究。高速公路联网收费系统实时上传的收费数据蕴含着大量有价值的信息,每条收费记录都包括车辆出入口收费站、车辆出入口时间、车道类型、车辆类型、车牌号等相关信息。收费数据目前主要应用于收费额统计及车流量统计,其价值并没有充分挖掘。
利用海量的高速联网收费数据对高速公路收费站出入口交通流量进行短时预测目前存在两个主要问题:
1)高速联网收费数据是实时更新、动态增长的,其数据规模之大,对数据处理时效性提出更高的要求。
2)现有预测模型多是离线建模,不能很好地适应短时交通流变化的不确定性,且不能并行处理上百个站点的预测问题。
针对以上问题,本文基于高速公路联网收费系统的收费数据,利用大数据的技术手段,统计出每个收费站及全网的短时出入口车流量,并从模型识别和参数调整两方面对传统的ARIMA预测模型进行优化,利用车流量统计结果和改进的预测模型对多个收费站短时交通流量进行并行预测。
2 相关工作
基于实时数据分析的短时交通流预测,其研究受到广泛关注。迄今为止,已经有许多理论和方法应用于短时预测的研究。
历史趋势模型假定交通状况是周期性发生的,即交通流量在一个交通断面是以一天为周期重复出现的。该模型利用某路段在一定时间间隔内的旧的交通流量及最新观察到的交通流量,通过拟合平滑系数得到新的交通流量[1]。虽然该模型可以在一定程度内解决不同时间、不同时段里的交通流变化问题,但静态的预测不足取,因为它不能解决不确定、非线性和突发的交通状况时的交通流量预测问题,比如天气变化、事故等。
神经网络模型是有大量处理单元(神经元)广泛互连而成的网络,是对人脑的抽象、简化、模拟。该模型通过使用一部分数据来训练模型,即确定网络结构,用剩余部分数据进行预测。神经网络由于其自身特有的自适应和自学习优势,在实时交通流预测领域的应用很多。文献[2]提出将遗传算法的思想引入到粒子群算法中,建立了基于APSO-BP神经网络的短时交通流量预测模型。文献[3]提出一种基于改进粒子群算法优化BP神经网络的预测方法。但神经网络存在收敛速度慢、容易陷入局部最优解的问题,且训练过程复杂,需要大量样本数据进行网络训练。
灰色预测模型是一种对含有不确定因素的系统进行预测的模型。通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。文献[4]提出一种基于背景值改进的GM(1,1)短期交通流预测模型以及一个兼顾考虑上下游交通流量的MGM(1,n)短期交通流预测模型。灰色预测模型算法简单,所需数据少,运算时间短,但该模型更适用于中长期预测。
近年来国内外出现了一些基于组合模型的预测方法,目的是为了发挥各种预测方法各自的优点,克服各自的缺陷,以求得更加理想的预测效果。文献[5]提出一种基于小波变换、自回归积分滑动平均模型和人工神经网络的新型混合预测方法。文献[6]通过建立单一的GM(1,1)灰色系统理论对传统的BP神经网络模型进行改进。文献[7]针对十字路口的短时交通流量预测问题设计了基于交通流量序列分割和极限学习机组合模型的交通流量预测算法,该算法首先采用K-means对交通流量数据在时间上进行序列分割,然后采用ELM对各个序列进行建模和预测。文献[8]针对混合交通流中车辆类型的不确定性和随机性,依据各种车型的车流量变化规律不同的特点,提出一种分车型的流量预测方法,选用改进的时间序列算法对大型车和拖挂车的流量进行预测,选用二次指数平滑法对小客车和中型车的流量进行预测,然后通过车辆折算系数将各车型的流量预测值进行加权求和,从而得到总车流量预测值。
时间序列模型是较为成熟的预测方法之一。时间序列模型最主要的特征是承认观察值之间的依赖关系和相关性,不仅考虑了观测数据在时间序列上的依存性,同时也考虑了随机波动的干扰,它是一种动态模型,能够应用于动态观测[9]。自回归积分滑动平均模型(ARIMA)是一种应用最广泛的时间序列模型,拥有较高的预测精度[10]。
3 高速收费大数据处理与组织
3.1 建立时空一体化数据模型
有关高速数据建模问题的研究很多,但大多都属于静态数据模型,只包含一些静态信息,如高速公路路段信息、收费站位置信息、分中心信息等。但仅用静态信息描述高速公路并不全面,除了静态信息,高速公路运营过程中还涵盖一些动态信息,如收费站过车记录、道路养护信息、事故信息、气象信息等。高速公路数据不仅具备空间性质,还具有时间性质[11]。为了更全面地描述高速公路,本文所建立的高速公路数据模型,融合时间概念和空间概念,整合静态信息和动态信息,构建高速公路时空一体化数据模型。时空一体化数据模型能够实现三个基本功能,即处理时间维度、空间维度问题;分析历史数据;预测未来的发展趋势。
采用面向对象的建模方法构建高速公路时空一体化数据模型,将构成高速公路系统的收费站、路段、收费记录等元素看成一个个实体,实体的主要特征用属性来描述,既有空间属性又有时间属性。例如:收费站实体具有桩号、经纬度等空间属性,又有某段时间出口车流量等时间属性。
3.2 数据预处理
联网收费数据提供了动态的交通流数据,包括出入口收费站、出入口时间、车型等信息。由于数据库极易受噪声数据、空缺数据和不一致数据的侵扰,为了提高数据挖掘的质量,必须对数据进行预处理。
收费数据多存在下面的问题:司机进入高速公路后从入口掉头、司机卡丢失、司机冲卡产生异常数据;机器故障产生坏卡或者收费员发卡时误操作产生异常数据[12]。
数据预处理方法:对于关键字段缺失的异常数据,如没有出入口时间,选择剔除。
对于数据格式不规范的异常数据,进行转化统一。
3.3 数据存储与组织
在数据存储方面,静态数据变化少更新慢,存入MySQL数据库中。收费站收费数据实时更新,动态增长,存入HBase数据库。
搭建高可用分布式hadoop集群,实现数据的负载均衡,能够支持高并发用户访问的速度。使用MapReduce进行离线计算。MapReduce是一种编程模型,适用于大规模数据集(大于1TB)的并行运算,适合数据被一次写入和多次读取的应用。通过运行MapReduce作业处理收费数据,统计出每个收费站及全网的出入口车流量。
4 基于改进ARIMA的短时交通流量预测方法
本文所研究的是收费站短时交通流量的预测,即对下一决策时刻(t+1时刻)的收费站出入口流量作出短期实时预测。就交通流而言,一般以15min以内为短期,以小时和天为单位计算的预测为中期,以年为单位的为长期预测[13]。为了适应交通控制与交通诱导的实时性要求,本文实验所选取的流量数据的采样间隔为5min。
4.1 传统的ARIMA模型及不足
ARIMA模型全称为自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model,ARIMA),该模型是由博克思(Box)和詹金斯(Jenkins)于20世纪70年代出提出的著名时间序列预测方法,所以又称为Box-Jenkins模型或博克思-詹金斯法。
其中ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归,p为自回归项;MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型根据原序列是否平稳以及回归中所含部分的不同,包括移动平均过程(MA)、自回归过程(AR)、自回归移动平均过程(ARMA)以及ARIMA过程。ARIMA模型的建模步骤如下:
步骤1平稳化检验:检验时间序列的平稳性,必须检验序列的均值和方差是否为常数,即序列的自相关函数是否与时间间隔有关,而与此间隔端点的位置无关。若不是常数,进行步骤2,否则进行步骤3。
步骤2差分运算:对序列进行d阶差分变换或者其他变换(对时间序列进行自然对数差分变换比较普遍),使其满足平稳性条件。
步骤3模式识别:计算原序列或者变换后的序列的样本自相关函数和偏相关函数,凭借统计手段检验判断其相关函数的截尾性、拖尾性和周期性,选择AR(p)、ARMA(p,q)、MA(q)三种模型中的一种。
图4 ARIMA模型建模步骤
步骤4参数估计:运用AIC准则确定模型的参数,并根据滞后多项式根的倒数判断模型是否平稳,同时也要判断模型的拟合效果和合理性。
步骤5预测及评价:利用所建立的模型进行预测,并评价模型的好坏。
采用传统ARIMA模型进行短时交通流量预测时存在以下几点不足:
1)传统ARIMA模型是采用离线方式建立预测模型,无法根据实时检测到的交通流量数据对模型参数进行调整,不能很好地适应不确定性强的短时交通流动态预测的要求。
2)该方法在应用于受随机干扰因素影响大,不确定性强的短时交通流建模、预报的过程中,模型结构辨识和模型检验的过程比价繁琐[14]。
4.2 改进的ARIMA模型
针对传统时间序列模型的不足,本文从模型识别和参数动态调整两方面对传统时间序列模型进行优化,提出一种改进的时间序列模型。
苏联科学家Kolmogorov证明:任何一个ARIMA(p,d,q)或ARIMA(0,d,q)过程可以用一个高阶的ARIMA(p,d,0)过程表示[15]。ARIMA(p,d,0)模型结构,可以直接使用递推最小二乘方法进行参数估计,而该方法具有算法简单、估计精度高、收敛快、鲁棒性强和便于在线应用的优点。因此,为了消除模型识别的不确定性,减轻模型识别的繁琐,本文直接使用ARIMA(p,d,0)模型作为待选模型,只进行模型的定阶和参数的估计,提高了算法的效率以及预测的时效性。
由于短时交通流量受随机干扰因素影响大,具有高度的不确定性、非线性,因此本文所改进的ARIMA模型,每次在进行预测时,都要根据最新的采样数据重新进行模型定阶和参数估计,训练出适合当前交通状态的预测模型,实现动态预测。
改进的ARIMA模型建模步骤如下:
步骤1利用ADF单位根检验方法对原始流量序列进行平稳性检验。若原始流量序列不平稳,进行差分变换,直至新序列通过平稳性检验。
步骤2运用AIC准则确定模型的阶数,即确定AR(p)模型中p的值,运用最小二乘法进行参数估计。
步骤3运用确定的模型进行交通流量的预测。
步骤4当有新的采样数据产生时,重复步骤1~3,实现流量的动态预测。
本算法思想已经通过编程实现,自动化运行,效率高,保证了预测的时效性。
5 实验验证和分析
5.1 实验环境与数据
实验使用CentOS 6.6版本的Linux操作系,JDK1.7,mysql-5.6.17。使用 Cloudrea Manager的CDH部署集群,安装Hadoop、Hbase等组件,实现集群的监控和管理。集群的具体环境如下:集群包含六个节点,其中一个主节点,五个从节点,每个节点都是8G运行内存、100G的主机内存,Hadoop版本为 2.6.0,ZooKeeper版本为 3.4.6,Hbase版本为1.0.3。
实验中采用的原始数据为河南省所有收费站2017年2月份和2017年4月份两个月真实收费数据,通过运行MapReduce作业统计出每个收费站点每五分钟的出口流量和入口流量。
5.2 实验与结果分析
抽取出2017年2月9日~11日和2017年4月18日~20日共计6天的流量结果进行预测模型的验证,并选用绝对百分比误差APE(absolute percentage error)、平均绝对百分比误差MAPE(mean absolute percentage error)和绝对百分比误差中位数MDAPE(median absolute percentage error)对预测结果效果进行评价。
APE计算公式为
MAPE计算公式为
其中xt为实测值;为预测值,N为预测次数。MDAPE为APE的中位数。
1)样本数量的选择
由于样本量大小会影响序列的平稳性,会对模型的识别、参数的确定产生不同的结果,进而直接影响模型的预测效果,因此样本序列不能随意选取。长度较大的样本序列往往其平稳性也较弱,利用平稳性较弱的样本序列进行预测难以获得较高的预测精度,因此样本序列的长度不宜太大;同时样本序列的长度也不宜太小,由于交通流量变化具有不确定性和随机性,较少的样本序列难以通过平稳性检验,而且无法反映交通流的变化趋势,利用这样的样本序列进行流量预测可能会产生较大的预测误差。
为了得到较优的样本数量,通过选取不同的样本量来分析样本量对车流量预测的影响。选取样本量S∈[50,800],对2017年4月20日河南省多个收费站每五分钟(共计288个时间段)的出口流量进行了预测,以MAPE作为评价指标,预测效果如图2。
图2 不同样本数量预测效果
分析图2发现,当样本量S较小时,对四个收费站4月20日当天288个时间段的车流量进行预测的MAPE值较高,随着样本数量的增加,MAPE先迅速减小然后趋于平稳。观察得S∈[350,400]时四个收费站的MAPE都能取得较小值,即预测的精度较高,因此样本量的最佳取值区间S∈[350,400]。考虑到样本量大的序列更能反映交通流的变化趋势,故可选择上述最佳取值区间中的最大值作为最佳样本量的取值,本文选定最佳样本数量为400。
2)对比实验
高速公路工作日与节假日车流量在波动规律以及流量变化方面均存在明显差异故设置了工作日和节假日的对比实验。对比实验分为两组,第一组实验对2017年4月20日(工作日)的流量进行预测,第二组实验对2017年2月11日(节假日)的流量进行预测。
(1)第一组实验
分别利用改进前后的ARIMA模型对2017年4月20日每5min(共计288个时间段)全网出口流量进行预测,每次预测都选取预测区间前400个时间段的真实车流量数据作为样本序列。预测效果和绝对百分比误差分别如图3、4所示。
图3 2017.4.20全网流量预测结果
图4 2017.4.20全网流量预测APE
改进前后两种模型的各项评价指标如表1所示。
表1 第一组实验两种模型评价指标
观察图3发现,改进的ARIMA模型比传统的ARIMA模型,其预测值更接近于真实的车流量数据;观察图4发现,改进的ARIMA模型比传统的ARIMA模型,APE较小且比较稳定;观察表1发现,改进的ARIMA模型比传统的ARIMA模型MAPE减少了3.18%,MDAPE较小,运算时间也较短,说明改进后的ARIMA模型充分克服了传统ARIMA模型的不足,具有较高的预测精度。
(2)第二组实验
分别利用改进前后的ARIMA模型对2017年2月11日每5min(共计288个时间段)全网出口流量进行预测,每次预测都选取预测区间前400个时间段的真实车流量数据作为样本序列。预测效果和绝对百分比误差分别如图5、6所示。
图5 2017.2.11全网流量预测结果
图6 2017.2.11全网流量预测APE
改进前后两种模型的各项评价指标如表2所示。
表2 第二组实验两种模型评价指标
2017年2月11日为节假日,交通流较大。观察图5、6以及表2发现,改进的ARIMA模型比传统的ARIMA模型具有更高的预测精度,说明改进的ARIMA模型不仅适用于工作日,同时适用于节假日,对不同的交通流状况具有较好的适应性。
6 结语
本文针对传统ARIMA预测模型的不足,从模型识别和参数调整两方面进行了优化,直接使用ARIMA(p,d,0)作为模型识别的结果,并对参数实现动态调整,提出一种改进的ARIMA预测模型。利用实测流量数据对改进前后的模型进行对比实验,实验表明,改进的ARIMA预测模型分别应用于工作日和节假日,都取得较好的预测效果,说明该算法对不同的交通状况具有较好的适应性。