一种预测目的地和推荐驾驶路线的方法与流程

文档序号:14949091发布日期:2018-07-17 22:08阅读:360来源:国知局

本发明涉及交通出行领域,更具体地说,涉及一种预测目的地和推荐驾驶路线的方法。



背景技术:

随着城市的发展,行车路况也越来越复杂,人们越来越依赖于驾驶路线推荐软件,现在常用的有百度地图app和高德地图app等导航类的应用,它们提供了出行目的地预测和驾驶路线推荐功能。实现的方法是,车主需要预先输入家和工作单位的地址,早上上班时间段车主在家时预测车主去工作单位,下午下班时间段车主在公司时预测车主回家,然后按照实时路况和用户输入的选路偏好,推荐一个驾驶路线。虽然上述导航软件一定程度解决了驾驶路线推荐的问题,但还是存在着下述的一些缺点:

1、预测目的地有限,仅适用于出行规律很固定的上班族,只能预测家和工作单位两个地点,例如车主固定周三上午拜访a客户就不可预测。

2、预测时间段范围有限,周末节假日等非工作日不可预测。

3、推荐驾驶路线,不按照车主的出行选路习惯,只考虑出行时间最短等因素。



技术实现要素:

本发明的主要目的在于克服现有技术的缺点与不足,提供一种预测目的地和推荐驾驶路线的方法,根据车主的出行规律,预测车主即将出行的目的地,同时根据实时路况和车主选路习惯的驾驶路线,推荐驾驶路线,预报出行路线的实时路况信息和预计到达时间。

为了达到上述目的,本发明采用以下技术方案:

本发明预测目的地和推荐驾驶路线的方法,包括下述步骤:

s1、获取用户的历史行程数据,所述用户历史行程数据包括:出发时间、出发地点、行驶轨迹、到达时间以及到达地点;

s2、对获取的历史行程数据进行分析,具体包括下述步骤:

s2.1、停留点聚类,取前后两条行程,若前一条行程的终点与后一条行程的起点一样,则说明用户在该地点停留,前一条行程的结束时间与后一条行程的开始时间之间,为用户在该地点的停留时长;

s2.2、停留点停留时间段学习,确定某个地点的停留时间段的有效范围;

s2.3、识别停留点的社会属性,所述社会属性包括家和公司;

s2.4、起止点组合聚类,分别聚类起止点,起止点在都在同一范围内的行程属于同一组合;

s2.5、行程路线学习,包括下述步骤:

s2.5.1、聚类行驶路线,将gps点网格化,通过将gps坐标,换算成坐标上的网格,后续行程路线间的比较直接使用网格进行比较;

s2.5.2、选取路线的模板行程,即选出最具代表性的行程,生成对应的路线网格;

s2.5.3、添加途经点;

s2.6、出发时间聚类,将同一组合下的行程的出发时间点进行聚类,得出一个或多个出发时间段;

s2.7、路线行驶时长统计学习;

s3、目的地预测,根据历史出行数据,结合当前时间,车主当前位置,预测目的地,具体包括:

s3.1、优先按车主当前位置,预测目的地;

s3.1.1、按起点聚类车主的历史行程数据;

s3.1.2、匹配车主当前位置,得到从当前位置出发的所有行程;

s3.1.3、若s3.1.2中的所有行程的终点指向同一地点,则该地点为预测的目的地;

s3.2、其次,按位置及时间规律,预测目的地;

s3.2.1、按位置及时间的周几属性,预测目的地;

s3.2.1.1、获取出行时间与当前时间的周几属性一样,并且出行时间在当前时间前后一段时间内的所有历史行程数据;

s3.2.1.2、计算s3.2.1.1中的行程的得分;

s3.2.1.3、按终点聚类s3.2.1.1中的所有行程;

s3.2.1.4、计算每个终点的总得分,获取每个终点的得分比例;

s3.2.1.5、当某个终点的得分占比超过一定比例,并且该终点对应的行程频次达到一定数值时,则该终点为预测的目的地;

s3.2.2、按位置及时间的工作日/节假日属性,预测目的地;

s3.2.2.1、获取出行时间与当前时间的工作日/节假日属性一样,并且出行时间在当前时间前后一段时间内的所有历史行程数据;

s3.2.2.2、后续步骤类似s3.2.1的s3.2.1.2、s3.2.1.3、s3.2.1.4、s3.2.1.5;

s3.3、最后,按行程总体得分比例,预测目的地;

s3.3.1、计算所有行程的得分;

s3.3.2、将行程按终点进行聚类,统计聚类后每个终点对应的行程的总得分,为该终点的得分,计算每个终点的得分比例;

s3.3.3、当某个终点的得分占比,超过大数据分析的最优概率时,并且车主在当前时间接下来的一定时间段内,有在该终点停留,则预测该目的地;

s3.4、按社会属性预测,在无法预测目的地的情况下,增加以下预测规则的补充:(a)晚上时间段预测回家;(b)工作日上班时间段内预测去公司;

s4、路线推荐,根据预测的目的地,结合服务端学习的组合数据,推荐路线,具体包括:

s4.1、对用户的历史行程按起止点进行聚类,得到组合;

s4.2、对组合下的行程按行驶轨迹进行聚类,得到组合的多种走法,为每种走法指定1条行程作为走法路线;

考虑到,即使为同一条路线,原始采集到的行程gps数据可能存在着偏差,需将gps点网格化:通过gps坐标,换算成坐标上的网格,后续行程路线间的比较直接使用网格进行比较,轨迹聚类算法如下:

s4.2.1、将路线网格化;

s4.2.2、对比两条路线,若两条路线间的连续差异网格对应的距离长度,大于指定长度,则说明这两条路线不是同一路线,反之,为同一路线;

s4.3、为每条路线添加途经点;

为确保规划的路线尽可能匹配车主的实际出行路线,需要在每条路线上特定的位置添加途经点,途经点添加策略如下:

s4.3.1、按导航默认速度优先策略,规划出路线起止点对应的规划路线;

s4.3.2、比较规划路线与走法路线之间的差异,找出最大差异路段,在差异路段添加途经点;

s4.3.3、添加途经点后再次进行路线规划,得到新的规划路线;

s4.3.4、重复步骤s4.3.2、s4.3.3,直到两路线间的最大差异路段长度,小于指定长度,则不再添加途经点;

s4.4、在目的地确定的情况下,规划目的地对应的组合下的所有路线,得到走各路线的所需时间,比较各路线的时间,结合用户历史走该路线的平均时长,推荐用户最优的路线,实时提供对应路线上的路况信息;

s4.5给出多条路线的路况信息,供驾驶者选择。

作为优选的技术方案,步骤s.2.2.1.2中,行程的得分通过下述方法计算:

行程得分score=f(p,t)=f(p)*f(t)=f(p0,pi)*f(t0,ti),时间及位置越匹配,得分越大;

其中,p0为当前位置,pi为第i条行程的起止点位置;t0为当前时间,ti为第i条行程的开始时间;

s2.2.1.2.1、对于f(p)有:

s2.2.1.2.2、对于f(t)有f(t)=f(w)*f(d)*f(m);

其中w为时间的周几属性,d为当前时间与行程开始时间的相隔天数,m为两时间在同一天内的间隔分钟数;

对于周几属性f(w),有:

考虑行程历史数据的时效性问题,设计以下递减函数:

对于间隔天数f(d)=math.pow(0.8,d/7),按一周为周期进行递减,间隔天数越大,则该行程的得分越小;

对于间隔分钟数f(m)=math.pow(0.8,m/30),按30分钟为周期进行递减,其中m的范围[0,12*60],间隔分钟数越长,则该行程的得分越小。

作为优选的技术方案,步骤s3.3.3中,最优概率的计算方法如下:

s3.3.3.1、对于每个用户,设计预测目的地的效应评估函数;

f(效应)=预测准确次数*1-预测错误次数*1.5-无法预测次数*0.5;

预测准确对车主的效应值+1,预测错误对车主的效应值-1.5,没有预测对用户的效应值-0.5;

s3.3.3.2、通过评估函数,结合预测算法,给出每个车主的最优概率;

对于每个车主,将其历史行程分成2部分,其中2/3为样本,其余1/3为测试数据,将样本为预测算法的输入,对于每个测试行程,预测其目的地,将该目的地与实际的行程终点比较,得出预测结果;

将所有测试行程的预测结果,输入评估函数,得到效应值;

概率值取在[20,80]区间范围,对于每个概率值,循环以上步骤,得到每个概率下对应的效应值,取最大效应值对应的概率值为最优概率;

考虑到行程之间的时间先后关联性,在每个测试行程得到预测目的地后,预测下个测试行程时,需将测试行程丰富到样本行程中。

作为优选的技术方案,所述步骤s2.5.2中,按照下述规则选取行程为路线的模板行程:

s2.5.2.1、在时间较新的n条行程中选取;

s2.5.2.2、平均速度最大的行程。

作为优选的技术方案,步骤s2.6具体为:

s2.6.1、将有明显分割的出发时间点进行分割,具体分割如下:早上、中午、晚上;

s5.6.2、对于每个分割时间段,取90%置信度的区间,该区间为出发的时间段。

作为优选的技术方案,所述步骤s2.7具体为:

s2.7.1、取所有落在65%置信区间内的时长样本的平均值,为路线的历史出行时长;

s2.7.2、取90%置信值对应区间的最大值为用户的最大接受时长。

作为优选的技术方案,步骤s4.4具体为:

s4.4.1.1、纵向对比:

到达时长与该路线历史行驶时长比较,给出最优的路线,历史行驶时间由服务器分析该路线下的所有行程,统计给出有效行驶时长,及用户可接受的最大时长;到达时长小于用户可接受的最大时长,则该路线为待选路线,在历史路线中,按路线概率顺序,挑选小于对应最大时长的路线为待选推荐路线;

s4.4.1.2、横向对比:

当待选路线有多条,或没有待选路线时,对路线间进行横向对比,给出主推路线;

根据到达时长、路线距离、各路线的路况信息,给出走各路线的效应值,选出对用户效应值最大的路线,为主推路线。

作为优选的技术方案,步骤s4.5具体为:

s4.5.1、主推路线;

s4.5.2、辅助路线:主推路线为最大概率路线,则辅助路线为次大概率;主推路线非最大概率路线,则辅助路线为最大概率路线;

s4.5.3、导航默认躲避拥堵路线:如果与以上两条路线重复,则忽略,并使用第三概率路线代替;

s4.5.4、路况信息提醒;

若主推路线非最大概率路线,则提醒用户,可走其他路线,若所有历史路线的效应值相对躲避拥堵路线效应值较低,则提醒用户可走躲避拥堵路线。

本发明与现有技术相比,具有如下优点和有益效果:

1、目的地预测准确性更高,预测时间范围更完整:

本发明对车主出行的目的地和时间段进行聚类,能完整分析出车主出行的周期性规律,将规律划分为工作日、节假日,并且节假日考虑到除周末以为的国家法定假期,当同一时间有多个可能目的地时,计算出行可能性的概率。

2、路线推荐更符合车主习惯:

本发明对车主出行路线进行聚类,推荐驾驶路线时,优先推荐车主常走的路线,比如车主下班时先绕路去接小孩放学然后才回家时,不会推荐车主走直接回家的路线。

附图说明

图1是本发明的总体流程图;

图2是本发明目的地预测的流程图;

图3是本发明路径推荐的流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

如图1所示,本实施例一种预测目的地和推荐驾驶路线的方法,包括下述步骤:

1、基础数据:

用户历史行程:出发时间,出发地点,行驶轨迹,到达时间,到达地点,平均速度,距离,行驶时长

2、数据分析;

2.1停留点聚类;

(1)停留点聚类,取前后两条行程,若前一条行程的终点与后一条行程的起点一样,则说明用户在该地点停留,前一条行程的结束时间与后一条行程的开始时间之间,为用户在该地点的停留时长;

(2)合并同个停留点,统计该停留点的信息;

停留总时长、停留平均时长、停留总次数,停留频次,停留时间段,白天停留时长,晚上停留时长,白天停留时长占比,晚上停留时长占比。

2.2停留点停留时间段学习,确定某个地点的停留时间段的有效范围;

在停留点聚类的基础上

(1)停留开始时间在90%置信度的区间,取最小值s;停留结束时间在90%置信度的区间,取最大值e;得到区间[s,e],为停留时间段的有效范围;

(2)对于每个停留点样本,筛选落在区间[s,e]的有效样本集合s;

(3)在有效样本s中,取每个样本[si,ei]与[s,e]的交集为[si,ei];

(4)所有[si,ei]的并集为停留时间段;

2.3停留点社会属性识别;

识别停留点的家、公司的社会属性;

(1)家;

对于每一个停留点的停留时间段,取与[19:00,次日9:00]与交集的,设长度为tj,将tj求和,得到总时间长度t,平均长度t;所有平均长度t大于6个小时的地点可能为家,取总次数最多的为家;

(2)确定公司;

对于每一个停留点的停留时间段,取与[7:30,19:30]与交集,设长度为tj,将tj求和,得到总时间长度t,平均长度t,所有平均长度t大于6个小时的地点可能为公司,取总次数最多的为公司。

2.4起止点组合聚类:出行起止点组合学习;

2.4.1起止点聚类:分别聚类起止点,起止点在都在同一范围内的行程属于同一组合;

2.5行驶路线学习;

2.5.1聚类行驶路线:

由于即使为同一条路线,原始采集到的行程gps数据可能存在着偏差,将gps点网格化;通过gps坐标,换算成坐标上的网格,后续行程路线间的比较直接使用网格进行比较;

(1)将路线网格化;

(2)对比两条路线,若两条路线间的连续差异网格对应的距离长度大于指定长度,则说明这两条路线不是同一路线,反之,为同一路线;

2.5.2选取路线的模板行程:

驾驶过程中,需要实时匹配当前位置是否走在历史的路线上,服务端以网格的形式存储路线的信息;考虑到路线下有多条行程,而行程间存在着或多或少的差异,需选出最具代表性的行程,生成对应的路线网格;而选取模板,目标上是选取用户下次走该路线时,预计相似性最大的路线;在该路线下对应的行程中,按以下规则选取行程为路线的模板行程:

(1)在时间较新的n条行程中选取:较新的行程下次更可能走;

(2)平均速度最大的行程:速度较大,gps定位相对较准确;

2.5.3添加途经点;

路线的数据最终用于用户出行路线的推荐,为了路径规划的路线能更好地匹配实际路线,需在路径规划时,添加途经点,按以下步骤添加途经点;

(1)按导航默认速度优先策略,规划出路线起止点对应的规划路线;

(2)将两路线网格化后,比较规划路线与行程模板路线之间的差异,找出最大差异路段,在差异路段添加途经点;

(3)添加途经点后再次进行路线规划,得到新的规划路线;

(4)重复步骤(2)、(3),直到两路线间的最大差异路段长度小于指定长度,则不再添加。

2.6路线行驶时长统计学习;

后续推荐路线时,需使用该时间进行推荐的判断,不同的路况,路线下的各个行程的时长会不一样;按以下步骤得到行驶时长:

(1)获取属于同一路线的所有行程的历史时长样本;

(2)取落在65%置信区间内的时长样本,取平均值,为路线的历史出行时长;

(2)取落在90%置信区间内的时长样本,取最大值,为用户的最大可接受时长。

3、目的地预测,如图2所示,其步骤如下;

根据历史出行数据预测,预测目的地:当前时间,当前位置,用户最可能去哪里;

3.1优先按车主当前位置,预测目的地:从当前位置出发,只到过一个目的地,并且存在行程的出发时间与当前时间相近,则预测该目的地;

3.1.1、按起点聚类车主的历史行程数据;

3.1.2、匹配车主当前位置,得到从当前位置出发的所有行程

3.1.3、若(3.1.2)中的所有行程的终点指向同一地点,则该地点为预测的目的地。

3.2其次,按位置及时间规律,预测目的地:

3.2.1按位置及时间的周几属性,预测目的地:历史上,若在当前周几当前时间段内,在当前点出发的目的地具有显著特征,则预测该目的地;

(1)获取出行时间与当前时间的周几属性一样,并且出行时间在当前时间前后一段时间内的所有历史行程数据;

(2)计算(1)中的行程的得分,其计算方法如下:

通过当前时间当前地点,计算每个历史行程对应的得分,时间及位置越匹配,得分越大,行程得分score=f(p,t)=f(p)*f(t)=f(p0,pi)*f(t0,ti)

其中,p0为当前位置,pi为第i条行程的起止点位置;t0为当前时间,ti为第i条行程的开始时间;

对于f(p)有:

对于f(t)有f(t)=f(w)*f(d)*f(m);

其中w为时间的周几属性,d为当前时间与行程开始时间的相隔天数,m为两时间在同一天内的间隔分钟数;

对于周几属性f(w),有:

考虑行程历史数据的时效性问题,设计以下递减函数:

对于间隔天数f(d)=math.pow(0.8,d/7),按一周为周期进行递减,间隔天数越大,则该行程的得分越小。

对于间隔分钟数f(m)=math.pow(0.8,m/30),按30分钟为周期进行递减,其中m的范围[0,12*60],间隔分钟数越长,则该行程的得分越小。

(3)按终点聚类(1)中的所有行程;

(4)计算每个终点的总得分,获取每个终点的得分比例;

(5)当某个终点的得分占比超过一定比例,并且该终点对应的行程频次达到一定数值时,则该终点为预测的目的地。

3.2.2按位置及时间的工作日/节假日属性,预测目的地:历史上,若在当前时间段内,在当前点出发的目的地具有显著特征,则预测该目的地;

(1)获取出行时间与当前时间的工作日/节假日属性一样,并且出行时间在当前时间前后一段时间内的所有历史行程数据;

(2)后续步骤类似3.2.1的步骤(2)(3)(4)(5)。

3.3、最后,按行程总体得分比例,预测目的地;

3.3.1、计算所有行程的得分;

3.3.2、将行程按终点进行聚类,统计聚类后每个终点对应的行程的总得分,为该终点的得分,计算每个终点的得分比例。

3.3.3、当某个终点的得分占比,超过大数据分析的最优概率时,并且车主在当前时间接下来的一定时间段内,有在该终点停留,则预测该目的地;

上述最优概率的计算方法如下:

(1)对于每个用户,设计预测目的地的效应评估函数

f(效应)=预测准确次数*1-预测错误次数*1.5-无法预测次数*0.5

预测准确对车主的效应值+1,预测错误对车主的效应值-1.5,没有预测对用户的效应值-0.5;对于预测结果较差的情况,如果整体评估效应值还不如不预测的效应值,则不预测;

(2)通过评估函数,结合预测算法,给出每个车主的最优概率;

对于每个车主,将其历史行程分成2部分,其中2/3为样本,其余1/3为测试数据,将样本为预测算法的输入,对于每个测试行程,预测其目的地,将该目的地与实际的行程终点比较,得出预测结果。

将所有测试行程的预测结果,输入评估函数,得到效应值。

概率值取在[20,80]区间范围,对于每个概率值,循环以上步骤,得到每个概率下对应的效应值,取最大效应值对应的概率值为最优概率。

(3)考虑到行程之间的时间先后关联性,在每个测试行程得到预测目的地后,预测下个测试行程时,需将测试行程丰富到样本行程中。

3.3.5预测修正;

根据停留点的停留时间段,修正预测目的地,若用户在接下来的一定时间段内,从未在该目的地待过,则该目的地无效,即使该目的地的概率相对最大;

3.4按社会属性预测目的地,

在无法预测目的地的情况下,增加以下预测规则的补充:

(a)晚上预测回家;

(b)工作日上班时间段预测去公司;

4、路线推荐,如图3所示,其具体步骤如下:

根据目的地,结合服务端学习的组合数据,推荐路线;

组合:起止点一样的路线集合;

路线:组合下,走法一样的行程的集合,对应行程数越多,则概率越大,说明越常走;

服务端同一组合下,最多学习出3条最常走的路线,比较导航默认的躲避拥堵策略的路线,结合当前路况信息,提供用户最优的路线。

路线选择推荐策略:

4.1、对用户的历史行程按起止点进行聚类,得到组合;

4.2、对组合下的行程按行驶轨迹进行聚类,得到组合的多种走法,为每种走法指定1条行程作为走法路线;

考虑到,即使为同一条路线,原始采集到的行程gps数据可能存在着偏差,需将gps点网格化:通过gps坐标,换算成坐标上的网格。后续行程路线间的比较直接使用网格进行比较,轨迹聚类算法如下:

(1)将路线网格化;

(2)对比两条路线,若两条路线间的连续差异网格对应的距离长度大于指定长度,则说明这两条路线不是同一路线,反之,为同一路线。

4.3、为每条路线添加途经点;

为确保规划的路线尽可能匹配车主的实际出行路线,需要在每条路线上特定的位置添加途经点。途经点添加策略如下:

(1)按导航默认速度优先策略,规划出路线起止点对应的规划路线;

(2)比较规划路线与走法路线之间的差异,找出最大差异路段,在差异路段添加途经点(3)添加途经点后再次进行路线规划,得到新的规划路线;

(4)重复步骤(2)、(3),直到两路线间的最大差异路段长度小于指定长度,则不再添加途经点。

4.4、在目的地确定的情况下,规划目的地对应的组合下的所有路线,得到走各路线的所需时间,比较各路线的时间,结合用户历史走该路线的平均时长,推荐用户最优的路线,实时提供对应路线上的路况信息;

(1)纵向对比:

到达时长与该路线历史行驶时长比较,给出最优的路线,历史行驶时间由服务器分析该路线下的所有行程,统计给出有效行驶时长,及用户可接受的最大时长;到达时长小于用户可接受的最大时长,则该路线为待选路线,在历史路线中,按路线概率顺序,挑选小于对应最大时长的路线为待选推荐路线;

(2)横向对比:

当待选路线有多条,或没有待选路线时,对路线间进行横向对比,给出主推路线,根据到达时长、路线距离、各路线的路况信息,给出走各路线的效应值,选出对用户效应值最大的路线,为主推路线;

4.5给出多条路线的路况信息;

(1)主推路线;

(2)辅助路线:主推路线为最大概率路线,则辅助路线为次大概率;主推路线非最大概率路线,则辅助路线为最大概率路线;

(3)导航默认躲避拥堵路线:如果与以上两条路线重复,则忽略,并使用第三概率路线代替;

(4)路况信息提醒;

若主推路线非最大概率路线,则提醒用户,可走其他路线,若所有历史路线的效应值相对躲避拥堵路线效应值较低,则提醒用户可走躲避拥堵路线。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1