发明内容
本发明一种动态数据驱动的高速公路出口流量预测方法,所要解决的技术问题是现有交通流预测技术无法适用于收费数据环境下的动态性强的出口流量预测问题,利用动态数据驱动思想的动态模型构建和调整的方法,准确预测高速公路收费数据的出口流量。
为解决上述问题,本发明采取的技术方案主要步骤为:
1)统计获得目标出口流量的主要来源及其时间延迟;
2)以主要来源的带有时间延迟的入口流量为特征,建立参数模型与非参数模型;
3)基于历史的误差数据的假设检验判断交通状态,根据交通状态动态采用参数模型或非参数模型;
4)对误差数据建立随机森林的组合模型,将其预测结果与出口流量预测结果相加,实现对误差的纠正,当新的误差数据到来,使用最新数据建立新的子模型加入到森林模型中,淘汰森林模型中时间最早的子模型,实现森林模型的更新。
本发明一种动态数据驱动的高速公路出口流量预测方法与现有技术相比,其优点主要在于:动态模型选择和动态模型调整。
1)动态模型选择:
本发明首先为出口流量预测问题建立参数模型和非参数模型。
在参数模型中,详细分析出口流量的物理构成,选择其主要的流量来源,分析各个来源入口到达目标出口的旅行时间,从而确定入口流量与出口流量的时间延迟,将相应时间段的入口流量加和得到目标出口流量的预测值。该模型以流量的产生的物理机制为基础,当来源入口产生异常流量时,出口流量的预测能够相应调整,因而该参数模型能够适应流量异常的情况。
参数模型限定了出入口流量的关系形式,虽然能够刻画流量的大体趋势,但对细节的复杂变化描述不足。非参数模型基于历史数据,直接从历史数据中得到信息而不是为历史数据建立一个近似模型,预测精度高。本发明中,采用目标出口的主要来源入口的流量作为特征,在历史数据库中寻找与当前状态相似的历史状态,并把与当前点匹配的历史状态应用于当前状态预测。
非参数模型在正常交通状态下预测精度高,参数模型在异常状态下具有适应性。本发明提出两种模型的动态选择机制,利用近期几个时刻的预测偏差,建立假设检验,判别当前路网中的交通状态是否异常,从而动态选择模型形式。
2)动态模型调整:
出口流量预测问题的一个重要特点是,当前时刻的流量便是上一时刻预测的目标,可以实时得到上次预测结果的偏差,利用该信息可以实时对模型进行调整,以及时修正模型存在的偏差。
本发明使用组合模型建立输入变量与偏差的关系,利用输入变量得到预测结果的同时,计算得到偏差的预测结果,两者相加得到最终结果。
下一时刻确定预测结果的偏差后,将该偏差与前几时刻的偏差共同建立一个新的子模型加入到组合模型当中完成偏差模型的更新。
本发明的有益效果是,根据数据的变化动态的选择参数模型与非参数模型,每次预测的偏差用于更新偏差模型,动态的纠正预测模型的偏差,有效提高出口流量预测的准确度。
具体实施方式
图1为本发明的整体流程图,第一步,通过统计获得目标出口流量主要来源及时间延迟;预测是综合研究事物内在联系延续与突变的过程。这个过程实际上是:从过去和现在已知的情况出发,利用一定的方法和技术探索或模拟不可知的或复杂的中间过程,推断出未来的结果,出口流量预测模型的已知信息包括过去的所有站点的出入口流量,要预测的是目标站点下一时刻的出口流量;出口流量本质上由过去一段时间由其他站点进入行驶过来的车辆构成,因此,本技术主要依据过去一段时间其他站点的入口流量来预测目标站点下一时刻的出口流量,流量为一段时间内经过某一断面的车辆数,本发明中取时间间隔为15分钟,tk为一天中第k个时间间隔,即为[(k-1)*15,k*15]的时间段,具体方法为:
(1)主要OD的选取
设路网所有入口站点集合为O,出口站点集合为D,目标站点为第k个出口站点dk∈D,dk的车辆可能来自O中的所有入口站点,而其中多数站点行驶至dk的流量较小,选择目标出口的车辆主要来源,一方面能减少输入的变量数,简化模型,另一方面能减少输入中的噪声。
设
为t
k时间段内从入口i进入,目的地为出口k的车辆数;
为t
k时间段内从出口j离开,来源地为入口i的车辆数。
为t
k时间段内从入口i进入的车辆数;
为t
k时间段内从出口j离开的车辆数取一段时间(例如一个月)的历史数据进行统计,入口i对出口j的平均流量贡献率为
将各入口贡献率排序,由大到小加入出口j的主要来源集合S
j,假设取得n个主要来源,n应该满足,
其中p是贡献率之和的阈值,例如可以取80%。
入口i至出口j流量占入口i流量的平均比率为
该指标主要用于参数模型的建立,根据主要入口流量乘以相应的比例,推算目标出口的流量。
(2)旅行时间估计
车辆由入口站点行驶至出口站点需要一定时间,因而入口流量与出口流量的关系具有时间延迟性,需要确定各个入口站点到目标出口站点的平均旅行时间,从而确定输入变量与输出变量的时间延迟。
取一段时间(例如一个月)的历史数据进行统计,设medianij为历史数据统计得到的入口i到出口j的旅行时间的中位数,以medianij作为旅行时间可以有效避免异常值的干扰。
第二步,以主要来源的带有时间延迟的入口流量为特征,建立参数模型与非参数模型,具体方法为:
(1)参数模型的建立
将出口的主要来源入口流量做旅行时间延迟处理后,乘以相应的贡献率,加和得到出口流量的预测值,由于主要入口流量之和占出口流量比例为p,因此要对预测值除以p做修正。
(2)非参数模型的建立
非参数模型在历史数据库中寻找与当前状态相似的历史状态,并把与当前点匹配的历史状态应用于状态预测。历史数据库中的每个数据点可以表示为(xi,yi),其中xi为该点的特征,yi是预测目标属性值,当前状态与历史状态的相似性是由特征的距离度量的,q是当前状态的特征,则
历史数据点的权重由其距离决定,
预测值为
对于出口j,利用S
j中的各入口站点流量构成特征来度量相似性,即
的特征向量是F
j(t
k),其第i个分量
依据上述过程可以建立出口流量的非参数预测模型。
第三步,基于历史的误差数据的假设检验判断交通状态,根据交通状态动态采用参数模型或非参数模型,即进行动态模型的选择,具体方法为:
预测模型应该根据具体情况及时调整预测方法,如在正常情况下,非参数模型具有较好预测精度,预测误差服从正态分布,设ti时刻的偏差为ei,在常态下,取一段时间的多个预测误差组成的集合{ei}~N(μ,δ)。其中N(μ,δ)的参数可以通过矩估计得到,即,
在正常情况下μ=0,在tk时刻,取最近一段时间内非参数模型的的误差集合{ek-m,ek-m+1,...ek},例如m=4为过去一小时的预测偏差情况,检验此时的非参数模型是否满足常态预测需求,即μ=0,原假设与备择假设为:
H0:μ=0,H0:μ≠0
则95%显著水平下拒绝域为:
组合预测模型结合了非参数模型与参数模型,其形式为:
forecast(X)=k*BX+(1-k)*g(X)
其中,BX为上文所述的参数模型,g(X)为非参数模型,k是指示变量,
非参数模型主要用于常态下的预测,因此假设检验使用的偏差数据均来自非参数模型,即便进入了异常状态使用参数模型,非参数模型依然需要进行预测以便计算偏差,从而用于异常状态的判断。
第四步,对误差数据建立随机森林的组合模型,将其预测结果与出口流量预测结果相加,实现对误差的纠正,当新的误差数据到来,使用最新数据建立新的子模型加入到森林模型中,淘汰森林模型中时间最早的子模型,实现森林模型的更新,具体方法为:
每一时刻的出口流量预测都存在偏差,在tk时刻,得到对tk+1的预测值,在tk+1时刻,可以获得出口流量的真实值,也便获得了tk时刻的预测偏差,即tk+1-tk。在预测的同时,如果能将偏差信息实时的加入模型中,能够减小偏差,增加预测的准确度。
本发明对实时获得的偏差数据建模,将估计得到的偏差加入的预测结果中,使预测模型具有了动态纠偏的能力。动态纠偏的场景要求模型能够方便快速的适应新数据,随机森林可以较好的适用于该场景。随机森林是一种组合模型,由一组简单的决策树组成,每当有新的偏差数据加入,可以快速训练新的决策树,森林可以方便的加入新决策树,淘汰老决策树,从而准确估计当前的偏差。
设tk时刻的偏差为ek,偏差模型使用的输入特征与预测模型所用特征一致,即Fj(tk)。则偏差模型的数据点为edk=(Fj(tk),ek)。过去m个时间间隔内的偏差集合EDk={edk-m,edk-m+1,...,edk}。算法如下:
输入:时间窗口长度m,随机森林的参数
输出:实时校正的预测结果
1)当前时刻tk,使用EDk数据集生成N个随机决策树,treej,j=1...N,组成初始随机森林Forest。
2)预测点计数i=1
3)While(继续预测)
4)下一时刻的预测值为则修正之后的预测值为
5)tk+i时刻的误差为ek+i,使用EDk+i训练得到treeN+i将其加入Forest模型,
6)将treei从Forest模型中删除。
7)i=i+1
各个子模型结构简单,计算代价低,能够满足实时更新的要求。
森林模型不断加入新的决策树,淘汰最旧的决策树,避免了模型规模的膨胀,并保持了对当前偏差的准确估计。