一种基于改进circle-based算法的路径相似度计算方法与流程

文档序号:16432825发布日期:2018-12-28 20:16阅读:347来源:国知局
一种基于改进circle-based算法的路径相似度计算方法与流程

本发明属于数据分析领域,具体的说是涉及一种基于改进circle-based算法的路径相似度计算方法。

背景技术

现如今,随着社会的飞速发展,拥有私家车的家庭越来越多。随着私家车数量的急速上升,各大城市无不面临着交通拥挤带来的危害。例如交通拥挤为出行人们不但增加了出行的时间成本,同时造成了环境上的污染以及资源的浪费。在本方案中通过对车辆的出行路线研究发现,每个人每天的出行路线都具有一定的规律性以及重复性。可以通过对用户间的路径进行相似度的计算,为用户之间提供服务,例如拼车服务。

通过对传统的计算相似度算法circle-based算法进行研究分析,发现传统的circle-based算法构建的圆形区域存在盲点区域,该盲点区域的存在会影响计算的精度。



技术实现要素:

鉴于己有技术存在的缺陷,本发明在原算法构建的圆形区域的基础上引入一种三角形面积对比法,目的是提供一种基于三角形面积对比的方法消除circle-based算法存在的盲点区域,从而提高匹配算法的精确度。

为了实现上述目的,本发明采用如下技术方案:

一种基于改进circle-based算法的路径相似度计算方法,其特征在于,包括如下步骤:

步骤1、采集获得基准路径和待匹配路径;

步骤2、分别提取所述基准路径和待匹配路径中的路径点,并依据circle‐based算法分别以所述基准路径中的每一个路径点为圆心作出一系列圆;

步骤3、计算所述待匹配路径中的路径点落入所述基准路径中每一个特征点所构建的圆形区域内以及落入这些圆形区域构成的盲点区域的点的总个数。

步骤4、通过所述待匹配路径中的路径点落入基准路径中每一个特征点所构建的圆形区域内以及落入这些圆形区域构成的盲点区域的点的总个数与待匹配路径上提取的路径点总个数的比值计算路径相似度。

所述步骤2中,提取所述基准路径和待匹配路径中的路径点的方法为,分别从基准路径和待匹配路径的起点开始,以时间间隔t周期性地采集路径点,其中,时间间隔t优选取值为1秒。

所述步骤2中,圆的半径计算方法为,对于基准路径中采集的每个路径点,计算该路径点与基准路径中相邻两个路径点之间的距离,并选取其中较大的距离的一半作为以该路径点为圆心作出的圆的半径的预设值。

所述步骤3中,计算待匹配路径中的路径点tj落入盲点区域的具体方法为:提取pi和pi+1作为基准路径中的任意两个路径点,分别以pi和pi+1为圆心,预设值ri和ri+1为半径作出两个圆,其中ri>ri+1,ab为两个圆形区域的切线,a为切线与以pi+1为圆心的圆的交点,b为切线与以pi为圆心的圆的交点,求出数据ri、ri+1、|pipi+1|、|pitj|、|pi+1tj|,其中,||表示两点之间的距离,tj是待匹配路径中的一点,过pi+1作垂线到bpi,与bpi的交点为c,因此|bc|=ri+1,|pi+1c|=|ab|,根据勾股定理计算|bpi+1|,利用海伦公式求出δtjpipi+1和δbpipi+1的面积,比较δtjpipi+1和δbpipi+1的面积大小,若δtjpipi+1面积<δbpipi+1面积,则待匹配路径中的路径点tj落入分别以pi和pi+1为圆心,预设值ri和ri+1为半径作出的两个圆所构成的盲点区域。

本发明的有益效果:本发明通过对传统的计算相似度算法circle-based算法进行研究分析,发现传统的circle-based算法构建的圆形区域存在盲点区域,该盲点区域的存在会影响计算的精度,采用circle-based算法的改进方法可以有效地克服盲点区域的存在,进而提高计算精度。并且在判断待匹配路径中的路径点是否落入盲点区域时,采用了海伦公式计算三角形面积,并通过比较面积大小进行判断,使得判断方法不受二维坐标系的约束,更具有普适性。

并且经过大量实验验证,本发明在判断路径匹配时表现出色,在基准路径和待匹配路径的相似度越高的情况下,精度提高得越明显。

附图说明

图1是现有技术中circle-based算法的基于圆形区域的路径匹配算法图。

图2是本发明中circle-based算法的改进方法盲点区域图。

图3是本发明中盲点区域消除图。

图4是算法的实验运行结果图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在日常生活中,对于拼车好友的推荐,除了用户间的路径空间相似度作为参考依据外,时间的相似度也应该作为推送的参考依据。因为可能存在这种情况,虽然两个用户的出行相似度很高,但是一个是早上出行,一个是晚上出行。这种情况下两个用户是无法达成拼车行为的,没有推荐的必要。为了使推送的好友完成拼车行为的成功率提高,在推荐时需要同时考虑两条路径的时间相似程度以及空间相似程度。对时间相似度与空间相似度进行归一化处理转化为时空相似度。定义时空相似度的范围为[0,1],当时空相似度为1时代表两条路径不管从时间相似度还是空间相似度上均完全相似,当为0时代表不相似。可以使用公式1计算两条路径时间上的相似度。

公式1为时间相似度的计算公式,其中overlap(tra1,tra2)代表路径tra1和tra2在时间上的重叠时长,l(tra1)和l(tra2)分别代表路径tra1和tra2在时间上的总时长。

通过公式1计算出两条路径的时间相似度之后,需要对时间相似度以及空间相似度进行归一化,考虑到时间相似度和空间相似度对于拼车行为的影响是等价的,所以用公式2计算两条路径的时空相似度,其中s(tra1,tra2)代表路径tra1和tra2的空间相似度。计算出的时空相似度的值越大越说明两条路径在时空上重叠部分越多,当为1是代表两条路径时间空间上完全重叠,当为0时代表两条路径空间或者时间上的相似度有一个为0。把时空相似度作为向用户推荐好友的依据,好友之间时空相似度越高越容易促成拼车行为的发生。

satsim(tra1,tra2)=s(tra1,tra2)×timsim(tra1,tra2)(公式2)

对于上述实例中空间相似度的计算,本发明针对原有circle-based算法存在盲点区域,提出一种新的基于三角形面积对比法消除盲点区域的方法。传统的circle-based算法对于两条路径的相似度计算原理是通过计算一条路径点落入另一条路径所构建的圆形区域内点的个数来计算相似度。如图1所示由实心圆构成的为路径tra1,而由空心圆构成的为对比路径tra2。在tra1和tra2中,从起点开始,每间隔1秒的时间采集一个路径点,对于tra1中采集的每个路径点,计算该路径点与相邻两个路径点之间的距离,并选取其中较大的距离的一半作为半径,构建一个以该路径点为圆心,上述半径作为r的圆形区域,求出tra2中所有落在tra1构建的圆形区域内的路径点的个数与tra2总路径点个数的比值,即可得出tra1与tra2的相似度。

以上公式中counttra2代表tra2路径的路径点落入tra1路径形成的圆形区域内的个数,totaltra2代表tra2路径的路径点的总个数。

circle-based算法构建的圆形区域会存在盲点区域。如果路径点落入了盲点区域,算法将对该点判断错误。如图2所示,假设由实心圆构建的路径为tra1,由空心圆构建的路径为tra2。由图中可以看出两条路径的实际相似度应该为100%,但是在用circle-based算法计算过程中发现路径tra2中有两点落在由tra1构成的圆形区域之外,使得计算所得的路径相似度只有60%,这与实际相似度相差较大。本小节在circle-based算法的基础上提出了一种基于三角形面积对比法来提高计算精度,减少了因为盲点区域存在造成的计算相似度与实际相似度的误差,使计算所得相似度更加接近实际相似度。

如图3所示为路径点pi与pi+1构成的圆形区域以及对比路径点tj。ab为两个圆形区域的公切线。ri为圆pi的半径,ri+1为圆pi+1的半径并且ri>ri+1。图中tj明显落于pi与pi+1构成的圆形区域的盲区内,如果用circle-based算法判定得出的结论即该点与路径pipi+1不匹配。但实际情况是tj到pi与pi+1形成的路径之间的距离是小于ri的。所以只要判断出tj到直线pipi+1的距离小于等于ri就可得出该点与对比路径是匹配的。但是由于本方案中通过智能手机的gps定位得到的是地球的经纬度坐标,所以无法像二维坐标系中建立坐标系进行计算。

从图3中可求得的数据如下:ri、ri+1、|pipi+1|、|pitj|、|pi+1tj|。通过观察发现图3中δbpipi+1与δtjpipi+1为同底的三角形,所以可以通过对比δbpipi+1与δtjpipi+1的面积得出tj点是否在盲区内。该方法相当于重新构建了一个以ri和pipi+1为边长的平行四边形,而该平行四边形完全覆盖住盲点区域,所以如何求得δbpipi+1与δtjpipi+1的面积是本算法的关键。

(1)δtjpipi+1面积的计算

由于|pipi+1|、|pitj|、|pi+1tj|是已知的,通过海伦公式可求得δtjpipi+1面积。海伦公式如下:

公式4中a、b、c分别代表三角形的三条边。ρ代表半周长(周长的一半)公式如下:

(2)δbpipi+1面积的计算

δbpipi+1的面积也可用海伦公式求得面积,但是|bpi+1|未知。通过观察可得由点pipi+1ab构成的四边形为直角梯形并且梯形中|pipi+1|、|pi+1a|、|pib|已知。过pi+1作垂线到bpi,与bpi的交点为c,因此|bc|=ri+1,|pi+1c|=|ab|,根据勾股定理计算|bpi+1|。然后通过公式4和公式5计算出δbpipi+1的面积。

比较δtjpipi+1面积和δbpipi+1面积的大小,若δtjpipi+1面积<δbpipi+1面积,则点tj与pi与pi+1形成的路径是匹配的。

为了验证circle-based改进算法相对于circle-based算法是否有精确度上的提升,采集31条相近路径信息,选择一条路径作为原始路径,其他30条路径作为对比路径,用于判定其与原始路径的相似度,对这31条路径分别使用circle-based算法以及circle-based改进算法进行计算。

实验结果如图4所示,横轴代表路径编号,纵轴代表相似度。图4表明,两种算法在处理同一批数据时,circle-based改进算法计算出的相似度和circle-based算法所计算出的相似度在两条路径的相似度越高的情况下,精度提高的越明显。但是在所匹配的两条路径相似度本身不高时,精度提高得不明显,正如图中所示,在相似度60%以下时两种算法的计算出的相似度基本没什么差别,但是在相似度60%以上时,由改进算法计算出的相似度有较明显的精度上的提高。分析产生这样的原因是,本发明提出的改进算法的原理是消除circle-based算法在计算时出现的盲点区域,盲点区域相对于circle-based算法构建的圆形区域并不大。所以落入盲点区域的路径点的数目是随着两条路径的相似度提高而提高的,只有当两条路径的相似度越高时才可能有越多的点落入盲点区域。综上所述,本发明提出的改进算法可以有效的消除盲点区域提高计算的精度。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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