本发明属于数据处理分析计算领域,尤其涉及一种数据伴随分析方法及装置。
背景技术:
在移动大数据中,有很多有用的定位数据。为从移动大数据中挖掘这些有用的定位数据,可以通过号码伴随分析获取某时间段内目标号码经历的地点组成的一段轨迹,然后将该目标号码的轨迹与其他号码的轨迹进行比较,计算出这些号码之间的伴随相似度,该伴随相似度可以为号码间的亲密度判断提高十分有利的依据。
移动大数据的数据密度非常高,而在交互应用中对于号码伴随分析的时效性要求较高。目前先拟合轨迹再计算号码之间的伴随相似度,由于用于描述号码的轨迹的原始数据的离散偏离幅度大,需要构建复杂的非线性数学模型进行拟合处理,复杂度较高且耗时较长。
技术实现要素:
本发明提供一种数据伴随分析方法及装置,用于解决现有通过先拟合轨迹再计算伴随相似度存在复杂度高耗时长的问题。
为了实现上述目的,本发明提供了一种数据伴随分析方法,包括:
对目标号码的原始数据中二维空间数据进行降维处理以得到所述目标号码的一维空间数据;
将所述目标号码的一维空间数据和时间数据转换成可比较的所述目标号码的轨迹队列;
基于所述目标号码的轨迹队列计算与其他号码之间的伴随相似度。
为了实现上述目的,本发明提供了一种数据伴随分析装置,包括:
降维模块,用于对目标号码的原始数据中二维空间数据进行降维处理以得到所述目标号码的一维空间数据;
数据转换模块,用于将所述目标号码的一维空间数据和时间数据转换成可比较的所述目标号码的轨迹队列;
计算模块,用于基于所述目标号码的轨迹队列计算与其他号码之间的伴随相似度。
本发明提供的数据伴随分析方法及装置,通过将目标号码原始数据中二维空间数据进行降维处理成目标号码的一维空间数据,将目标号码的一维空间数据和原始数据中的时间数据转换成可比较的目标号码的轨迹队列,基于目标号码的轨迹队列计算与其他号码之间的伴随相似度。本发明中,通过降维处理简化原始数据,不再通过数学模型进行拟合处理,降低复杂度,提高伴随分析的时效性。
附图说明
图1为本发明实施例一的数据伴随分析方法的流程示意图;
图2为本发明实施例二的数据伴随分析方法的流程示意图;
图3为本发明实施例三的数据伴随分析方法的流程示意图;
图4为本发明实施例四的数据伴随分析方法的流程示意图;
图5为本发明实施例四的数据伴随分析装置的结构示意图;
图6为本发明实施例五的数据伴随分析装置的结构示意图。
具体实施方式
下面结合附图对本发明实施例提供的数据伴随分析方法及装置进行详细描述。
实施例一
如图1所示,其为本发明实施例一的数据伴随分析方法的流程示意图。该数据伴随分析方法包括以下步骤:
s101、对目标号码的原始数据中二维空间数据进行降维处理以得到目标号码的一维空间数据。
在号码移动的过程中,会产生很多的定位数据,一般情况下,这些定位数据包括用于表示位置信息的空间维度的数据和用于表示时间的时间维度的数据,其中,空间维度的数据由经度和纬度数据构成。本实施例中,将号码移动过程中产生的定位数据定义为原始数据,通过原始数据可以表示该号码在不同时刻所处的位置。
为了减低原始数据的维度,来简化定位数据,本实施例中,将目标号码的原始数据中二维空间数据降维成一维空间数据,具体地,对目标数据的二维空间数据即经纬度数据进行空间hash化处理,将二维空间数据映射成一元的geohash编码,即将经纬度依次迭代映射成32进制的编码中。本实施例中,该一元geohash编码就是该目标号码的一维空间数据,此时就可以通过该geohash编码表示目标号码所处的位置。
s102、将目标号码的一维空间数据和时间数据转换成可比较的目标号码的轨迹队列。
原始数据中的二维空间数据转换成一维空间数据后,其对应的时间数据不会发生变化。在获取到目标号码的一维空间数据后,与原始数据中与该一维空间数据对应的时间数据结合,就能够构成该目标号码的轨迹记录。本实施例中,该目标号码的轨迹记录能够表示出该目标号码在不同时间点所处的位置,时间点对应原始数据中的时间数据。所处位置用一位空间数据表示。
目标号码的轨迹记录是一种时间点的记录,为了能够将目标号码的数据进行比较,进一步地,需要对目标号码的轨迹记录进行数据规整,以得到目标号码的轨迹队列,即将目标号码的轨迹记录从时间点的记录方式转换成时间段的记录方式。
s103、基于目标号码的轨迹队列计算与其他号码之间的伴随相似度。
在获取到目标号码的轨迹队列后,可以用相同的过程获取其他号码的轨迹队列,然后将基于目标号码的轨迹队列和其他号码的轨迹队列进行比较,基于预设的伴随相似度策略获取目标号码和其他号码之间的伴随相似度,本实施例中,其他号码可以为一个也可以是多个。可选地,其他号码可以用户输入,也可以根据目标号码查询到的轨迹相似的号码。
本实施例提供的数据伴随分析方法,通过将目标号码原始数据中二维空间数据进行降维处理成目标号码的一维空间数据,将目标号码的一维空间数据和原始数据中的时间数据转换成可比较的目标轨迹队列,基于目标号码的轨迹队列计算与其他号码之间的伴随相似度。本实施例中,通过降维处理简化原始数据,不再通过数学模型进行拟合处理,降低复杂度,提高伴随分析的时效性。
实施例二
如图2所示,其为本发明实施例二的数据伴随分析方法的流程示意图。该数据伴随分析方法包括以下步骤:
s201、对目标号码的原始数据中二维空间数据进行降维处理以得到目标号码的一维空间数据。
为了减低原始数据的维度,来简化定位数据,本实施例中,将目标号码的原始数据中二维空间数据降维成一维空间数据,具体地,对目标数据的二维空间数据即经纬度数据进行空间hash化处理,将二维空间数据映射成一元的geohash编码,即将经纬度依次迭代映射成32进制的编码中。本实施例中,该一元geohash编码就是该目标号码的一维空间数据,此时就可以通过该geohash编码表示目标号码所处的位置。
s202、利用目标号码的一维空间数据和原始数据中的时间数据生成目标号码的轨迹记录。
原始数据中的二维空间数据转换成一维空间数据后,其对应的时间数据不会发生变化。在获取到目标号码的一维空间数据后,与原始数据中与该一维空间数据对应的时间数据结合,就能够构成该目标号码的轨迹记录。本实施例中,该目标号码的轨迹记录能够表示出该目标号码在不同时间点所处的位置,时间点对应原始数据中的时间数据。所处位置用一位空间数据表示。
s203、对目标号码的轨迹记录进行数据规整,以得到目标号码的轨迹队列。
目标号码的轨迹记录是一种时间点的记录,为了能够将目标号码的数据进行比较,进一步地,需要对目标号码的轨迹记录进行数据规整, 以得到目标号码的轨迹队列,即将目标号码的轨迹记录从时间点的记录方式转换成时间段的记录方式。
具体地,针对目标号码的轨迹记录中连续时间点处在相同位置的记录,将表示最早时间的时间点作为该相同位置的开始时间,将表示最晚时间的时间点作为该相同位置的结束时间,得到该相同位置对应的轨迹。其中,目标号码连续时间点处在相同位置,说明目标号码在一段时间内处于该相同位置上,并未在该时间段内离开该相同位置。实际应用中,原始数据的数据密度大,不宜直接处理,本实施例中将位置相同的记录基于时间点进行合并后,可以先去除重复的记录,能够起到简化数据的作用。
针对目标号码的轨迹记录中不同时间点处在不同位置的记录,将时间点作为该不同位置的开始时间和结束时间,得到该不同位置对应的轨迹。
在完成从时间点的记录格式转换到时间段的记录格式后,各轨迹的时间段之间是不连续的。为了能够将目标号码的轨迹进行比较,需要将不连续的时间段进行连续化处理。具体地,将轨迹队列中每条记录中的geohash编码的位数调整到预设的位数,然后需要对轨迹的时间段的端点进行调整,以构建可进行比较的目标号码的轨迹队列。首先,将目标号码的所有轨迹按照开始时间从早到晚进行排序,按序对目标号码中相邻的轨迹的时间段的端点进行调整,以使相邻的轨迹的时间段的端点重合,在完成所有的轨迹的时间段端点的调整后,得到目标号码的轨迹队列。其中,本实施例中,时间段的端点就是时间段的开始时间和结束时间。例如,当前轨迹的时间段的上端点即开始时间为上一个轨迹的结束时间和自身开始时间的中间值,当前轨迹的时间段的下端点即结束时间为自身的结束时间与下一个轨迹的开始时间的中间值。例如,将当前轨迹的时间段的下端点维持不变,而将下一个轨迹的时间段的上端点值调整为当前轨迹的时间段的上端点值,使得相邻的轨迹的时间段的端点重合。
下面举例对s101~s103进行解释说明:
目标号码为155****2623,该号码的原始数据如下:
经过s101和s102之后得到目标号码的轨迹记录如下:
在s103的处理过程中,目标号码的轨迹如下:
在对目标号码需要对第一队列进规整,按照预设位数对geohash编码的部分位数进行舍弃,然后将对相邻记录的时段段的端点进行调整,使相邻的记录在时间段上连续:目标号码的轨迹队列如下:
s204、基于目标号码的轨迹队列计算与其他号码之间的伴随相似度。
在获取到目标号码的轨迹队列后,可以用相同的过程获取其他号码的轨迹队列,然后将基于目标号码的轨迹队列和其他号码的轨迹队列进行比较,基于预设的伴随相似度策略获取目标号码和其他号码之间的伴随相似度,本实施例中,其他号码可以为一个也可以是多个。可选地,其他号码可以用户输入,也可以根据目标号码查询到的轨迹相似的号码。
基于预设的伴随相似度计算策略获取目标号码和其他号码之间的伴随相似度的过程包括:
首先对预设位数的geohash编码进行地理分层,并且预设为每个层次设置不同的权重。将目标号码轨迹队列中每一条记录与其他号码中每一条记录进行比较,判断相互比较的两条记录的时间段在时间上是否存在交集,存在交集说明两者的时间段存在时间重叠,例如,目标号码的一条记录的起始时间在其他号码的一条记录的时间段范围内,说明两者在时间上存在交集。
本实施例中,当存在交集时,获取相互比较的两条记录中的表示位置的geohash编码之间的重复的层次,获取与该重复的层次对应的预设的权重,将预设的权重和预设的交集基数相乘得到一个交集数值。将所有在时间上存在交集的次数,以及每次交集时获取到的交集数值,将所有交集数值相加后与交集的次数做比值,该比值作为目标号码与其他号码之间的伴随相似度。本实施例中,不再利用三维欧式距离来获取伴随相似度,而是基于上述预设的伴随分析策略获取伴随相似度的方式,减少计算难度,提高伴随分析的效率。
例如,可以将geohash编码选择保留7位,其中,设定该编码中第5位、第6位和第7位参与伴随相似度的计算。权重的设置规则:存在交集时的基数设为1。geohash7位全相同,权重为1,geohash前6位相同,第7位不同,权重为0.5,geohash前5位相同,第6位不同,权重为0.25,geohash前5位都不同,或者时间上无交集权重都为0。伴随相似度的计算公式:所有的交集数据之和/时间上有交集的次数。
本实施例提供的数据伴随分析方法,通过将目标号码原始数据中二维空间数据进行降维处理成目标号码的一维空间数据,利用目标号码的 一维空间数据和原始数据中的时间数据构成目标号码的轨迹记录,通过数据规则处理将目标号码的轨迹记录转换成可比较的目标轨迹队列,基于目标号码的轨迹队列计算与其他号码之间的伴随相似度。本实施例中,通过降维处理简化原始数据,不再通过数学模型进行拟合处理,降低复杂度,提高伴随分析的时效性。
实施例三
如图3所示,其为本发明实施例三的数据伴随分析方法的流程示意图。该数据伴随分析方法包括以下步骤:
s300、接收用户输入的查询信息。
其中查询信息中包括查询号码和查询时间段,其中,查询号码个数为1,将查询号码作为目标号码。
当用户试图对目标号码进行伴随分析时,可以通过查询界面输入查询信息,其中,查询信息包括查询号码和查询时间段。查询号码的个数可以为1个也可以为多个,本实施例中,以已知目标号码和与该目标号码进行比较的其他号码作为一种应用场景进行说明,在该应用场景下查询号码中的一个作为目标号码,剩余的查询号码作为其他号码,其他号码均与目标号码进行比较,目标号码之间不进行相互比较。
s301、对目标号码的原始数据中二维空间数据进行降维处理以得到目标号码的一维空间数据。
在接收到用户输入的查询信息后执行s301,s301的具体内容可参见上述实施例一s101中的记载,此次不再赘述。
s302、利用目标号码的一维空间数据和原始数据中的时间数据生成目标号码的轨迹记录。
其中,目标号码的轨迹记录用于记录目标号码在不同时间点上所处的位置,时间点对应原始数据中的时间数据;所处的位置用一维空间数据表示。
s303、对目标号码的轨迹记录进行数据规整,以得到目标号码的轨迹队列。
其中,目标号码的轨迹队列用于记录目标号码在不同时间段内所处 的位置,所述时间段由目标号码的轨迹记录中的时间点生成。
s304、对其他号码原始数据中二维空间数据进行降维处理以得到其他号码的一维空间数据。
s305、利用其他号码的一维空间数据和原始数据中的时间数据生成其他号码的轨迹记录。
s306、对其他号码的轨迹记录进行数据规整,以得到其他号码的轨迹队列。
采用目标号码s301~s303的处理过程对其他号码进行操作,以得到其他号码的轨迹队列。具体处理过程参见上述实施例中相关内容的记载,此次不再赘述。其中s301~s303与可以同步进行,也可以先执行s301~s303,再执行s304~s306。
s307、基于预设的伴随相似度计算策略以及目标号码的轨迹队列和其他号码的轨迹队列,计算目标号码与每个其他号码之间的伴随相似度。
将目标号码的轨迹队列中每一条记录分别与每个其他号码的轨迹队列中每一条记录进行比较,然后基于预设的伴随相似度计算策略,计算目标号码与每个其他号码之间的伴随相似度。其中,伴随相似度计算策略,参见上述实施例一中相关内容的记载,此次不再赘述。
为了更好地理解本实施例提供的数据伴随分析方法,下面一个具体的例子进行解释说明:
用户输入的查询信息包括查询号码,其中查询号码中包括目标号码和与该目标号码进行比较的其他号码。在该示例中查询信息中携带两个查询,目标号码为查询号码1(id1),待比较的其他号码为查询号码2(id2),id1:155****2623,id2:150****8803;查询时间段(time):2015-04-01_00:00:00——2015-04-06_23:59:59
id1在2015-04-01_00:00:00——2015-04-06_23:59:59内的所有的原始数据:
id2在2015-04-01_00:00:00——2015-04-06_23:59:59内的所有原始数据:
对查询号码原始数据中的二维数据进行降维处理以得到一维空间数据,然后利用一维空间数据与原始数据中的时间数据生成查询号码的轨迹记录。
id1的轨迹记录如下:
id2的轨迹记录如下:
对查询号码的轨迹记录进行数据去重和稀疏处理后,得到查询号码的轨迹。具体地,对查询号码的轨迹记录进行数据去重和稀疏处理的过程:将连续时间点处在位置相同的记录合并,将表示最早时间的时间点作为该位置的开始时间,将表示最晚时间的时间点作为该位置的结束时间,对于不同位置的记录,以该位置对应的时间点作为对应时间段的开始时间和结束时间,也就是说,时间段的开始和结束时间可以相同。
对id1的轨迹记录进行相同的数据去重和稀疏处理过程,得到id1的轨迹如下:
对id2的轨迹记录进行相同的数据去重和稀疏处理过程,得到id2的轨迹如下:
对目标号码中每条轨迹的geohash编码调整到预设位数,对目标号码的轨迹进行排序,调整轨迹的时间段的端点,使得相邻的两条轨迹的时间段的端点能够重合,得到查询号码的轨迹队列。具体地,按照开始时间从早到晚进行排序,排序后按照顺序对相邻的轨迹的时间段的端点进行调整,例如,将前一段的结束时间与后一段的开始时间的中间值分别作为前一段的结束时间和后一段的开始时间,使得相邻的轨迹的时间段的端点重合,使得时间上可以对接起来,构成一个可比较的轨迹队列。
id1的轨迹队列如下:
id2的轨迹队列如下:
根据预设的伴随相似度计算策略,计算两个查询号码之间的伴随相似度。
geohash选择保留7位,其中第5、6、7三位参与伴随相似度的计算。首先判断时间上有无交集,时间段是否有重叠,如1con1的起始时间在2conn的时间段范围内,那1con1与2conn有时间交集。
不同的重复位对应不同的权重:设置的交集基数为1。geohash7位全相同,权重为1,geohash前6位相同,第7位不同,权重为0.5,geohash前5位相同,第6位不同,权重为0.25,geohash前5位都不同,或者时间上无交集权重都为为0。
将1con1分别与2con1~2con5相比较,其中,1con1与2con1、2con2、2con3以及2con5在时间上无交集;1con1与2con4时间上有交集,geohash前5位相同,第6位不同,交集数值=1*0.25;
类似地,将1con2分别与2con1~2con5相比较,其中,1con2与2con1、2con2、2con3以及2con5在时间上无交集,1con2与2con4时间上有交集,geohash前5位相同,第6位不同,交集数值=1*0.25;
将1con3与2con1~2con5相比较,其中,1con3与2con1、2con2、2con3以及2con5在时间上无交集,1con3与2con4时间上有交集,geohash 前5位相同,第6位不同,交集数值=1*0.25;
将1con4分别与2con1~2con5相比较,其中,1con4与2con1、2con2、2con3以及2con5在时间上无交集,1con4与2con4时间上有交集,geohash前5位相同,第6位不同,交集数值=1*0.25;
1con5分别与2con1~2con5相比较,其中,1con4与2con1、2con2、2con3以及2con5在时间上无交集,1con5与2con4时间上有交集,geohash前5位相同,第6位不同,交集数值=1*0.25;
则目标号码与其他号码之间的伴随相似度为:(+1*0.25+….+1*0.25)/(时间上有交集的次数)=0.25。
在上述示例中,用户可以指定两个号码进行比较,在经过将二维空间数据降维后获取到一维空间数据,然后基于一维空间数据和时间数据构成可比较的轨迹序列,使用预设的伴随相似度计算策略,获取两个号码之间的伴随相似度。
实施例四
如图4所示,其为本发明实施例四的数据伴随分析方法的流程示意图。该数据伴随分析方法包括以下步骤:
s400、接收用户输入的查询信息。
其中查询信息中包括查询号码和查询时间段,其中,查询号码个数为1,将查询号码作为目标号码。
当用户试图对目标号码进行伴随分析时,可以通过查询界面输入查询信息,其中,查询信息包括查询号码、查询时间段和返回与目标号码相似的潜在号码的个数。本实施例中,以通过目标号码获取与该目标号码相似轨迹的潜在号码作为一种应用场景,此时查询号码的个数为1,在该应用场景下,将查询号码作为目标号码。
s401、对目标号码的原始数据中二维空间数据进行降维处理以得到目标号码的一维空间数据。
在接收到用户输入的查询信息后执行s401,s401的具体内容可参见上述实施例一s101中的记载,此次不再赘述。
s402、利用目标号码的一维空间数据和原始数据中的时间数据生成 目标号码的轨迹记录。
其中,目标号码的轨迹记录用于记录目标号码在不同时间点上所处的位置,时间点对应原始数据中的时间数据;所处的位置用一维空间数据表示。
s403、对目标号码的轨迹记录进行数据规整,以得到目标号码的轨迹队列。
其中,目标号码的轨迹队列用于记录目标号码在不同时间段内所处的位置,所述时间段由目标号码的轨迹记录中的时间点生成。
s302~s303的具体内容可参见上述实施例一s102~s103中的记载,此次不再赘述。
s404、从目标号码的轨迹队列中获取目标号码的可信区间。
本实施例中,目标号码的轨迹队列用于记录目标号码在不同时间段内所处的位置,根据目标号码的轨迹队列,可以获取到该目标号码的可信区间,其中,可信区间包括可信时间域和可信空间域,其中可信时间阈为轨迹队列中每条记录中的时间段,可信空间域的具体过程:将轨迹队列中每条记录中所处位置进行阈值的修正,将修正后的位置作为可信空间域。例如,将每一个位置的geohash编码中相同的前5位可以作为可信空间域。例如,geohash编码中前五位表示北京,在前五位的基础上加上四位可以表示到所处北京的具体区/县。为了保证空间的可信度,将geohash编码中的前5位作为可信空间域。
s405、根据可信区间获取与目标号码的轨迹记录相似的潜在号码。
在获取到可信区间,根据该目标号码的可信区间在查询时间段内,查找与该目标号码的轨迹记录相似的潜在号码。
s406、对潜在号码的原始数据中二维空间数据进行降维处理以得到潜在号码的一维空间数据。
s407、利用潜在号码的一维空间数据和原始数据中的时间数据生成潜在号码的轨迹记录。
s408、对潜在号码的轨迹记录进行数据规整,以得到潜在号码的轨迹队列。
采用目标号码s401~s403的处理过程对潜在号码进行操作,以得到潜在号码的轨迹队列。具体处理过程参见上述实施例中相关内容的记载,此次不再赘述。
s409、将潜在号码作为其他号码,基于预设的伴随相似度计算策略以及目标号码的轨迹队列和其他号码的轨迹队列,计算目标号码与每个其他号码之间的伴随相似度。
在获取到潜在号码后,将潜在号码作为其他号码,将目标号码的轨迹队列中每一条记录分别与每个其他号码的轨迹队列中每一条记录进行比较,然后基于预设的伴随相似度计算策略,计算目标号码与每个其他号码之间的伴随相似度。
其中,伴随相似度计算策略,参见上述实施例一中相关内容的记载,此次不再赘述。
s410、将目标号码与每个潜在号码之间的伴随相似度进行排序,以得到目标号码的伴随相似度列表。
在获取到目标号码与每个潜在号码之间的伴随相似度后,可以将这些伴随相似度按照从大到小的顺序进行排序,按照顺序生成该目标号码的伴随相似度列表。本实施例中,从排序后的所有伴随相似度中选取前几位生成该目标号码的伴随相似度列表。
为了更好地理解本实施例提供的数据伴随分析方法,下面一个具体的例子进行解释说明:
用户输入的查询信息包括查询号码:155****2623;查询时间段:time:2015-04-01_00:00:00——2015-04-06_23:59:59;返回与目标号码相似的潜在号码个数:topn:3;其中,查询号码即目标号码。
目标号码在查询时间段内的原始数据记录:
目标号码经过降维处理以及数据规整后,得到目标号码id的轨迹队列如下。其中关于对目标号码降维处理以及数据规整的过程,可参见上述实施例二中相关示例中的记载,此处不再赘述。
从目标号码的轨迹队列中获取可信区间,该可信区间包括时间可信区间和空间可信区间;即目标号码轨迹队列中包括的时间段以及位置。
根据可信区间获取与目标号码的轨迹记录相似的潜在号码。具体地,.查询与目标号码轨迹队列中每一个记录1coni(i=1,2,3,…5)相似轨迹记录:查找相似轨迹,从原始数据中找出与1coni有时间交集并且geohash前5位全部相同的记录。
在查找完成后,将与目标号码每一条记录命中的个数取3个号码作为潜在号码,其中,潜在号码中不包括目标号码本身。
潜在号码按照命中次数排序为:
则选取151****1306、152****8808和152****3889作为潜在号码,然后分别计算目标号码与选中的三个潜在号码的伴随相似度,计算过程与上述实施例二中计算两个已知查询号码的伴随相似度类似,此次不再赘述。
对目标号码的伴随相似度进行排序后,取前三位潜在号码以及伴随相似度生成目标号码的伴随相似度列表,该列表如下所示:
号码相似度
151****13060.72
152****88080.62
152****38890.33
在该示例中个,用户可以指定一个目标号码,然后基于目标号码的轨迹查找到轨迹相似的潜在号码作为其他号码,基于目标号码与潜在号码的轨迹序列,使用预设的伴随相似度计算策略,获取两个号码之间的伴随相似度。
实施例五
如图5所示,其为本发明实施例五的数据伴随分析方法的流程示意图。该数据伴随分析装置包括:降维模块11、数据转换模块12和计算模 块13。
其中,降维模块11,用于对目标号码的原始数据中二维空间数据进行降维处理以得到所述目标号码的一维空间数据。
在号码移动的过程中,会产生很多的定位数据,一般情况下,这些定位数据包括用于表示位置信息的空间维度的数据和用于表示时间的时间维度的数据,其中,空间维度的数据由经度和纬度数据构成。本实施例中,将号码移动过程中产生的定位数据定义为原始数据,通过原始数据可以表示该号码在不同时刻所处的位置。
为了减低原始数据的维度,来简化定位数据,本实施例中,降维模块11将目标号码的原始数据中二维空间数据降维成一维空间数据,具体地,降维模块11对目标数据的二维空间数据即经纬度数据进行空间hash化处理,将二维空间数据映射成一元的geohash编码,即将经纬度依次迭代映射成32进制的编码中。本实施例中,该一元geohash编码就是该目标号码的一维空间数据,此时就可以通过该geohash编码表示目标号码所处的位置。
数据转换模块12,用于将目标号码的一维空间数据和时间数据转换成可比较的目标号码的轨迹队列。
具体地,数据转换模块12利用所述目标号码的一维空间数据和所述原始数据中的时间数据生成所述目标号码的轨迹记录。
其中所述目标号码的轨迹记录用于记录所述目标号码在不同时间点上所处的位置,时间点对应原始数据中的时间数据;所处的位置用一维空间数据表示。
原始数据中的二维空间数据转换成一维空间数据后,其对应的时间数据不会发生变化。在获取到目标号码的一维空间数据后,数据转换模块12将该一维空间数据与原始数据中与该一维空间数据对应的时间数据结合,就能够构成该目标号码的轨迹记录。本实施例中,该目标号码的轨迹记录能够表示出该目标号码在不同时间点所处的位置,时间点对应原始数据中的时间数据。所处位置用一位空间数据表示。
进一步地,数据转换模块12对所述目标号码的轨迹记录进行数据规 整,以得到所述目标号码的轨迹队列。
其中,所述目标号码的轨迹队列用于记录所述目标号码在不同时间段内所处的位置,其中,所述时间段由所述目标号码的轨迹记录中的时间点生成。
目标号码的轨迹记录是一种时间点的记录,进一步地,数据转换模块12对目标号码的轨迹记录进行数据规整,将目标号码的轨迹记录从时间点的记录方式转换成时间段的记录方式。具体地,针对目标号码的轨迹记录中不同时间点处在相同位置的记录,将表示最早时间的时间点作为该相同位置的开始时间,将表示最晚时间的时间点作为该相同位置的结束时间,得到该相同位置对应的轨迹。实际应用中,原始数据的数据密度大,不宜直接处理,本实施例中将位置相同的记录基于时间点进行合并后,可以先去除重复的记录,能够起到简化数据的作用。
数据转换模块12对所述目标号码的轨迹记录进行数据规整,以得到所述目标号码的轨迹队列的具体地过程如下:
针对目标号码的轨迹记录中不同时间点处在不同位置的记录,将时间点作为该不同位置的开始时间和结束时间,得到该不同位置对应的轨迹。
在完成从时间点的记录格式转换到时间段的记录格式后,各轨迹的时间段之间是不连续的。为了能够将目标号码的轨迹进行比较,需要将不连续的时间段进行连续化处理。具体地,首先将目标号码的所有轨迹中geohash编码调整成预设位置,然后需要对轨迹的时间段的端点进行调整,以构建可进行比较的目标号码的轨迹队列。首先,将目标号码的所有轨迹按照开始时间从早到晚进行排序,按序对目标号码中相邻的轨迹的时间段的端点进行调整,以使相邻的轨迹的时间段的端点重合,在完成所有的轨迹的时间段端点的调整后,得到目标号码的轨迹队列。其中,本实施例中,时间段的端点就是时间段的开始时间和结束时间。例如,当前轨迹的时间段的上端点即开始时间为上一个轨迹的结束时间和自身开始时间的中间值,当前轨迹的时间段的下端点即结束时间为自身的结束时间与下一个轨迹的开始时间的中间值。例如,将当前轨迹的时间段 的下端点维持不变,而将下一个轨迹的时间段的上端点值调整为当前轨迹的时间段的上端点值,使得相邻的轨迹的时间段的端点重合。
计算模块13,用于基于所述目标号码的轨迹队列计算与其他号码之间的伴随相似度。
在获取到目标号码的轨迹队列后,可以用相同的过程获取其他号码的轨迹队列,计算模块13将基于目标号码的轨迹队列和其他号码的轨迹队列进行比较,基于预设的伴随相似度策略获取目标号码和其他号码之间的伴随相似度,本实施例中,其他号码可以为一个也可以是多个。可选地,其他号码可以用户输入,也可以根据目标号码查询到的轨迹相似的号码。
关于预设的伴随相似度计算策略可参见上述实施例中相关内容的记载,此处不再赘述。
本实施例提供的数据伴随分析装置,通过将目标号码原始数据中二维空间数据进行降维处理成目标号码的一维空间数据,利用目标号码的一维空间数据和原始数据中的时间数据构成目标号码的轨迹记录,通过数据规则处理将目标号码的轨迹记录转换成可比较的目标轨迹队列,基于目标号码的轨迹队列计算与其他号码之间的伴随相似度。本实施例中,通过降维处理简化原始数据,不再通过数学模型进行拟合处理,降低复杂度,提高伴随分析的时效性。
实施例六
如图6所示,其为本发明实施例五的数据伴随分析方法的流程示意图。该数据伴随分析装置除了包括上述实例四中的降维模块11、数据转换模块12和计算模块13之外,还包括接收模块14、可信区间获取模块15和查找模块16。
其中,降维模块11,具体用于对所述目标号码的原始数据中二维空间数据进行二维空间哈希hash化,以得到一元geohash编码作为所述目标号码的一维空间数据。
本实施例中,数据转换模块12的一种可选地结构方式,包括:轨迹记录单元121和轨迹队列单元122。
轨迹记录单元121,用于利用所述目标号码的一维空间数据和所述原始数据中的时间数据生成所述目标号码的轨迹记录;其中所述目标号码的轨迹记录用于记录所述目标号码在不同时间点上所处的位置,时间点对应原始数据中的时间数据;所处的位置用一维空间数据表示。
轨迹队列单元122,用于对所述目标号码的轨迹记录进行数据规整,以得到所述目标号码的轨迹队列;其中,所述目标号码的轨迹队列用于记录所述目标号码在不同时间段内所处的位置,其中,所述时间段由所述目标号码的轨迹记录中的时间点生成。
本实施例中,轨迹队列单元122的一种可选地结构方法,包括:获取子单元1221、位数调整子单元1222、排序子单元1223和时间调整子单元1224。
获取子单元1221,用于针对所述目标号码的轨迹记录中不同时间点处在相同位置的记录,将表示最早时间的时间点作为所述相同位置的开始时间,将表示最晚时间的时间点作为所述相同位置的结束时间,得到所述相同位置对应的轨迹,以及针对所述目标号码的轨迹记录中不同时间点处在不同位置的记录,将时间点作为所述不同位置的开始时间和结束时间,得到所述不同位置对应的轨迹。
位数调整子单元1222,用于将所述目标号码中每条轨迹中所述geohash编码的位数调整到预设位数。
排序子单元1223,用于将所述目标号码的所有轨迹按照开始时间从早到晚进行排序。
时间调整子单元1224,用于对所述目标号码中相邻的轨迹的时间段的端点进行调整,以使相邻的轨迹的时间段的端点重合,得到所述目标号码的轨迹队列。
接收模块14,用于接收用户输入的查询信息,所述查询信息中包括查询号码和查询时间段,其中,所述查询号码个数为1,将所述查询号码作为所述目标号码。
可信区间获取模块15,用于根据所述目标号码的轨迹队列获取所述目标号码的可信区间。
查找模块16,用于根据所述可信区间获取与所述目标号码的轨迹记录相似的潜在号码。
进一步地,降维模块11,还用于对所述潜在号码的原始数据中二维空间数据进行降维处理以得到所述潜在号码的一维空间数据。
轨迹记录单元121,还用于利用所述潜在号码的一维空间数据和所述原始数据中的时间数据生成所述潜在号码的轨迹记录。
轨迹队列单元122,还用于对所述潜在号码的轨迹记录进行数据规整,以得到所述潜在号码的轨迹队列。
计算模块13,具体用于将所述潜在号码作为所述其他号码,基于预设的伴随相似度计算策略,计算所述目标号码与每个所述其他号码之间的伴随相似度。
计算模块13,还用于将所述目标号码与每个所述潜在号码之间的伴随相似度进行排序,以得到所述目标号码的伴随相似度列表。
进一步地,接收模块15,还用于接收用户输入的查询信息,所述查询信息中包括查询号码和查询时间段,其中,所述查询号码个数至少为2,将其中一个查询号码作为所述目标号码,剩余查询号码作为所述其他号码。
进一步地,降维模块11,还用于对所述潜在号码的原始数据中二维空间数据进行降维处理以得到所述潜在号码的一维空间数据;
轨迹记录单元121,还用于利用所述潜在号码的一维空间数据和所述原始数据中的时间数据生成所述潜在号码的轨迹记录;
轨迹队列单元122,还用于对所述潜在号码的轨迹记录进行数据规整,以得到所述潜在号码的轨迹队列。
计算模块13,具体用于基于预设的伴随相似度计算策略,计算所述目标号码与每个所述其他号码之间的伴随相似度。
本实施例中,计算模块13的一种可选地结构方法,包括:地理分层单元131、预设单元132、比较单元133、判断单元134和权重计算单元135、相似度计算单元136。
其中,地理分层单元131,用于对预设位数的所述geohash编码进行 地理分层。
预设单元132,用于为所述geohash编码的每个层次设置不同的权重。
比较单元133,用于将目标号码轨迹队列中每一条记录与其他号码中每一条记录进行比较。
判断单元134,用于判断相互比较的两条记录在时间上是否存在交集。
权重计算单元135,用于如果判断存在交集,获取相互比较的两条记录中所述geohash编码之间的重复的层次,以及根据与所述重复的层次对应的权重以及预设的交集基数获取交集数值。
相似度计算单元136,用于将所有交集数值相加后与交集的次数做比值,将所述比值作为所述目标号码与所述其他号码之间的伴随相似度。
本实施例提供的数据伴随分析装置,通过将目标号码原始数据中二维空间数据进行降维处理成目标号码的一维空间数据,利用目标号码的一维空间数据和原始数据中的时间数据构成目标号码的轨迹记录,通过数据规则处理将目标号码的轨迹记录转换成可比较的目标轨迹队列,基于目标号码的轨迹队列计算与其他号码之间的伴随相似度。本实施例中,通过降维处理简化原始数据,不再通过数学模型进行拟合处理,降低复杂度,提高伴随分析的时效性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。