发明内容
针对相关技术中的上述问题,本发明主要目的在于提供一种高速公路旅行时间的预测方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种高速公路旅行时间的预测方法,包括:获取高速公路的收费系统中用于预测旅行时间的指定数据,其中,所述指定数据包括:所述高速公路的收费站点的收费信息;对所述指定数据进行预处理;根据预处理后的所述指定数据利用预设的旅行时间模型预测得到所述高速公路的收费站点间的当前旅行时间。
优选地,获取高速公路的收费系统中用于预测旅行时间的指定数据,包括:根据所述收费信息确定所述收费站点间的指定数据,其中,所述指定数据包括:历史行程时间。
优选地,对所述指定数据进行预处理,包括以下至少之一:滤除指定周期内大于第一时间阈值的所述历史行程时间;根据以下公式按照四分法滤除所述历史行程时间满足的时间区间:G=[M1-1.5×R,M2+1.5×R],R=M2-M1,其中,G表示有效数据区间,M2、M1分别为下、上四分位值,R表示四分位极差;获取所述指定周期内的平均旅行时间;对所述历史行程时间进行等间隔插值处理。
优选地,所述旅行时间模型包括:基于卡尔曼滤波算法的旅行时间模型。
根据本发明的另一个方面,提供了一种高速公路旅行时间的预测装置,包括:获取模块,用于获取高速公路的收费系统中用于预测旅行时间的指定数据,其中,所述指定数据包括:所述高速公路的收费站点的收费信息;预处理模块,用于对所述指定数据进行预处理;预测模块,用于根据预处理后的所述指定数据利用预设的旅行时间模型预测得到所述高速公路的收费站点间的当前旅行时间。
优选地,所述获取模块,用于根据所述收费信息确定所述收费站点间的指定数据,其中,所述指定数据包括:历史行程时间。
优选地,所述预处理模块,用于对所述指定数据进行以下至少之一处理:滤除指定周期内大于第一时间阈值的所述历史行程时间;根据以下公式按照四分法滤除所述历史行程时间满足的时间区间:G=[M1-1.5×R,M2+1.5×R],R=M2-M1,其中,G表示有效数据区间,M2、M1分别为下、上四分位值,R表示四分位极差;获取所述指定周期内的平均旅行时间;对所述历史行程时间进行等间隔插值处理。
优选地,所述预测模块,用于在所述旅行时间模型包括以下模型时预测所述当前旅行时间:基于卡尔曼滤波算法的旅行时间模型。
通过本发明,采用对高速公路收费站点的收费信息进行预处理,并根据预处理后的收费信息预测当前旅行时间的技术手段,解决了相关技术中,旅行时间预测方案仅适用于特定路段特定流量范围,预测旅行时间适用性差、实时性不强等技术问题,从而实时预测旅行时间,并且能够适应交通状态的变化,提高预测精度,从而提高性价比,增强系统可靠性。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1为根据本发明实施例的高速公路旅行时间的预测方法的流程图。如图1所示,该方法包括:
步骤S102,获取高速公路的收费系统中用于预测旅行时间的指定数据,其中,指定数据包括:高速公路的收费站点的收费信息;
步骤S104,对指定数据进行预处理;
步骤S106,根据预处理后的所述指定数据利用预设的旅行时间模型预测得到高速公路的收费站点间的当前旅行时间。
在本实施例中,步骤S102可以表现为以下形式:根据收费信息确定收费站点间的指定数据,其中,该指定数据包括:历史行程时间。
对指定数据进行预处理,包括以下至少之一:
(1)滤除指定周期内大于第一时间阈值的历史行程时间;
(2)根据以下公式按照四分法滤除历史行程时间满足的时间区间:G=[M1-1.5×R,M2+1.5×R],R=M2-M1,其中,G表示有效数据区间,M2、M1分别为下、上四分位值,R表示四分位极差;
(3)获取指定周期内的平均旅行时间;
(4)对历史行程时间进行等间隔插值处理。
上述预处理过程可以表现为以下处理步骤,但是,并不限于该步骤的执行顺序,还可以是其它顺序,并且,其中的步骤是可选的:
步骤1:剔除异常旅行时间数据:主要是剔除明显不符合路段旅行时间的数据。
剔除依据:一个观测周期内,某一车辆行程时间远大于该周期车辆的历史平均行程时间,则需判断该车辆的行程时间是否为异常数据。观测与该车辆相邻车辆的行程时间,如果行程时间都接近该周期车辆的历史平均行程时间,则判断为异常数据,剔除;如果相邻车辆的行程时间都远大于历史平均行程时间,则出现两种情况:一是有交通事故发生,二是这几辆车是一个车队,行驶速度缓慢,这两种情况就需要结合监控数据进行筛选。
步骤2:四分法剔除旅行时间数据
搭建卡尔曼滤波模型,需要用到7天或者15天的收费数据。将这7天或者15天内的旅行时间数据按出高速公路时间进行升序,并对收费数据进行观测后得出,旅行时间落差太大。究其原因,可能是驾驶员开车时速度过快或太慢,需要对数据进行筛选,得出更为有效的行程时间区间。四分法处理数据处理公式如下所示:对数据进行四分法处理可以得到更为有效的数据区间。
四分法筛选有效数据的公式:G=[M0.25-1.5×R,M0.75+1.5×R]
R=M0.75-M0.25
以上两式中,G表示有效数据区间,M0.75、M0.25分别为下、上四分位值,R表示四分位极差。
步骤3:周期内的平均旅行时间
旅行时间预测与发布都是有一定周期的,因此,在进行卡尔曼滤波模型搭建与旅行时间预测的时候都需要计算该周期内所有车辆平均旅行时间。
步骤4:三次插值数据处理算法
上面计算出了每周期内车辆的平均旅行时间,但是有些相邻周期行程时间差别较大,如表3所示,00:00:00与00:10:00平均行程时间相差约3分钟,如果直接以00:00:00的平均行程时间预测00:10:00平均行程时间,则误差相对较大,精确度不高。故考虑增加等间距插值对数据进行平滑处理,如表4所示。
表3 数据处理前相邻周期平均行程时间
时间 |
平均行程时间 |
00:00:00 |
938.1429 |
00:10:00 |
1117.162 |
00:20:00 |
1296.182 |
00:30:00 |
1099.948 |
00:40:00 |
903.7143 |
表4 等间距插值处理平均旅行时间
经过等间距插值处理,得到一个新的旅行时间序列,该行程时间序列相邻周期的旅行时间差值不大,搭建的卡尔曼滤波模型较为平滑,预测下一周期的旅行时间具有较高的精度。
在本实施例中,上述旅行时间模型包括但不限于:基于卡尔曼滤波算法的旅行时间模型(以下简称旅行时间卡尔曼滤波模型):
旅行时间卡尔曼滤波模型包括数据预处理算法和旅行时间卡尔曼滤波算法。数据预处理算法如上所述,主要有以下步骤:剔除异常旅行时间、四分法剔除旅行时间数据、求取平均旅行时间、三次插值处理数据。此处不再赘述。
旅行时间卡尔曼滤波预测算法核心部分是卡尔曼滤波算法。卡尔曼滤波属于一种软件滤波方法,采用信号与噪声的状态空间模型,利用t-1时刻状态变量的最优估计值和t-1时刻的观测值来更新t-1时刻状态变量的估计,即得到t-1时刻状态变量的最优滤波估计值,以便利用t-1时刻状态变量的最优滤波估计值预测t时刻状态变量的最优估计值,卡尔曼滤波就是一个循环往复的“估计-预测-修正”的过程。
1.卡尔曼滤波模型如下:
状态方程:X(t)=A*X(t-1)+w(t)
观测方程:y(t)=B*X(t)+v(t)
其中:
X(t)表示n维状态变量;
y(t)表示t时刻行程时间测量值;
A表示t时刻预测的状态转移矩阵;
B表示t时刻系统的测量矩阵,是一个量纲为1的单位矩阵;
w(t)表示系统噪声向量;
v(t)表示测量噪声向量。
2.卡尔曼滤波预测原理
1)预测过程:
X_(:,t)=A*X(:,t-1);//t时刻的状态最优估计
y(t)=B*X_(:,t);//t-1时刻行程时间预测的t时刻的行程时间
其中:
X_(:,t)表示t时刻的状态最优估计值;
y(t)表示采用t-1时刻行程时间预测的t时刻行程时间。
2)滤波过程:
P_=A*P*A′+Q;//一步预测误差方差矩阵
K=P_*B′/(B*P_*B′+R);//滤波增益矩阵
X(:,t-1)=X_(:,t-1)+K*(M(t-1)-B*X_(:,t-1));//t-1时刻的状态最优滤波估计
P=(eye(2)-K*B)*P_*(eye(2)-K*B)′+K*R*K′;//估计误差方差矩阵
其中:
P_表示一步预测误差方差矩阵;
P表示估计误差方差矩阵;
Q表示系统噪声向量W(t)的方差;
R表示四分位极差;
K表示滤波增益矩阵;
X(:,t-1)表示t-1时刻的状态最优滤波估计;
M(t-1)表示为插值后时间序列中t-1时刻路面车辆的旅行时间。
根据以上方法对高速公路某路段旅行时间预测可知:当路面发生大交通流量、异常拥堵、事故或者路面交通中断时,它们在一定程度上都影响了车辆的旅行时间,旅行时间可以实时的反应路面交通状态,且旅行时间预测应以收费数据为主,监控数据、断面检测数据为辅来预测旅行时间
上述利用卡尔曼滤波算法进行预测的步骤如下:
步骤1:搭建状态方程:取每两个周期的行程时间为一个状态,即
X(t)=[Tt-1 Tt-2]′,X(t-1)=[Tt-3 Tt-4]′
观察所有历史数据,排列如表1所示,找出状态X(t)与状态X(t-1)之间的关系,即可得到状态转移矩阵A,从而搭建出状态方程X(t)=A*X(t-1)+w(t)。
表1 状态转移历史行程时间表(片段)
Tt-1 |
Tt-2 |
Tt-3 |
Tt-4 |
1099.948 |
1296.182 |
1117.162 |
938.1429 |
903.7143 |
1099.948 |
1296.182 |
1117.162 |
904.7571 |
903.7143 |
1099.948 |
1296.182 |
905.8 |
904.7571 |
903.7143 |
1099.948 |
930.4 |
905.8 |
904.7571 |
903.7143 |
步骤2:搭建观测方程:观测方程就是找出t时刻行程时间与t-1时刻、t-2时刻行程时间的关系。
观察所有历史数据,排列如表2所示,采用最小二乘法拟合找出Tt与Tt-1、Tt-2之间的关系,即可得到状态转移矩阵B,从而搭建出观测方程y(t)=B*X(t)+v(t)。
表2 t时刻与t-1/t-2时刻行程时间拟合表(片段)
Tt |
Tt-1 |
Tt-2 |
1296.182 |
1117.162 |
938.1429 |
1099.948 |
1296.182 |
1117.162 |
903.7143 |
1099.948 |
1296.182 |
904.7571 |
903.7143 |
1099.948 |
预测结果:
在一个具体实施过程中,通过对原始收费数据(MTC数据)分析可知,从15:20:00开始,该路段旅行时间突然增大,路段有异常事故发生并且导致一小时路面交通中断,但监控数据没有记录该事故。当路面发生大交通流量、异常拥堵、事故或者路面交通中断时,它们在一定程度上都影响了车辆的旅行时间且旅行时间可以实时的反应路面交通状态。
在本实施例中还提供了一种高速公路旅行时间的预测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2为根据本发明实施例的高速公路旅行时间的预测装置的结构框图。如图2所示,该装置包括:
获取模块20,连接至预处理模块22,用于获取高速公路的收费系统中用于预测旅行时间的指定数据,其中,指定数据包括:高速公路的收费站点的收费信息;
预处理模块22,连接至预测模块24,用于对指定数据进行预处理;
预测模块24,用于根据预处理后的指定数据利用预设的旅行时间模型预测得到高速公路的收费站点间的当前旅行时间。
优选地,上述获取模块20,用于根据收费信息确定收费站点间的指定数据,其中,指定数据包括:历史行程时间。
优选地,上述预处理模块22,用于对指定数据进行以下至少之一处理:滤除指定周期内大于第一时间阈值的历史行程时间;根据以下公式按照四分法滤除历史行程时间满足的时间区间:G=[M1-1.5×R,M2+1.5×R],R=M2-M1,其中,G表示有效数据区间,M2、M1分别为下、上四分位值,R表示四分位极差;获取指定周期内的平均旅行时间;对历史行程时间进行等间隔插值处理。
优选地,上述预测模块24,用于在旅行时间模型包括以下模型时预测当前旅行时间:基于卡尔曼滤波算法的旅行时间模型。
综上所述,本发明实施例实现了以下有益效果:
将卡尔曼滤波模型应用于高速公路旅行时间预测,提出了基于收费数据进行预测和实现的新思路;卡尔曼滤波算法应用于旅行时间预测具有预测因子选择灵活、精度较高等优点且可以采用实测的旅行时间对未来的预测不断修正;旅行时间真实值与预测值的相对误差绝大部分点控制在10%之内;可以从一定的程度上预测出高速公路交通事件。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。