[发明专利]一种基于海量空间轨迹挖掘的在线的位置预测方法有效
申请号: | 201410577802.9 | 申请日: | 2014-10-24 |
公开(公告)号: | CN104462190B | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | 蒋锴;傅军;孔俊俊;何加浪;程序;李伟超 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 江苏圣典律师事务所32237 | 代理人: | 胡建华 |
地址: | 210007 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于海量空间轨迹挖掘的在线的位置预测方法,属于空间轨迹挖掘领域。本发明提出的方法首先从海量空间轨迹中挖掘频繁序列模式,接着使用序列模式构建基于前缀树结构的模型,然后构建基于距离和流行度的模型用来解决零频率问题,最后利用构建的预测模型,根据运动目标当前轨迹信息来预测运动目标的下一位置。该预测方法的准确率相对于现有方法有较大提升,而且计算复杂度低,能对运动目标的位置进行实时预测,并且仅依赖于运动目标的位置信息,因此可以广泛应用于智能交通、基于地理位置的服务等多个领域。 | ||
搜索关键词: | 一种 基于 海量 空间 轨迹 挖掘 在线 位置 预测 方法 | ||
【主权项】:
一种基于海量空间轨迹挖掘的在线的位置预测方法,其特征在于,包括以下四个步骤:频繁序列挖掘;构建基于前缀树结构的模型;构建基于距离和流行度的模型;预测运动目标下一位置;所述的频繁序列挖掘包括以下步骤:步骤a,对一组运动目标的历史空间轨迹集合S={s1,s2,...,sm}使用频繁序列挖掘算法,得到序列模式以及对应的支持度,m表示轨迹的总数;所述的构建基于前缀树结构的模型包括以下步骤:步骤b,将步骤a中得到的序列模式构建成一棵前缀树A,序列模式中包含的地点构成前缀树A的边,序列模式对应的支持度则记录在序列模式路径所对应的节点中;步骤c,将步骤a中得到的序列模式倒序,并构建成一棵前缀树B,倒序的序列模式中包含的地点构成前缀树B的边,序列模式对应的支持度则记录在倒序的序列模式路径所对应的节点中;所述的构建基于距离和流行度模型包括步骤:步骤d,建立结合距离因素和地点流行度因素的预测模型,该预测模型将地点的流行度定义为地点在历史空间轨迹集合中被用户访问的次数,并设定一个距离阈值D,然后将运动目标当前位置距离范围D内的最流行的地点作为下一位置的预测结果;所述的预测运动目标下一位置的步骤为:步骤e,获得用户当前位置信息的输入,如果是首次输入或者上一轮预测结果是由步骤i所产生,则转到步骤f,否则转到步骤g;步骤f,将运动目标当前的运动轨迹s倒序,记作运动轨迹在步骤c中由倒序的序列模式所构建的前缀树B上,从根节点开始,依照运动轨迹包含的地点向子节点搜索,直到无法继续搜索,此时到达子节点li;将根节点到子节点li的路径倒序,记作路径s′;在步骤b中由序列模式构建的前缀树A上,从根节点开始,按照路径s′搜索,直到路径s′搜索结束;将当前在前缀树上的位置保存到变量l*,接着转到步骤h;步骤g,如果上一轮预测结果是由基于步骤h前缀树结构的模型产生,则检查用户的当前位置是否是上一轮预测时变量l*中保存的前缀树A的节点的子节点,如果是,将用户当前位置存入变量l*,然后转到步骤h,如果不是,则转到步骤f;步骤h,遍历上一步骤变量l*中保存的前缀树A的节点的子节点,将支持度最大的子节点作为运动目标下一位置的预测结果;如果支持度最大的子节点不唯一,则按照步骤d中流行度的定义,将流行度最大的地点作为预测结果,转到步骤j,如果上一步骤变量l*保存的节点没有子节点,则转到步骤i;步骤i,用步骤d中的模型来预测运动目标的下一位置,接着转到步骤j;步骤j,输出预测结果,完成此轮预测,转到步骤e,进行下一轮预测;步骤a中设定支持度阈值为ξ,则挖掘得到的序列模式表示为:其中sq表示历史空间轨迹集合S中的第q条空间轨迹,q∈{1,2,...,m},m为历史空间轨迹集合S中包含的轨迹的数量,αp为挖掘得到的序列模式集合Ω中第p个序列模式,包含n个地点{l1,l2,...,lr,...,ln},其中lr表示序列模式的第r个地点,r取值1~n,Support(αp)为序列模式αp的支持度简化记为supportp,并与序列模式αp={l1,l2,...,ln}合并在一起表示,记作αp={l1,l2,...,ln:supportp};步骤b中,利用得到的序列模式集合构建成一棵前缀树A,序列模式αp包含的地点l1,l2,...,ln构成前缀树A的边,对应的支持度supportp则记录在路径l1l2...ln所对应的节点中;步骤c中,根据得到的所有序列模式αp倒序,记为并构建前缀树B,包含的地点ln,ln‑1,...,l1构成前缀树B的边,而对应的支持度supportp则记录在路径ln,ln‑1,...,l1所对应的节点中;步骤d,预测下一位置的过程为:假设用户当前已经访问过j个地点,轨迹为{l1,l2,...,lj},则用户当前地点为lj;将距离地点lj范围D内所有的地点作为候选地点,记为集合{l1,...,lk,...,lK},其中lk代表集合中的第K个地点,K为候选地点集合中地点个数;依据候选地点lk对应的流行度#(lk),选择出最流行的地点作为运动目标的下一位置的预测结果,预测模型表示为:且满足条件(lj,lk)<D,其中,lj表示用户当前所在的地点为用户轨迹序列中的第j个地点,用户下一个访问地点记为lj+1,对下一个地点的预测记为d(lj,lk)为距离函数,表示地点lj与地点lk之间的距离,D为距离阈值,所有与当前地点lj距离小于阈值D的地点lk都是候选地点;利用长度为1的序列模式αk={lk:#(lk)}计算候选地点lk的流行度,序列模式中的支持度#(lk)表示了地点lk在历史空间轨迹集合中被用户访问的次数,将支持度#(lk)作为地点流行度的衡量指标;函数argmaxx{F(x)}返回使得F(x)取得最大值的x;步骤f包括:将运动目标当前的轨迹s=l1,l2,...,lj倒序,得到轨迹在步骤c中由倒序的序列模式所构建的前缀树B上,从根节点开始,依照轨迹包含的地点向子节点搜索,直到无法继续搜索,此时到达子节点li;从根节点到子节点的路径为:lj,lj‑1,...,li,将其倒序,得到轨迹s′=li,li+1,...,lj,在步骤b中由频繁序列构建的前缀树A上,从根节点开始,按照轨迹s′的路径搜索,直到搜索结束,当前在前缀树A上的位置所对应的节点为lj,将其存入变量l*;步骤h包括:遍历上一步骤变量l*保存的前缀树A上节点的子节点,将支持度最大的子节点作为运动目标下一位置的预测结果,即:l~j+1=argmaxlk{support(li,...,l*,lk)},]]>其中support(li,...,l*,lk)是节点lk中所记录的地点序列li,...,l*,lk的支持度;如果支持度最大的子节点不唯一,则按照对地点的流行度的定义,输出流行度最大的地点,即:l~j+1=argmaxl{#(l)},l∈L,]]>其中,L为支持度最大的子节点的集合,即:L=argmaxlk{support(li,...,l*,lk)},]]>l为集合L中的子节点,#(l)为地点l的流行度。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410577802.9/,转载请声明来源钻瓜专利网。