具体实施方式
图1为本发明路段行驶时间分布预测方法实施例的流程图,本方法适用于对路网中任意两个相邻路段进行行驶时间的预测,图2为本方法适用的一种应用场景示意,图中第一路段和第二路段为相邻的两个连续路段。如图1所示,该方法包括如下步骤:
步骤101、分别获得由第一历史行驶时间集合中的各第一历史行驶时间坐标点构成的第一行驶时间联合分布图,以及由第二历史行驶时间集合中的各第二历史行驶时间坐标点构成的第二行驶时间联合分布图;其中,第一行驶时间联合分布图和第二行驶时间联合分布图均是分别以第一路段行驶时间和第二路段行驶时间作为横、纵坐标变量的,所述第一路段和所述第二路段为相邻的两个路段;一个第一历史行驶时间坐标点描述了在第一历史时间内一辆车先后经过第一路段所用的行驶时间和第二路段所用的行驶时间,一个第二历史行驶时间坐标点描述了在第二历史时间内一辆车先后经过第一路段所用的行驶时间和第二路段所用的行驶时间;第一历史时间早于第二历史时间,第二历史时间与当前时间的差值小于预设时间差值,且第一历史时间段的长度大于第二历史时间段的长度。
本实施例中,为了对第一路段和第二路段的行驶时间进行结合道路交通状况的预测,需要首先获得两类历史数据即与第一历史时间对应的数据和与第二历史时间对应的数据,其中,数据是指某辆车连续经过第一路段和第二路段的过程中以一定时间间隔上报的轨迹位置信息,包括车辆的标识比如车牌号、上报时刻、以及上报时刻对应的车辆经、纬度位置信息。具体地,第一历史时间早于第二历史时间,第二历史时间与当前时间的差值小于预设时间差值,且第一历史时间段的长度大于第二历史时间段的长度。举例来说,假设当前时刻时9:30,第二历史时间比如是距离当前时间10分钟前的时刻,即9:20-9:30;第一历史时间比如是前一周内每天9:00-10:00的时间。
针对第二历史时间来说,在该时间段内连续经过第一路段和第二路段的车辆有多辆,每辆车假设都安装有具有精确定位和无线通信功能的智能车载终端,车载终端比如每隔一定时间间隔比如1秒钟上报自身位置信息,通过对每辆车上报的多个位置信息和上报时间所形成的轨迹信息进行预处理,结合第一路段和第二路段的边界点位置,能够得到每辆车经过第一路段所用的行驶时间和经过第二路段所用的行驶时间,这两个行驶时间作为一个坐标点。从而,在第二历史时间内的每辆车经过第一路段的行驶时间和经过第二路段的行驶时间构成了各个第二历史行驶时间坐标点,这些第二历史行驶时间坐标点构成的第二行驶时间联合分布图。同理,对应第一历史时间来说,也相应的得到由各第一历史行驶时间坐标点构成的第一行驶时间联合分布图。
下面具体来说明如何对第一历史时间内的各车辆上报的各位置信息进行预处理以得到第一行驶时间联合分布图,第二行驶时间联合分布图的获得与之类似,只是处理的数据对象不同而已,不重复说明。
首先,获得在第一历史时间内先后经过第一路段和第二路段的各车辆的第一历史轨迹信息,该第一历史轨迹信息包括车辆的标识、各经纬度位置和分别与各经纬度位置对应的上报时间。值得说明的是,通过上述第一历史时间的举例可知,在第一历史时间内连续经过第一路段和第二路段的车辆有很多,这些车辆中的每个车辆的第一历史轨迹信息中包含了其从将要进入第一路段到其离开第二路段的期间内上报的各个经纬度位置以及对应的上报时间。
其次,从每个车辆的第一历史轨迹信息中包含的各经纬度位置中确定距离第一路段的起始边界点两侧最近的第一经纬度位置和第二经纬度位置,以及第一经纬度位置和第二经纬度位置分别对应的上报时刻,并从中确定距离第一路段与第二路段的交界点两侧最近的第三经纬度位置和第四经纬度位置,以及第三经纬度位置和第四经纬度位置分别对应的上报时刻,并确定距离第二路段的终止边界点两侧最近的第五经纬度位置和第六经纬度位置,以及第五经纬度位置和第六经纬度位置分别对应的上报时刻。
以图2所示场景为例,假设第一路段和第二路段的边界点分别为A1、A2和A3,其中,A1是第一路段的起始边界点,A2为第一路段与第二路段的交界点,A3为第二路段的终止边界点。对于每一辆车的轨迹信息来说,从中选择出图2所示的C1-C6六个经纬度位置,其中,A1在C1、C2之间,C1和C2是距离第一路段的起始边界点A1两侧最近的第一经纬度位置和第二经纬度位置;A2在C3、C4之间,C3和C4是距离第一路段与第二路段的交界点A2两侧最近的第三经纬度位置和第四经纬度位置;A3在C5、C6之间,C5和C6是距离第二路段的终止边界点A3两侧最近的第五经纬度位置和第六经纬度位置。并且假设C1-C6六个经纬度位置分别对应的上报时间为t1-t6。
具体来说,可以预先存储A1、A2和A3的经纬度位置,对每辆车的轨迹信息按照时间先后顺序排列,从而能够确定出上述六个经纬度位置。
进而,根据第一经纬度位置C1和第二经纬度位置C2,以及第一经纬度位置C1和第二经纬度位置C2对应的上报时刻t1和t2,确定经过第一路段的起始边界点A1的时刻t1l;根据第三经纬度位置C3和第四经纬度位置C4,以及第三经纬度位置C3和第四经纬度位置C4对应的上报时刻t3和t4,确定经过第一路段与第二路段的交界点A2的时刻t1r;根据第五经纬度位置C5和第六经纬度位置C6,以及第五经纬度位置C5和第六经纬度位置C6对应的上报时刻t5和t6,确定经过第二路段的终止边界点A3的时刻t2r。
具体地,根据待处理经纬度位置以及与待处理经纬度位置对应的上报时刻,确定经过与待处理经纬度位置对应的待处理边界点的时刻,可以通过如下方式实现:
其中,若待处理经纬度位置为所述第一经纬度位置C1和所述第二经纬度位置C2,则所述待处理边界点为所述第一路段的起始边界点A1;若所述待处理经纬度位置为所述第三经纬度位置C3和所述第四经纬度位置C4,则所述待处理边界点为所述第一路段与所述第二路段的交界点A2;若所述待处理经纬度位置为所述第五经纬度位置C5和所述第六经纬度位置C6,则所述待处理边界点为所述第二路段的终止边界点A3。
具体来说,根据公式(1)确定待处理经纬度位置间的距离:
dAB=R×arccos(KAB)×Pi/180 (1)
根据公式(2)确定经过待处理边界点的时刻:
tC=tA+(tB-tA)×dAC/dAB (2)
其中,A、B分别表示位于待处理边界点C两侧的距离C最近的经纬度位置,tC为经过待处理边界点C的时刻,tA为经过经纬度位置A的时刻,tB为经过经纬度位置A的时刻,tA<tB,R为地球半径,Pi为圆周率,dAB为经纬度位置A与经纬度位置B间的距离,dAC为经纬度位置A与待处理边界点C间的距离,其中,KAB=sin(latA)×sin(latB)×cos(lngA-lngB)+cos(latA)×cos(latB),dAC=R×arccos(KAC)×Pi/180。
即对于根据C1、C2、t1、t2来确定经过A1的时刻来说,tA=t1,tB=t2,dAB=dC1C2,dC1A1=dC1C2,tC=t1l。同理可以得到t1r和t2r。
最后,根据经过第一路段的起始边界点A1的时刻t1l、经过第一路段与第二路段的交界点A2的时刻t1r,以及经过第二路段的终止边界点A3的时刻t2r,得到经过第一路段所用的行驶时间tv1和经过第二路段所用的行驶时间tv2。
即tv1=t1r-t1l;tv2=t2r-t1r。
综上,对于第一历史时间内连续经过第一路段和第二路段的各个车辆来说,都经过上述的计算处理过程,将得到每个车辆经过第一路段所用的行驶时间tv1和经过第二路段所用的行驶时间tv2,每个车辆对应的经过第一路段所用的行驶时间tv1和经过第二路段所用的行驶时间tv2作为一个坐标点(tv1,tv2),成为第一历史行驶时间集合中的一个第一历史行驶时间坐标点,各车辆的第一历史行驶时间坐标点构成了第一行驶时间联合分布图,如图3-1所示。同理,对于第二历史时间内连续经过第一路段和第二路段的各车辆的轨迹信息进行同样的处理,得到由各第二历史行驶时间坐标点构成的第二行驶时间联合分布图,如图3-2所示。
步骤102、对所述第二行驶时间联合分布图进行网格聚类处理,得到至少一种行驶时间状态组合方式,每种行驶时间状态组合方式作为一个马尔科夫链,其中,一种行驶时间状态组合由所述网格聚类处理后得到的第一路段的一个行驶时间状态区间和第二路段的一个行驶时间状态区间组成。
本实施例中,由于第二路段的行驶时间只与第一路段的行驶时间有关,而与第一路段之前的行驶时间无关,所以,可以用马尔科夫链来描述第一路段和第二路段之间的关系。首先,对于距离当前时刻较近的能够反映当前较近时段内道路交通状况的第二历史时间对应的第二行驶时间联合分布图,通过网格聚类方法比如CLIQUE方法进行聚类处理,得到如图4所示的多个网格,每个网格内落入满足一定聚类条件比如密度小于一定值的若干坐标点。其中,每个网格对应于一种行驶时间状态组合,每种行驶时间状态组合方式作为一个马尔科夫链。马尔科夫链需要三个参数来确定即马尔科夫状态、初始概率和转移概率。马尔科夫状态可以表示为在两个值之间的特定区间的行驶时间。如图4所示,一种行驶时间状态组合即一个网格由网格聚类处理后得到的第一路段的一个行驶时间状态区间和第二路段的一个行驶时间状态区间组成。假设第一路段具有nx个状态区间,第二路段具有ny个状态区间,用x={x1,x2,…,xnx-1}表示第一路段的行驶时间状态的边界集合,用y={y1,y2,…,yny-1}表示第二路段的行驶时间状态的边界集合,从而,第一路段的第一个状态可以表示为区间[min tm1,x1),最后一个状态可以表示为区间[xnx-1,max tm1];同理,第二路段的第一个状态可以表示为区间[min tm2,y1),最后一个状态可以表示为区间[yny-1,max tm2]。其中,tm1代表第一路段对应的各车辆的行驶时间,即第二行驶时间联合分布图中各第二历史行驶时间坐标点的横坐标;tm2代表第二路段对应的各车辆的行驶时间,即第二行驶时间联合分布图中各第二历史行驶时间坐标点的纵坐标。
步骤103、确定每个马尔科夫链的初始概率和转移概率,并根据所述初始概率和所述转移概率确定所述每个马尔科夫链的发生概率。
具体来说,根据如下公式(3)确定任一马尔科夫链ms的初始概率:
其中,ms={S1=z1,S2=z2},s=1,2,...,D,z2=s%nx+1,D=nx×ny,nx为网格聚类处理后第一路段的行驶时间状态区间总数,ny为网格聚类处理后第二路段的行驶时间状态区间总数,D为行驶时间状态组合方式的总数;%为取整运算符,为取余运算符;z1代表第一路段的行驶状态区间中的第z1个状态区间,z2代表第二路段的行驶状态区间中的第z2个状态区间,S1和S2为状态变量;N(i)为第一路段的第i个行驶状态区间中的坐标点的数量。
进而,根据公式(4)确定任一马尔科夫链ms的转移概率:
基于公式(3)和公式(4),可以根据如下公式(5)确定任一马尔科夫链ms的发生概率:
其中,pij表示从第一路段的第i个行驶状态区间一步转移到第二路段的第j个行驶状态区间的概率,N(i,j)表示同时位于第一路段的第i个行驶状态区间和第二路段的第j个行驶状态区间中的坐标点的数量。
步骤104、根据所述第一行驶时间联合分布图得到所述第一路段和所述第二路段分别对应的第一路段第一行驶时间概率分布和第二路段第一行驶时间概率分布,根据所述第二行驶时间联合分布图得到所述第一路段和所述第二路段分别对应的第一路段第二行驶时间概率分布和第二路段第二行驶时间概率分布。
本实施例中,在得到第一行驶时间联合分布图和第二行驶时间联合分布图之后,为了能够准确预测第一路段和第二路段的行驶时间,还需获得第一路段的行驶时间概率分布和第二路段的行驶时间概率分布。同时,由于为了保证预测结果与道路动态的交通状况相匹配,不仅要得到第二历史时间对应的第一路段的行驶时间概率分布和第二路段的行驶时间概率分布,还要得到第一历史时间对应的第一路段的行驶时间概率分布和第二路段的行驶时间概率分布。
具体来说,步骤104中根据第一行驶时间联合分布图得到第一路段第一行驶时间概率分布和第二路段第一行驶时间概率分布,包括:
根据第一行驶时间联合分布图中第一路段的每种行驶时间的个数占第一路段的行驶时间总个数的比例确定第一路段第一行驶时间概率分布;
根据第一行驶时间联合分布图中第二路段的每种行驶时间的个数占第二路段的行驶时间总个数的比例确定第二路段第一行驶时间概率分布;
相应的,步骤104中根据第二行驶时间联合分布图得到第一路段第二行驶时间概率分布和第二路段第二行驶时间概率分布,包括:
根据第二行驶时间联合分布图中第一路段的每种行驶时间的个数占第一路段的行驶时间总个数的比例确定第一路段第二行驶时间概率分布;
根据第二行驶时间联合分布图中第二路段的每种行驶时间的个数占第二路段的行驶时间总个数的比例确定第二路段第二行驶时间概率分布。
如图3-1所示,第一历史时间内,第一路段的行驶时间即各坐标点的横坐标具有多种数值,每种数值占全部坐标点个数的比例为该种数值对应的概率,从而根据各种数值对应的概率得到了第一路段第一行驶时间概率分布,如图5-1所示,该行驶时间概率分布形成了图中所示的柱状图。同理能够得到第二路段第一行驶时间概率分布。
相类似地,对于如图3-2所示,在第二历史时间内,同理能够根据第二行驶时间联合分布图得到第一路段第二行驶时间概率分布,如图5-2所示;且能够得到第二路段第二行驶时间概率分布。
步骤105、对应叠加所述第一路段第一行驶时间概率分布和所述第一路段第二行驶时间概率分布,根据信息熵最小化的条件确定所述第一路段第二行驶时间概率分布的权重,得到加权后的第一路段第二行驶时间概率分布;对应叠加所述第二路段第一行驶时间概率分布和所述第二路段第二行驶时间概率分布,根据信息熵最小化的条件确定所述第二路段第二行驶时间概率分布的权重,得到加权后的第二路段第二行驶时间概率分布。
本实施例中,为了确定根据第一行驶时间联合分布图得到的行驶时间概率分布和根据第二行驶时间联合分布图得到的行驶时间概率分布对最终路段行驶时间预测结果的影响重要程度,需要确定这两种行驶时间概率分布的权重。
具体地,首先进行数据融合处理。具体来说,对应叠加第一路段第一行驶时间概率分布和第一路段第二行驶时间概率分布,并对应叠加第二路段第一行驶时间概率分布和第二路段第二行驶时间概率分布。仅以第一路段为例进行说明,第一路段第一行驶时间概率分布和第一路段第二行驶时间概率分布分别对应于第一历史时间和第二历史时间,从而相当于将两个历史时间分别对应的行驶时间概率分布中相同第一路段相同行驶时间对应的两个概率值加权叠加,即根据如下公式叠加:同理,据此对应叠加第二路段第一行驶时间概率分布和第二路段第二行驶时间概率分布。
进而,根据信息熵最小化的条件确定第一路段第二行驶时间概率分布的权重,得到加权后的第一路段第二行驶时间概率分布,以及根据信息熵最小化的条件确定所述第二路段第二行驶时间概率分布的权重,得到加权后的第二路段第二行驶时间概率分布。具体地,根据如下公式(6)确定第一路段第二行驶时间概率分布的权重和第二路段第二行驶时间概率分布的权重:
其中,l为所述第一路段和所述第二路段中的任一路段,Il为所述任一路段所对应的行驶时间种类总数,为根据所述任一路段的第一行驶时间概率分布得到的第q种行驶时间的概率,为根据所述任一路段的第二行驶时间概率分布得到的第q种行驶时间的概率,为第q种行驶时间的权重,为所述任一路段的第q种行驶时间的叠加概率;其中,
步骤106、针对所述每个马尔科夫链,卷积所述加权后的第一路段第二行驶时间概率分布和所述加权后的第二路段第二行驶时间概率分布,得到每个马尔科夫链对应的行驶时间概率分布。
本实施例中,在得到第一路段第二行驶时间概率分布的权重和第二路段第二行驶时间概率分布的权重,即第二历史时间对应的第一路段的每种行驶时间的权重和第二路段的每种行驶时间的权重之后,针对每个马尔科夫链,得到针对每个马尔科夫链的行驶时间概率分布。具体地,根据公式(7)得到任一马尔科夫链ms的对应的行驶时间概率分布:
sTTD(ms)=sTTD{S1=z1,S2=z2}=sTTD(z1)*sTTD(z2) (7)
其中,sTTD(z1)表示第一路段的第z1个时间状态区间对应的行驶时间概率分布,sTTD(z2)表示第二路段的第z2个时间状态区间对应的行驶时间概率分布。
步骤107、根据所述每个马尔科夫链的发生概率和所述每个马尔科夫链对应的行驶时间概率分布,确定所述第一路段和所述第二路段的行驶时间预测结果。
最终,在上述得到每个马尔科夫链的发生概率以及每个马尔科夫链对应的行驶时间概率分布之后,根据如下公式(8)确定第一路段和所述第二路段的行驶时间预测结果sTTD:
其中,Pr(ms)为任一马尔科夫链ms的发生概率,sTTD(ms)为马尔科夫链ms对应的行驶时间概率分布。
本实施例中,首先获得距离当前时刻较短时间内的经过两相邻路段的各车辆的第二历史轨迹信息,以及获得距离当前时候较长的比如一周之内的包含该当前时刻的一定时间段内的、经过两相邻路段的各车辆的第一历史轨迹信息;其次,分别根据各第一历史轨迹信息和各第二历史轨迹信息得到经过第一路段的行驶时间和经过第二路段的行驶时间构成的与第一历史时间和第二历史时间分别对应的坐标点,由这些坐标点分别得到与第一历史时间对应的第一行驶时间联合分布图以及与第二历史时间对应的第二行驶时间联合分布图,并对这两个行驶时间联合分布图进行行驶时间概率分布的分析,以根据信息熵最小化的条件来确定与第二历史时间对应的两个路段的行驶时间数据对于路段行驶时间预测结果的影响权重;再者,通过对第二历史时间对应的第二行驶时间联合分布图进行马尔科夫过程处理,得到两个路段间不同行驶时间状态的组合方式,并针对每种组合方式得到该组合方式的发生概率;进而,针对每种组合方式即每种马尔科夫链,根据上述得到的确定权重后的行驶时间概率分布,得到每种组合方式下对应的行驶时间概率分布;最终,结合每种组合方式发生的概率以及每种组合方式对应的行驶时间概率分布得到两个路段的行驶时间预测结果。由于第二历史时间对应的各行驶时间数据反映了近实时的道路交通状况,通过对两种历史行驶时间数据的联合分析处理,充分考虑了路网交通即各个路段的动态交通状况,保证了路段行驶时间预测结果的可靠性,从而使得基于该预测结果进行的后续路径选择结果更为可靠。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。