一种基于时空数据的移动对象相似度计算方法及系统与流程

文档序号:11287492阅读:501来源:国知局
一种基于时空数据的移动对象相似度计算方法及系统与流程

本发明属于信息技术领域,尤其涉及一种基于时空数据的移动对象相似度计算方法及系统。



背景技术:

近年来,随着rfid、gps等无线通信技术的不断发展和广泛应用,全球范围内的各种移动对象都可以得到有效地定位和跟踪,由此产生了海量的移动对象轨迹数据,而这些数据中蕴含着丰富的信息,迫切地需要研究人员对其进行扩展和分析。移动对象时空轨迹是记录移动对象位置、属性和时间的序列。时间、空间、属性是地理现象的三个基本特征,也是gis数据库的三种基本数据组成。虽然在本质上,移动对象的运动轨迹是连续的;但是,采集、存储和处理技术迫使我们用离散的结构来描述移动对象的运动轨迹。轨迹的最简单描述是用一系列带时间戳的坐标点来表示轨迹的。

目前大部分应用只对移动对象的原始轨迹进行了简单的利用,没有进行更加深入的分析。事实上在很多应用中,除了轨迹数据之外,人们更希望获取隐藏轨迹数据下的移动对象的行为或者偏好等信息。移动对象相似度度量在轨迹挖掘领域和基于位置的服务等领域具有广阔的应用前景。例如在犯罪团伙的追踪行动中,通过移动对象轨迹查询出与嫌疑人具有相似活动习惯的人,从而找到与该犯罪团伙的其他成员。此外移动对象相似度度量还可以用于交通调度、城市规划、推荐系统、广告系统、隐私保护、以及异常检测中,因此对该问题的研究具有现实意义。目前移动对象相似度计算的研究工作较少,且大多研究集中于对轨迹的几何特征进行分析,忽略了轨迹的活动特征。如何根据移动对象的活动轨迹计算出对象活动行为的相似度,现有研究还鲜有涉及。



技术实现要素:

为了解决现有方法普遍忽略移动对象活动特征的问题,本发明公开了一种基于时空数据的移动对象相似度计算系统,包括轨迹数据加载模块、轨迹序列化模块和移动对象相似度计算模块;

所述轨迹数据加载模块,用于将移动对象活动产生的不同格式的轨迹数据读取到内存中。由于采样设备的不同,收集到的轨迹数据格式各异,例如有的时间是时间戳表示,有的则不是,轨迹数据加载模块用于读取不同的格式的轨迹数据,并转化为统一的表现形式,即统一格式的原始轨迹数据,然后将统一格式的原始轨迹数据传送至轨迹序列化模块;

所述轨迹序列化模块,用于将由轨迹点表示的原始轨迹数据转化为由活动热点组成的活动序列,并将转换之后的活动序列传送至移动对象相似性度计算模块。

所述移动对象相似度计算模块利用频繁模式挖掘算法从活动序列中识别出频繁活动模式,针对频繁活动模式进行计算,从而得到移动对象的整体相似度。

本发明还公开了一种基于时空数据的移动对象相似度计算方法,包括如下步骤:

步骤1,输入原始轨迹数据以及活动热点集合。原始轨迹数据是移动对象轨迹的集合,轨迹是轨迹点的序列,每个轨迹点包含采样点的位置和时间信息。活动热点集合由区域内的活动热点组成,活动热点包括商场、学校、餐厅等,活动热点通常是已知的。对原始轨迹数据进行初步序列化,得到活动热点序列,过滤掉序列中权重低于给定阈值的热点,进而得到活动序列;

步骤2,利用频繁模式挖掘算法对步骤1中得到的活动序列进行挖掘,从中识别出移动对象的频繁活动模式序列,并计算频繁活动模式序列相似度以及整体相似度。

步骤1包括如下步骤:

步骤1-1,对原始轨迹数据进行初步序列化,得到活动序列;

步骤1-2,计算活动权重。设原始轨迹数据集由x个移动对象产生,活动热点共有y个,遍历所有的活动序列,统计每个移动对象在y个活动热点上出现的次数,并计算活动权重;

步骤1-3,根据用户输入的阈值,将活动序列中活动权重小于阈值的轨迹点删除。

步骤1-1包括:对于原始轨迹数据中的每条轨迹tr,初始化活动序列集合遍历轨迹tr中的轨迹点z,如果z处于活动热点r内,并且r不同于活动序列集合hs中序列的最后一个活动热点l,则将活动热点r添加到活动序列集合hs尾部,当遍历完轨迹tr中的所有轨迹点,得到的活动序列集合hs就是轨迹tr的初步序列化的结果,即活动序列。

步骤1-2中,通过如下公式计算移动对象x在活动热点r处的活动权重aw:

其中n表示移动对象x访问活动热点r的频数,n为x对所有活动热点的访问次数之和,|dw|为移动对象的总数,|dt|表示访问过r的移动对象数量。

步骤1-3中,需要用户输入阈值,活动序列中活动权重小于阈值的轨迹点删除。为了指导用户输入权重,本发明给出用户阈值的指导区间。

给定表示第i个用户在第u个热点区域的活动权值(其中i取值范围为[1,n],n为实际用户数,u的取值范围为[1,m],m为实际热点区域数量),表示所有用户在所有热点区域的活动权重均值,b表示活动权值的偏差:

给定δ表明活动权重的偏差,表示为:

则活动阈值的取值范围为

步骤2包括如下步骤:

步骤2-1,利用频繁模式挖掘算法从步骤1得到的活动序列中识别出移动对象的频繁活动模式序列,得到移动对象的频繁活动模式序列集合;

步骤2-2,计算移动对象的频繁活动模式序列集合中任意两个频繁活动模式序列之间的相似度;

步骤2-3,计算任意两个移动对象之间的整体相似度。

所述步骤2-1包括:利用prefix-span频繁模式挖掘算法对步骤1得到的活动序列进行挖掘,获得每个移动对象的频繁活动模式集合,其中,移动对象x的频繁活动模式序列集合记为s={s1,s2,…,sv},sv表示集合记s中的第v个频繁活动模式序列,v取值为自然数。

所述步骤2-2包括:

步骤2-2-1,从移动对象u的频繁活动模式序列集合su={s1,s2,…,sm}中选取频繁活动模式序列sp,p取值范围为1~m,从移动对象v的频繁活动模式序列集合sv={s’1,s’2,…,s’d}中选取频繁活动模式序列s’q,q取值范围为1~d,通过如下公式计算sp和s’q的位置惩罚ploacation:

其中|sp|和|s’q|分别表示频繁活动模式序列sp的长度和频繁活动模式序列s’q的长度;

步骤2-2-2,定义|sp|行|s’q|列的矩阵m,mij表示矩阵的第i行第j列的值,将矩阵初始化为m0,0=0.5,mi,0=mi-1,0-plocation,m0,j=m0,j-1-plocation;

步骤2-2-3,如果sp的第i个活动热点和s’q在第j个位置的活动热点相同,则mi,j的计算公式如下所示:

mi,j=max(mi-1,j-1+wreward,mi-1,j-plocation,mi,j-1-plocation),

其中wreward=min(w1,w2)/max(w1,w2),w1和w2分别为移动对象u在sp的活动权重和移动对象v在s’q处的活动权重(通过步骤1-2中的公式计算得到);

步骤2-2-4,如果sp的第i个活动热点和s’q在第j个位置的活动热点不同,则mi,j的计算公式如下所示:

mi,j=max(mi-1,j-plocation,mi,j-1-plocation);

步骤2-2-5,重复步骤2-2-2到步骤2-2-4,依次计算mi,j各个位置上的值,最后m|sp|,|s’q|位置上的值就是sp和s’q之间的相似度。

步骤2-3中,从移动对象u的频繁活动模式序列集合su={s1,s2,…,sm}中选取频繁活动模式序列sp,p取值范围为1~m,从移动对象v的频繁活动模式序列集合sv={s’1,s’2,…,s’d}中选取频繁活动模式序列s’q,q取值范围为1~d,通过如下公式计算任意两个移动对象u和v的整体相似度similarity(u,v):

其中,waps(sp,s’q)表示任意两个频繁活动模式序列sp和s’q之间的相似度,由步骤2-2计算得到,w(sp,s’q)表示waps(sp,s’q)在计算整体移动对象相似度时所占的权重大小,其计算公式如下所示:

其中,sup(sp)和sup(s’q)分别表示频繁活动模式序列sp的支持度和频繁活动模式序列s’q的支持度,sup(sp)通过统计sp在u的活动序列集合中出现的次数得到,sup(s’q)通过统计s’q在v的活动序列集合中出现的次数得到。

有益效果:本发明具有如下优点及效果:

(1)该方法充分考虑了时空数据中的移动对象活动特征,从活动习惯相的角度来度量移动对象相似度;

(2)该方法能够提高频繁活动模式识别的效率;

(3)该方法通过活动权重的引入,提高了相似度计算的准确性。

对于现有方法无法准确比较移动对象活动习惯相似程度的问题,本发明不仅能有效捕捉移动对象的活动特征,而且考虑到了移动对象个体差异,能够高效准确地计算移动对象之间的相似度。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。

图1为本发明公开的一种基于时空数据的移动对象相似度度量方法的流程示意图。

图2为本发明公开的一种基于时空数据的移动对象相似度度量系统示意图。

图3为原始轨迹示意图。

图4为图3所示的原始轨迹与活动热点结合进行初步序列化的示意图。

图5为北京地区的移动对象活动轨迹密度分布图。

图6为本发明对时空数据初步序列化之后的活动权重统计图。

图7为本发明在不同活动权重阈值下对轨迹进行序列化的序列长度分布图。

图8为本发明在活动权重过滤前后进行活动模式挖掘的时间复杂度图

图9为本发明与多种移动对象相似度计算方法的结果对比图

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

图1为本发明公开的一种基于时空数据的移动对象相似度度量方法的流程图,主要包括如下步骤:

(1)利用预先定义的活动热点集合,对时空轨迹进行序列化,将原始轨迹转化为活动序列。

step1:结合活动热点对轨迹进行初步序列化。图3所示为原始轨迹,图4是对图3进行热点标记之后的结果。对于每条轨迹tr,初始化活动序列集合遍历轨迹tr中的轨迹点p,如果p处于活动区域r内,并且r不同于hs序列的最后一个区域l,那么将r添加到hs尾部。当遍历完轨迹中的所有位置点,则hs就是轨迹tr的初步序列化的结果。

step2:计算移动对象uj在活动热点ri处的活动权重awij,计算公式如下所示:

其中ni,j表示uj访问ri的频数,n为uj对所有地区访问次数之和,|d|为轨迹数据集中不同移动对象的总数,|{j:ti∈dj}|表示访问过热点ri的移动对象数量。

step3:比较活动序列中各个热点的活动权重是否大于给定的权重阈值,若大于,则保留在序列化的活动轨迹种,否则,将这个热点从活动序列中移除;

(2)利用频繁模式挖掘方法对第(1)部分中得到的活动序列进行挖掘,从中识别出移动对象的频繁活动模式,并计算模式相似度以及整体相似度。

step4:利用频繁模式挖掘算法从第(1)部分的活动序列进行挖掘,获得每个移动对象uj的频繁活动模式集合s={s1,s2,…,sn};

step5:从移动对象u和v的频繁活动模式集合su={s1,s2,…,sm}和sv={s’1,s’2,…,s’n}中,分别选取两条频繁活动模式序列s1和s2,计算位置惩罚,计算公式如下:

其中|s1|和|s2|分别代表频繁活动模式序列s1和s2的长度。

step6:定义矩阵mi,j,其中i为s1的长度,j为s2的长度。将矩阵初始化为m0,0=0.5,mi,0=mi-1,0-p,m0,j=m0,j-1-p;

step7:如果s1的第i个热点和s2在第j个位置的热点相同,那么mi,j的计算公式如下所示:

mi,j=max(mi-1,j-1+wreward,mi-1,j-plocation,mi,j-1-plocation)

其中wreward=min(w1,w2)/max(w1,w2),w1和w2分别为ui和uj的活动权重。

step8:如果s1的第i个热点和s2在第j个位置的热点不同,那么mi,j的计算公式如下所示:

mi,j=max(mi-1,j-plocation,mi,j-1-plocation)

step9:重复step6和step7,依次计算mi,j各个位置上的值。最后m|s1|,|s2|位置上的值就是s1和s2之间的相似度;

step10:计算s1和s2之间的整体相似度,计算公式如下所示:

其中w(si,s’j)表示两个频繁活动模式之间的相似度在计算整体移动对象相似度时所占的权重大小,其计算公式如下所示:

其中sup(si)和sup(s’j)分别表示序列si和s’j的支持度。

本发明还提供了一种基于时空数据的移动对象相似度计算系统,该系统可以实现本发明所述的移动对象相似度度量方法,但本发明所述的基于时空数据的移动对象相似度度量方法的实现装置包括但不限于本发明所述的基于时空数据的移动对象相似度计算系统。

如图2所示,本发明公开了一种基于时空数据的移动对象相似度计算系统200,包括轨迹数据加载模块210、轨迹序列化模块220和移动对象相似度计算模块230;

所述轨迹数据加载模块,用于将移动对象活动产生的不同格式的轨迹数据读取到内存中。由于采样设备的不同,收集到的轨迹数据格式各异,例如有的时间是时间戳表示,有的则不是,轨迹数据加载模块用于读取不同的格式的轨迹数据,并转化为统一的表现形式,即统一格式的原始轨迹数据,然后将统一格式的原始轨迹数据传送至轨迹序列化模块;

所述轨迹序列化模块,用于将由轨迹点表示的原始轨迹数据转化为由活动热点组成的活动序列,并将转换之后的活动序列传送至移动对象相似性度计算模块。

所述移动对象相似度计算模块利用频繁模式挖掘算法从活动序列中识别出频繁活动模式,针对频繁活动模式进行计算,从而得到移动对象的整体相似度。

实施例1

本实施例以真实的geolife数据集为例,将基于时空数据的移动对象相似度度量方法用于计算移动对象的相似度。geolife数据集包含了182个移动对象在5年中的活动轨迹,总计17621条轨迹,总长度超过129万公里。本文对轨迹主要分布的北京地区(39.8°n~40.05°n,116.30°e~116.50°e)进行热点识别,该区域内轨迹分布密度如图5所示。本实施例利用所述基于时空数据的移动对象相似度度量方法对图5所示的移动对象活动轨迹进行相似度计算,具体包括以下步骤:

1)本实施例选取了50个实验参与人员的5000条活动轨迹,结合预定义的活动热点集合,首先对原始轨迹进行初步序列化,然后计算移动对象在每个活动热点的活动权重,统计得到图6所示的个活动权重分布图。从图中可以看出,移动对象的活动权重主要分布在[0,0.015)区间内。导致这一现象的原因是大部分移动对象的活动范围十分局限,经常访问的活动热点只有少数几个。因此对于任意一个移动对象而言,它在大部分活动区域是访问频率为0或者是极低的。

2)进一步序列化,根据活动权重过滤掉低于阈值的活动热点。统计在不同活动阈值δw情况下活动序列的平均长度得到图7。当权重阈值δw越来越高时,轨迹序列中被过滤掉的热点会越来越多,因此序列的平均长度会越来越短。活动权重阈值δw<0.015时,热点的活动权重主要集中于[0,0.015)区间内,因此会有大量的较低活动权重的位置点被过滤掉,导致活动序列平均长度的快速缩短。当权重阈值δw≥0.015,越来越少的活动热点满足阈值条件,因此被过滤掉的位置点也就越少,活动序列的平均长度减小趋于缓慢。

3)利用序列挖掘算法从序列化轨迹中识别出移动对象的常见频繁活动序列。分别在序列化过程中设置δw=0和δw=0.015得到两组序列化轨迹,其中δw=0等同于没有经过活动权重过滤的序列化轨迹。设置最小支持度阈值min_support=20%。利用序列挖掘算法prefix-span对两组序列化轨迹进行频繁活动模式的发现。图8是不同轨迹规模下的频繁活动模式识别效果对比,由于prefix-span算法效率仅与序列的平均长度直接相关,通过图8所示的序列化结果可知,过滤之后的轨迹长度明显短于不过滤的情况。

4)表1是对5000条轨迹的识别结果的统计对比,time表示算法运行的时间,单位为秒,patternnum为识别出频繁活动模式数量,avgpatternnum为平均每个移动对象的频繁活动模式数量,avglength为每个模式的平均长度。表1的统计结果显示,过滤之后的运行时间明显缩短,但识别出的频繁活动模式并没有减少太多,且长度也没有明显差距。因此可以得出结论,利用本发明对活动轨迹进行序列化在保留了有效活动信息的同时,明显缩短了模式识别所消耗的时间。

表1:本发明从时空数据中进行活动模式挖掘的结果对比表

5)在实验数据集上尝试了多种相似度度量方法,包括直接统计两个移动对象共同访问的热点数量的count方法、余弦相似度cosine、以及不进行权重过滤的参照方法nofilter,以及代表本方法的fap-mos方法。图9是使用这四种方法进行相似对象查询的效果评估。

本发明提供了一种基于时空数据的移动对象相似度计算方法及系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

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