车辆轨迹预测模型建立及预测方法
技术领域
本发明涉及车辆轨迹预测技术领域,具体涉及一种车辆轨迹预测模型建立及预测方法。
背景技术
在传统的车辆轨迹预测中,大多采用车载GPS设备来收集车辆的位置数据,从而得到车辆的行驶轨迹,对历史行驶轨迹数据进行分析和利用后预测车辆轨迹。但采用这样方式来收集车辆的位置数据,有其局限性,车载GPS普及过程极其缓慢,还有很多车辆并未装载GPS。因此,目前出现很多通过摄像头获取车辆位置数据,由于各道路设置摄像头已经变得非常普遍,且图像识别技术也得到长足的发展,通过摄像头拍摄车辆来获得车辆位置数据,并以此预测出车辆轨迹变得可行,且更符合目前的实际情况。
但目前通过拍摄图像获得车辆位置数据来预测车辆轨迹方法中,车辆位置数据庞杂,也即用于进行车辆轨迹预测的数据质量不高,而导致计算量大,而且车辆位置数据中只关注车辆轨迹的序列特性和时间特性,忽略了车辆本身的性质和同类车行为的相似性,其车辆轨迹的预测准确性并不高。
发明内容
针对现有技术的不足,本发明的目的之一提供一种车辆轨迹预测模型建立方法,其能够解决车辆轨迹预测数据质量不高以及车辆轨迹预测准确性不高的问题;
本发明的目的之二提供一种车辆轨迹预测方法,其能够解决车辆轨迹预测数据质量不高以及车辆轨迹预测准确性不高的问题;
实现本发明的目的之一的技术方案为:一种车辆轨迹预测模型建立方法,包括以下步骤:
步骤S1:获取车辆的历史行驶轨迹数据,构建所述车辆的单辆车轨迹数据和路网车辆轨迹数据;
步骤S2:分别对所述单辆车轨迹数据和路网车辆轨迹数据进行筛选,得到筛选单辆车轨迹数据和筛选路网车辆轨迹数据;
步骤S3:分别对筛选单辆车轨迹数据和筛选路网车辆轨迹数据进行卡口补全,得到有效单辆车轨迹数据和有效路网车辆轨迹数据;
步骤S4:根据有效单辆车轨迹数据建立有效单辆车轨迹数据的预测模型,以及根据有效路网车辆轨迹数据建立有效路网车辆轨迹数据的预测模型;
步骤S5:根据所述有效单辆车轨迹数据的预测模型和有效路网车辆轨迹数据预测模型,构建融合训练集;
步骤S6:根据所述融合训练集,对设定预测模型进行训练,生成车辆轨迹预测模型。
进一步地,所述历史行驶轨迹数据至少包括所述车辆按照时间顺序依次经过卡口形成的卡口轨迹序列。
进一步地,所述单辆车轨迹数据和路网车辆轨迹数据根据卡口轨迹序列构建,单辆车轨迹数据的数据结构为{当前卡口号,时间段类型,日期段类型,具体时间,下一卡口号},路网车辆轨迹数据的数据结构为{车牌号,当前卡口号,车型,车辆归属地,时间段类型,日期段类型,具体时间,下一卡口号}。
进一步地,所述时间段类型包括:凌晨、早高峰、上午、中午、下午、晚高峰和深夜;所述日期段类型包括假期第一天、假期中间、假期最后一天、工作日第一天、工作日中间和工作日最后一天。
进一步地,在执行步骤S4之前,还包括将有效单辆车轨迹数据的第四个特征“具体时间”删除,得到新的有效单辆车轨迹数据,所述步骤S4对新的有效单辆车轨迹数据建立预测模型;
以及,将有效路网车辆轨迹数据的第一特征“车牌号”与第七个特征“具体时间”删除,得到新的有效路网车辆轨迹数据,所述步骤S4对新的有效路网车辆轨迹数据建立预测模型。
进一步地,所述对所述单辆车轨迹数据和路网车辆轨迹数据进行筛选,包括:
删除满足条件一的单辆车轨迹数据或路网车辆轨迹数据,保留剩余的单辆车轨迹数据和路网车辆轨迹数据,分别记为筛选单辆车轨迹数据和筛选路网车辆轨迹数据;
条件一:车辆经过当前卡口号和下一卡口号的耗时小于预设时间,且当前卡口号与下一卡口号相同。
进一步地,所述预设时间通过以下步骤得到:
车辆经过所有的两个相邻卡口的耗时的平均值记为μ,标准差记为δ,则预设时间为μ-2δ。
进一步地,所述对筛选单辆车轨迹数据和筛选路网车辆轨迹数据进行卡口补全,包括:
对筛选单辆车轨迹数据按步骤S3-1进行卡口补全:
步骤S3-1:筛选单辆车轨迹数据对应的卡口轨迹序列记为第一卡口轨迹序列,从第一卡口轨迹序列的第一个卡口开始,将包括当前卡口和下一卡口的相邻的两个卡口构成两卡口单元,判断出两卡口单元遗漏的卡口,并将遗漏的卡口补入到第一卡口轨迹序列中,遗漏的卡口位于对应的两卡口单元中的当前卡口之后、下一卡口之前,从而得到有效单辆车轨迹数据;
对筛选路网车辆轨迹数据进行补全:按车牌号依次对每一个车牌号下的筛选路网车辆轨迹数据按步骤S3-1进行处理,得到有效路网车辆轨迹数据。
进一步地,所述判断出两卡口单元中遗漏的卡口的具体实现过程,包括以下步骤:
从第一卡口轨迹序列的第一个卡口开始,依次提取出连续相邻的三个卡口,连续相邻的三个卡口作为一个三卡口单元,得到三卡口序列集;
计算三卡口序列集中每个三卡口单元出现的次数,以及计算三卡口序列集的三卡口单元平均值
若三卡口单元出现的次数大于则将该三卡口单元作为补全序列集的补全序列单元,得到补全序列集;
从第一卡口轨迹序列的第一个卡口开始,依次提取出连续相邻的两个卡口,连续相邻的两个卡口作为一个两卡口单元,得到两卡口序列集;
比较两卡口单元与补全序列单元:当两卡口单元的两个卡口分别和补全序列单元的第一个卡口和第三个卡口相同,则将该两卡口单元作为待补全卡口单元,所有待补全卡口单元组成待补全卡口单元集;
计算车辆经过待补全卡口单元集中每个待补全卡口单元中两个卡口之间的耗时d1,以及计算车辆经过对应补全序列单元中第一个卡口和最后一个卡口之间的耗时d2;
若|d1-d2|<0.2d2,则判断待补全卡口单元有遗漏的卡口,该遗漏的卡口即为两卡口单元遗漏的卡口,所述遗漏的卡口为与补全序列单元中间的卡口相同的卡口。
进一步地,所述有效单辆车轨迹数据的预测模型为朴素贝叶斯模型,通过公式①构建所述有效单辆车轨迹数据的预测模型:
其中,X(i)表示样本的第i个特征,一条有效单辆车轨迹数据则为一个样本,x(i)表示第i个特征的特征值,y表示下一卡口,bk表示下一卡口编号,P(y=bk)表示下一卡口为编号为bk的卡口的概率,P(X(i)=x(i)|y=bk)表示在下一卡口为编号为bk的卡口的条件下,第i个特征的特征值为x(i)的概率,k表示有效单辆车轨迹数据对应的卡口轨迹序列中不同卡口依次构成的卡口序列的第k个卡口,f(x)返回bk值;
P(X(i)=x(i)|y=bk)按公式②计算,P(y=bk)按公式③计算:
其中,N表示样本总数,表示从N个样本中找出符合y=bk的样本个数,表示第j个样本中的第i个特征,表示第j个样本中的第i个特征的特征值为a,表示符合第j个样本中的第i个特征的特征值为a,且下一卡口编号为bk的样本的总个数,表示符合下一卡口编号为bk的样本的总个数,Count(bk)为一个函数,取值为:如果卡口编号为bk的卡口出现的次数大于所有卡口出现次数的均值,则Count(bk)=卡口编号为bk的卡口出现的次数,否则Count(bk)=0。
进一步地,所述有效路网车辆轨迹数据的预测模型为朴素贝叶斯模型,通过公式④构建所述有效路网车辆轨迹数据的预测模型:
其中,ω(X(i))为函数,其取值为:
P′(X(i)=x(i)|y=bk′)表示在下一卡口为编号为bk′的卡口的条件下,第i个特征的特征值为x(i)的概率,P′(y=bk′)表示下一卡口为编号为bk′的卡口的概率,k′表示有效路网车辆轨迹数据对应的卡口轨迹序列中不同卡口依次构成的卡口序列的第k′个卡口,f′(x)返回bk′值;P′(y=bk′)和P′(X(i)=x(i)|y=bk′)分别按公式⑤和⑥计算得到:
其中,K表示所有样本中下一卡口号种类的总个数,一条有效路网车辆轨迹数据视为一个样本,λ>0。
进一步地,所述融合训练集具体实现过程,包括以下步骤:
每一条有效单辆车轨迹数据通过所述有效单辆车轨迹数据的预测模型计算得到对应的一个系数值,第j条有效单辆车轨迹数据通过所述有效单辆车轨迹数据的预测模型计算得到的系数值为aj;每一条有效路网车辆轨迹数据通过所述有效路网车辆轨迹数据的预测模型计算得到对应的一个系数值,第j条有效路网车辆轨迹数据通过所述有效路网车辆轨迹数据的预测模型计算得到的系数值为a′j,其中,
构建训练子集,第j个样本的训练子集为{aj,a′j,yj},yj取值为0或1;第j个样本的当前卡口记为kj,下一卡口记为k′j,通过所述有效单辆车轨迹数据的预测模型的预测结果的下一卡口记为S,通过所述有效路网车辆轨迹数据的预测模型的预测结果的下一卡口记为S′;如果S=k′j,则yj=0;如果S′=k′j,则yj=1;如果S=k′j且S′=k′j,则yj=0;如果S≠k′j且S′≠k′j,则不将第j个样本对应计算得到的系数值作为训练子集,从而得到每个样本的训练子集;
所有的训练子集构成融合训练集,得到融合训练集为{{a1,a′1,y1},{a2,a′2,y2},……,{aj,a′j,yj},……,{aN,a′N,yN}}。
进一步地,所述预测模型为公式⑦:
f(a,b)=sigmoid(λ1a+λ2b+λ3)------⑦
其中,λ1、λ2和λ3均为常数,并预设λ1、λ2和λ3任意初始值,a表示aj的集合,b表示a′j的集合,即a=[a1,a2,…,aj,…aN],b=[a′1,a′2,…,a′j,…a′N];
λ1、λ2和λ3的最终值通过损失函数得到,所述损失函数为公式⑧:
通过梯度下降算法使得损失函数loss最小,得到λ1、λ2和λ3的最终值,将最终值的λ1、λ2和λ3代入公式⑦,得到车辆轨迹的预测模型。
实现本发明的目的之二的技术方案为:一种车辆轨迹预测方法,包括以下步骤:
步骤S1:获取车辆的历史行驶轨迹数据,构建所述车辆的单辆车轨迹数据和路网车辆轨迹数据;
步骤S2:分别对所述单辆车轨迹数据和路网车辆轨迹数据进行筛选,得到筛选单辆车轨迹数据和筛选路网车辆轨迹数据;
步骤S3:分别对筛选单辆车轨迹数据和筛选路网车辆轨迹数据进行卡口补全,得到有效单辆车轨迹数据和有效路网车辆轨迹数据;
步骤S4:根据有效单辆车轨迹数据建立有效单辆车轨迹数据的预测模型,以及根据有效路网车辆轨迹数据建立有效路网车辆轨迹数据的预测模型;
步骤S5:根据所述有效单辆车轨迹数据的预测模型和有效路网车辆轨迹数据预测模型,构建融合训练集;
步骤S6:根据所述融合训练集,对设定预测模型进行训练,生成车辆轨迹预测模型;
步骤S7:将待预测的车辆行驶轨迹数据构建单辆车轨迹数据和路网车辆轨迹数据,并分别对单辆车轨迹数据和路网车辆轨迹数据进行数据筛选和数据补全后输入所述预测模型进行预测,获得预测结果。
进一步地,所述预测结果包括:车辆的下一个卡口为卡口S的概率为1-f(a,b),车辆的下一卡口为S′的概率为f(a,b);所述下一个卡口为卡口S为通过所述效单辆车轨迹数据的预测模型进行预测得到的结果,下一卡口为S′为通过所述有效路网车辆轨迹数据的预测模型进行预测得到的结果,f(a,b)为通过所述车辆轨迹预测模型计算得到的结果值。
本发明的有益效果为:本发明数据清洗过程将数据特征扩展,特殊的时间日期处理办法使得预测模型更有效的利用时间,同时保留了车型和归属地的次要特征,使得数据尽可能还原真实生活,使预测模型考虑到更多的可能存在的关联关系,预测结果更符合实际情况。单辆车轨迹预测采用倾斜估计计算,考虑到了车辆用户本来的行车习惯,有效预测车辆常去地点。路网车辆轨迹预测使用了改进的贝叶斯公式预测结果,是对单辆车轨迹预测的一种补充,补充了那些因漏拍导致数据不完整的情况下车辆轨迹预测,同时对那些车辆没去过的卡口也进行了预测。车辆轨迹预测模型融合兼顾了预测的准确性与新卡口出现的可能性,使得预测结果更加准确,更贴近真实情况。
附图说明
图1为实施例一的流程示意图;
图2为实施例二的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
如图1所示,一种车辆轨迹预测模型建立方法,包括以下步骤:
步骤S1:获取车辆的历史行驶轨迹数据,历史行驶轨迹数据至少包括车辆按照时间顺序依次经过卡口形成的卡口轨迹序列,并根据卡口轨迹序列构建单辆车轨迹数据和路网车辆轨迹数据。
本实施例中,车辆的历史行驶轨迹数据是指,在某个时间段内(例如12个小时),车辆在各个道路卡口中被摄像头拍摄到车辆的经过信息,从而得到每一辆车按时间顺序从第一个卡口依次经过各卡口直至到达最后一个卡口的信息,即得到卡口轨迹序列,卡口轨迹序列至少包括车辆经过的当前卡口、车辆经过的下一个卡口、经过卡口时的日期和具体时间、经过卡口所在时间的时间段类型、经过卡口时的日期的日期段类型、车辆的车牌号、车辆车型、车辆归属地,每一个卡口有唯一对应的一个卡口号。
根据车辆的卡口轨迹序列对每一辆车构建对应的单辆车轨迹数据和路网车辆轨迹数据。单辆车轨迹数据的数据结构为{当前卡口号,时间段类型,日期段类型,具体时间,下一卡口号};路网车辆轨迹数据的数据结构为{车牌号,当前卡口号,车型,车辆归属地,时间段类型,日期段类型,具体时间,下一卡口号}。
单辆车轨迹数据或路网车辆轨迹数据的结构中,除去最后一个属性“下一卡口号”定义为标签之外,其余的每一个属性均为一个特征,例如,单辆车轨迹数据中,第一个属性“当前卡口号”为第一个特征,“当前卡口号”的取值为特征的特征值,“时间段类型”为第二个特征,第二个特征“时间段类型”的取值为特征值,以此类推。
当车辆经过的最后一个卡口作为当前卡口号,则下一卡口号设置为0或空。
其中,时间段类型包括凌晨(0-7点)、早高峰(7-9点)、上午(9-12点)、中午(12-14点)、下午(14-17点)、晚高峰(17-20点)、深夜(20-24点),即时间段类型包括若干时间段,因此“时间段类型”的特征值为凌晨(0-7点)、早高峰(7-9点)、上午(9-12点)、中午(12-14点)、下午(14-17点)、晚高峰(17-20点)、深夜(20-24点);日期段类型包括假期第一天、假期中间、假期最后一天、工作日第一天、工作日中间、工作日最后一天,假期包括周末和国家法定节假日,工作日是指国家规定的上班日,通常为每周的周一至周五;车型包括轿车、客运车、货车和其他,当然也可以将车型分成其他类别,比如,车型包括出租车、私家车、摩托车和其他。
具体时间是指车辆经过卡口时的精确时间,比如2018-05-0422:31:3。
单辆车轨迹数据是同一车牌号(即同一辆车)的经过所有卡口的行驶记录,而路网车辆轨迹数据是指历史行驶轨迹数据中,每一个车牌号经过所有卡口的行驶记录的总和,也即所有车辆的行驶记录。路网车辆轨迹数据按车牌号进行分类后即得到对应车牌号的单辆车轨迹数据。例如,历史行驶轨迹数据中,车辆M依次经过10个卡口A1A2A3A4A5A6A7A8A9A10,车辆N依次经过10个卡口B1B2B3B4B5B6B7B8B9B10,则得到车辆M的10个单辆车轨迹数据,分别为{A1,时间段类型,日期段类型,具体时间,A2}、{A2,时间段类型,日期段类型,具体时间,A3}、{A3,时间段类型,日期段类型,具体时间,A4}、{A4,时间段类型,日期段类型,具体时间,A5}、{A5,时间段类型,日期段类型,具体时间,A6}、{A6,时间段类型,日期段类型,具体时间,A7}、{A7,时间段类型,日期段类型,具体时间,A8}、{A8,时间段类型,日期段类型,具体时间,A9}、{A9,时间段类型,日期段类型,具体时间,A10}、{A10,时间段类型,日期段类型,具体时间,0}。
同样的,车辆N有10个单辆车轨迹数据。路网车辆轨迹数据则包括车辆M的10个单辆车轨迹数据和车辆N的10个单辆车轨迹数据,并在相应的每个单辆车轨迹数据上加上车牌号、车型和车辆归属地特征。
每一条单辆车轨迹数据或路网车辆轨迹数据视为一个样本。
步骤S2:单辆车轨迹数据和路网车辆轨迹数据的数据筛选。
由于摄像头可能会在几乎同一时间(即相隔很短时间)同一个卡口拍摄到同一车辆,例如相隔0.1s,在相隔很短时间内,同一个卡口拍摄到同一车辆,也即单辆车轨迹数据和路网车辆轨迹数据中,导致当前卡口号与下一卡口号相同,对应的该条单辆车轨迹数据或路网车辆轨迹数据即为重复数据,需要删除。通常这是由于摄像头本身出现的问题所导致的。针对这种某一车辆在相隔很短时间内在同一卡口出现两次或两次以上的情况,需要去除多余的单辆车轨迹数据和路网车辆轨迹数据,从而保证在短时间内同一辆车只有一条对应的单辆车轨迹数据和路网车辆轨迹数据。其具体实现过程包括以下步骤:
任意一车辆经过任一卡口A和另一相邻卡口B之间的耗时是呈正态分布的,呈正态分布经过所有的两个相邻卡口的耗时的平均值记为μ,标准差记为δ。
对每一车辆的单辆车轨迹数据,读取每一车辆的经过卡口A和卡口B的耗时TAB,若TAB≥μ-2δ,其中,μ-2δ称为预设时间,则将对应的车辆经过卡口A和卡口B的单辆车轨迹数据或路网车辆轨迹数据视为正确记录的数据,即若单辆车轨迹数据或路网车辆轨迹数据中,其当前卡口为卡口A且下一卡口为卡口B,则将该条单辆车轨迹数据或路网车辆轨迹数据视为正确记录的数据,对正确记录的数据进行保留;否则,删除满足条件一的单辆车轨迹数据或路网车辆轨迹数据:
条件一:若TAB<μ-2δ,则比较卡口A和卡口B的卡口号是否相同,若卡口A和卡口B的卡口号相同,即当前卡口号与下一卡口号相同,则删除对应的单辆车轨迹数据或路网车辆轨迹数据,否则,仍保留对应的单辆车轨迹数据或路网车辆轨迹数据。
经过数据筛选后的单辆车轨迹数据和路网车辆轨迹数据分别记为筛选单辆车轨迹数据和筛选路网车辆轨迹数据。经过数据筛选后,单辆车轨迹数据对应的原始的卡口轨迹序列(例如为A1A2A3A4A5A6A7A8A9A10)得到更新。以单辆车轨迹数据为例,如果车辆经过相邻的两个卡口A5A6的耗时满足条件一,则需要将下一卡口A6和对应的数据记录删除,即删除卡口A6和对应的{A6,时间段类型,日期段类型,具体时间,A7}记录,并且将卡口A5的下一卡口修改为删除的卡口A6的下一卡口A7。例如,删除原始的卡口轨迹序列A1A2A3A4A5A6A7A8A9A10中对应位置的卡口A6后,相应的变为新的卡口轨迹序列A1A2A3A4A5A7A8A9A10,新的卡口轨迹记为第一卡口轨迹序列。
步骤S3:分别对筛选单辆车轨迹数据和筛选路网车辆轨迹数据进行卡口补全。
对筛选单辆车轨迹数据而言,按以下步骤处理:
获得经过步骤S2筛选处理后的筛选单辆车轨迹数据对应的依次行驶经过的卡口轨迹序列,从卡口轨迹序列中的第一个卡口开始,依次提取出连续相邻的三个卡口,连续相邻的三个卡口作为一个三卡口单元,从而得到三卡口序列集。例如,假设其卡口轨迹序列为ABCDEFACDEFABCE,从第一个卡口A开始,依次提取出连续相邻的三个卡口形成一个三卡口单元,例如得到三卡口单元ABC,三卡口单元组成三卡口序列集,得到的三卡口序列集为{ABC,BCD,CDE,DEF,EFA,FAC,ACD,CDE,DEF,EFA,FAB,ABC,BCE}。计算三卡口序列集中每个三卡口单元出现的次数,也即计算三卡口序列集中三卡口单元的个数,例如三卡口单元ABC、CDE、DEF和EFA在三卡口序列集中均出现2次,而其余的三卡口单元出现的次数均为一次,并计算出三卡口序列集的三卡口单元平均值 例如,三卡口序列集{ABC,BCD,CDE,DEF,EFA,FAC,ACD,CDE,DEF,EFA,FAB,ABC,BCE}的三卡口单元的总个数为13,不同三卡口单元的总个数为9,因此
当计算得到三卡口单元平均值后,比较每个三卡口单元出现的次数与三卡口单元平均值的大小,若三卡口单元出现的次数大于三卡口单元平均值,则将对应的三卡口单元作为补全序列集的补全序列单元,例如,三卡口单元ABC、CDE、DEF和EFA出现的次数均大于三卡口单元平均值,因此,三卡口单元ABC、CDE、DEF和EFA均为补全序列单元,也即得到补全序列集{ABC,CDE,DEF,EFA};否则,不将三卡口单元作为补全序列单元。
然后,从卡口轨迹序列的第一个卡口开始,依次提取出连续相邻的两个卡口,连续相邻的两个卡口作为一个两卡口单元,并得到两卡口序列集。例如,卡口轨迹序列ABCDEFACDEFABCE得到的两卡口序列集为{AB,BC,CD,DE,EF,FA,AC,CD,DE,EF,FA,AB,BC,CE},并比较两卡口单元与补全序列单元,当两卡口单元的两个卡口分别和补全序列单元的第一个卡口和第三个(即最后一个)卡口相同,则将对应的两卡口单元作为可能需要补全的卡口单元,即待补全卡口单元,所有待补全卡口单元组成待补全卡口单元集。例如,两卡口单元AC和补全序列单元ABC的第一个卡口A和第三个卡口C分别相同,因此,两卡口单元AC为待补全卡口单元。同理,两卡口单元CE与补全序列单元CDE的第一个卡口C和第三个卡口E分别相同,因此,两卡口单元CE为待补全卡口单元。因此得到,待补全卡口单元集{AC,CE}。
得到待补全卡口单元集后,计算车辆经过每个待补全卡口单元中两个卡口之间的耗时,并记为d1,以及对应补全序列单元中与待补全卡口单元的两个卡口相同的两个卡口之间的耗时,并记为d2。例如,车辆经过待补全卡口单元AC中的卡口A和卡口C之间的耗时为d1,经过对应补全序列单元ABC中的卡口A和卡口C之间的耗时为d2。如果|d1-d2|<0.2d2,则判断待补全卡口单元有遗漏的卡口,即在补全卡口单元的两个卡口之间遗漏了一个卡口,遗漏的卡口为与补全序列单元中间的卡口相同的卡口。
例如,经过计算后,车辆经过待补全卡口单元AC中的卡口A和卡口C之间的耗时d1和经过对应补全序列单元ABC中的卡口A和卡口C之间的耗时d2满足上述要求,则判断为待补全卡口单元AC之间遗漏了卡口B,即遗漏了与补全序列单元ABC中的卡口B,并将卡口B补入待补全卡口单元AC中。补入卡口B后的待补全卡口单元AC得到卡口序列ABC,并将该卡口序列ABC替换原卡口轨迹序列中卡口序列AC,从而更新卡口轨迹序列。卡口B补入待补全卡口单元AC后,相应的,原卡口轨迹序列ABCDEFACDEFABCE变为新的卡口轨迹序列ABCDEFABCDEFABCE;如果不满足上式要求,则不补入卡口,直至将待补全卡口单元集中的所有待补全卡口单元补入完成,并得到新的卡口轨迹序列,从而完成单辆车轨迹数据的轨迹补全,得到轨迹补全后的单辆车轨迹数据,轨迹补全后的单辆车轨迹数据记为有效单辆车轨迹数据。
对路网车辆轨迹数据而言,先将路网车辆轨迹数据按车牌进行拆分,得到类似于单辆车轨迹数据,即每一个车牌均得到的数据的数据结构为{车牌号,当前卡口号,车型,车辆归属地,时间段类型,日期段类型,具体时间,下一卡口号},后续的处理步骤与单辆车轨迹数据的处理步骤相同,从而完成路网车辆轨迹数据的轨迹补全,轨迹补全后的路网车辆轨迹数据记为有效路网车辆轨迹数据。
步骤S4:建立有效单辆车轨迹数据的预测模型。
建立有效单辆车轨迹数据的预测模型,所述预测模型为公式①:
其中,X(i)表示样本的第i个特征,一条有效单辆车轨迹数据则为一个样本,例如{A1,时间段类型,日期段类型,具体时间,A2}即为一个样本,X(1)表示样本的第一个特征A1;x(i)表示样本中的第i个特征的特征值,y表示下一卡口,bk表示下一卡口编号,P(y=bk)表示下一卡口为编号为bk的卡口的概率;P(X(i)=x(i)|y=bk)表示在下一卡口为编号为bk的卡口的条件下,样本的第i个特征的特征值为x(i)的概率;k表示有效单辆车轨迹数据对应的卡口轨迹序列中不同卡口依次构成的卡口序列的第k个卡口,例如,有效单辆车轨迹数据对应的卡口轨迹序列为ABCDEABC,则不同卡口依次构成的卡口序列为ABCDE,对应的k取值为1-5,即k=1,2,3,4,5;f(x)返回的是bk值,bk值代表了第k个卡口对应的卡口编号,例如,f(x)返回的bk值为b3,对应的,代表返回的是卡口C,返回的bk值对应的卡口记为S。
为了减小计算量,在建立有效单辆车轨迹数据的预测模型之前,将有效单辆车轨迹数据的“具体时间”特征删除,从而得到样本为{当前卡口号,时间段类型,日期段类型,下一卡口号},这样x(1)表示当前卡口号,x(2)表示时间段类型,x(3)表示日期段类型。需要注意的是,最后一个属性“下一卡口号”不是特征,定义为标签,因此没有x(4),即i的最大值为3。
由公式①可知,只需要计算出P(X(i)=x(i)|y=bk)和P(y=bk),在此,采用极大似然估计来计算P(X(i)=x(i)|y=bk),采用倾斜估计来计算P(y=bk)。P(X(i)=x(i)|y=bk)按公式②计算,P(y=bk)按公式③计算:
其中,N表示样本总数,也即某一车辆的所有单辆车轨迹数据,表示从N个样本中找出符合y=bk的样本个数,也即符合y=bk的单辆车轨迹数据的记录条数;表示第j个样本中的第i个特征,例如表示第100个样本的第1个特征,表示第j个样本中的第i个特征的特征值为a,例如表示第100个样本的第1个特征的特征值为0023,表示符合第j个样本中的第i个特征的特征值为a,且下一卡口编号为bk的样本,表示符合第j个样本中的第i个特征的特征值为a,且下一卡口编号为bk的样本的总个数;同样的,I(y=bk)表示符合下一卡口编号为bk的样本,表示符合下一卡口编号为bk的样本的总个数;Count(bk)为一个函数,其取值为:如果卡口编号为bk的卡口出现的次数大于所有卡口出现次数的均值,则Count(bk)=卡口编号为bk的卡口出现的次数,否则Count(bk)=0。
通过Count(bk)可以将经常出现的卡口考虑进去,即增大了对经常出现卡口的概率,并削弱了不经常出现卡口的概率。
步骤S5:建立有效路网车辆轨迹数据的预测模型。
建立有效路网车辆轨迹数据的预测模型,所述预测模型为公式④:
其中,ω(X(i))为函数,其取值为:
ω(X(i))的意义在于,改变了样本中特征对预测模型的结果的贡献程度,ω(X(i))取值越大,贡献越大,反之,则越小。在普通的贝叶斯模型计算中,每个特征视为同等重要,即相当于每个特征的权重是一样的。但在车辆轨迹预测中,并不是每个特征都是同等重要,根据实际情况和研究,发现卡口号的重要性要大于其他特征,因此,赋予“当前卡口号”特征最大的权重值,使得预测模型的预测结果更依赖于卡口号特征,总的来说,特征的重要程度如下:
当前卡口号>时间段类型=日期段类型>车型=车辆归属地。
对应的,ω(X(i))的取值1、2和3只是表示对应特征的重要程度,并不是限制ω(X(i))的取值只能为1、2和3,因此ω(X(i))的取值可以为:
其中,q1>q2>q3>0。
X(i)表示有样本的第i个特征,一条有效路网车辆轨迹数据则为一个样本,x(i)样本中的第i个特征的特征值,y表示下一卡口,bk′表示下一卡口编号,P′(y=bk′)表示下一卡口为编号为bk′的卡口的概率;P′(X(i)=x(i)|y=bk′)表示在下一卡口为编号为bk′的卡口的条件下,样本第i个特征的特征值为x(i)的概率;k′表示有效路网车辆轨迹数据对应的卡口轨迹序列中不同卡口依次构成的卡口序列的第k′个卡口,例如,有效单辆车轨迹数据对应的卡口轨迹序列为ABCDEABC,则不同卡口依次构成的卡口序列为ABCDE,对应的k′取值为1-5,即k′=1,2,3,4,5;f(x)返回的是bk′值,bk′值代表了对应的卡口,例如,f(x)返回的bk′值为b3,对应的,代表返回的是卡口C,返回的bk′值对应的卡口记为S′。
为了减小计算量,在建立有效路网车辆轨迹数据的预测模型之前,将有效路网车辆轨迹数据的“车牌号”、“具体时间”特征删除,从而得到样本为{当前卡口号,车型,车辆归属地,时间段类型,日期段类型,下一卡口号},这样x(1)表示当前卡口号,x(2)表示车型,x(3)表示车辆归属地,x(4)表示时间段类型,x(5)表示日期段类型。需要注意的是,属性“下一卡口号”定义为标签,不是特征,因此并没有x(6),因此i的最大值为5。
P′(y=bk′)和P′(X(i)=x(i)|y=bk′)分别按公式⑤和⑥计算得到:
其中,K表示所有样本中标签“下一卡口号”种类的总个数,例如,有效路网车辆轨迹数据对应的卡口轨迹序列为ABCDEABC,则N=8,K=5;λ>0,λ的具体取值通常为1-3。
步骤S6:建立车辆轨迹预测融合模型的融合训练集。
在上述公式①中,对每一条有效单辆车轨迹数据(即每一条样本)都对应得到一个系数值aj,aj表示第j个样本计算出的系数值,aj的计算公式如下:
同样的,在公式④中,对每一条有效路网车辆轨迹数据(即每一条样本)都对应得到一个系数值a′j,a′j表示第j个样本计算出的系数值,a′j的计算公式如下:
构建融合模型的训练子集,第j个样本的训练子集为{aj,a′j,yj},yj取值为0或1;yj的取值通过如下步骤得到:
假设当前卡口为kj,下一卡口为k′j的数据分别对应为第j个有效路网车辆轨迹数据和第j个有效路网车辆轨迹数据。将第j个样本对应的有效路网车辆轨迹数据代入所述有效单辆车轨迹数据的预测模型,以及第j个样本对应的有效路网车辆轨迹数据代入所述有效路网车辆轨迹数据的预测模型进行预测。即将当前卡口为kj且下一卡口为kj′对应的有效单辆车轨迹数据通过上述公式①进行预测,将当前卡口为kj且下一卡口为kj′对应的有效路网车辆轨迹数据通过公式④进行预测,预测的结果分别记为S和S′。
如果S=k′j,则yj=0;如果S′=k′j,则yj=1;如果S=k′j且S′=k′j,则yj=0;如果S≠k′j且S′≠k′j,则不将第j个样本作为训练子集,即第j个样本未有对应的训练子集。
对每一个样本均按此计算得到对应的yj值,从而得到所有的训练子集构成融合模型的融合训练集。
也即,若yj=0,则表示预测结果为有效单辆车轨迹数据的预测模型的预测结果,即预测结果的下一卡口为S;若yj=1,则表示预测结果为有效路网车辆轨迹数据的预测模型的预测结果,即预测结果的下一卡口为S′。
所有的训练子集构成融合模型的融合训练集,即融合训练集为{{a1,a′1,y1},{a2,a′2,y2},……,{aj,a′j,yj},……,{aN,a′N,yN}},j=1,2,3,…,N。
所述每一个训练子集中的aj和a′j都是针对同一个车辆,aj表示从同一个车辆的有效单辆车轨迹数据中计算得到,a′j表示从同一个车辆的有效路网车辆轨迹数据中计算得到。
步骤S7:建立车辆轨迹预测的预测模型
所述车辆轨迹预测的预测模型为公式⑦:
f(a,b)=sigmoid(λ1a+λ2b+λ3)------⑦
这是一个逻辑回归模型,λ1、λ2和λ3均为常数,并预设λ1、λ2和λ3任意初始值。其中,a表示aj的集合,b表示a′j的集合,即a=[a1,a2,…,aj,…aN],b=[a′1,a′2,…,a′j,…a′N]。例如有,f(a1,b1)=sigmoid(λ1a1+λ2b1+λ3)。
建立损失函数,损失函数为公式⑧:
通过梯度下降算法使得损失函数loss最小,得到对应的λ1、λ2和λ3的值,此时λ1、λ2和λ3的值作为最优参数,将最优参数的λ1、λ2和λ3代入公式⑦,从而得到预测模型。
实施例二
如图2所示,实施例二在实施例一的基础上提供一种车辆轨迹预测方法,也即采用实施例一的车辆轨迹预测模型进行预测。与实施例一不同之处在于,还包括以下步骤:
步骤S8:当需要预测当前实际车辆行驶的轨迹,将待预测的车辆行驶轨迹数据按实施例一所述方法进行筛选和卡口补全后输入所述预测模型进行预测,获得预测结果。预测结果包括:车辆的下一卡口为S′的概率为f(a,b),该车辆的下一卡口为S的概率为1-f(a,b)。
本发明相比于现有技术,在对历史行驶轨迹数据进行数据清除过程中,将数据特征扩展,利用特殊的时间日期处理办法使得预测模型更有效的利用时间,同时保留了车型和归属地的次要特征,使得构建后的数据尽可能还原车辆行驶轨迹的真实性,使融合模型考虑到更多的可能存在的关联关系。单辆车轨迹数据的预测使用倾斜估计提取了车辆用户本来的行车习惯,可以有效预测车辆常去地点。路网车辆轨迹数据的预测使用了改进的贝叶斯公式,是对基于单辆车轨迹数据进行预测的一种补充,补充了那些因漏拍导致数据不完整的情况下车辆轨迹预测,同时对那些车辆没去过的卡口也进行了预测。融合模型兼顾了预测的准确性与新卡口出现的可能性,使得预测结果更加准确,更贴近真实车辆行驶情况。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。