本发明属于轨迹数据挖掘领域,具体涉及一种基于二分过滤的移动对象传染行为挖掘方法。
背景技术:
随着无线通信和移动计算技术以及全球定位和导航系统的快速发展,来自移动对象的轨迹数据不断增多。通过挖掘这些轨迹数据可以获得应用于动物研究、城市道路规划、军事监测等方面的有用知识。
目前,通过轨迹数据发现病毒在移动对象之间传染路径正受到研究者们的关注。一方面,需要定义合适的模型来描述病毒的传染行为;另一方面,如何高效地挖掘传染行为也是需要解决的问题。
技术实现要素:
为了解决上述问题,本发明提供了一种能够从轨迹数据中挖掘出病毒在移动对象之间的传播情况的基于二分过滤的移动对象传染行为挖掘方法。
为了达到上述目的,本发明是通过以下技术方案来实现的:
本发明是一种基于二分过滤的移动对象传染行为挖掘方法,令传染行为挖掘结果以传染行为三元组b=(from,to,ts)表示,其中from表示传染源对象,to表示被from传染的对象,time表示to被from传染的时间,若from不存在,则to为初始传染源对象,vresult为已确定的传染行为集合,w为传染源集合,具体步骤如下:
(1a)根据时间窗口阈值和移动对象的轨迹计算得到二分监测点集合ht;
(1b)将初始传染源对象以传染行为三元组形式加入集合vresult,并将每一个初始传染源加入集合w,并选择ht中的第一个二分监测点作为活动监测点;
(1c)在当前活动监测点hk时刻,对移动对象轨迹集合o中尚未感染的每一个对象oi进行分析,将w中可能传染oi的传染源对象添加到集合pi中;
(1d)判断pi是否为空,若不为空,则利用pi中最早传染oi的传染对象s及传染时间t构造新的传染行为三元组(s,oi,t),并将该三元组加入vresult,将oi加入w;否则,当前活动监测点处理完毕;
(1e)判断二分监测点是否全部处理完,若没处理完,则取下一个二分监测点为活动监测点,并转步骤(1c);若处理完,则表明传染行为挖掘结束,vresult即为最终确定的传染行为挖掘结果集。
本发明的进一步改进在于:所述步骤(1a)中计算得到二分监测点集合的过程如下:令|u|为时间窗口阈值,l为移动对象轨迹的长度,则二分监测点集合
本发明的进一步改进在于:所述步骤(1c)包括以下步骤:令d为对象传染的距离阈值,
(1c1)计算oi与sj在hk时刻的欧氏距离dist(oi,sj,hk),若dist(oi,sj,hk)≤d成立,则令
(1c2)判断当前
(1d1)计算oi与sj在t时刻的距离dist(oi,sj,t),若dist(oi,sj,t)≤d成立,则令
(1d2)根据当前
情况1:若|u|为奇数和
情况2:若|u|为偶数、
情况3:若|u|为偶数、
本发明的有益效果是:与现有技术相比,本发明的优点在于:1、本发明在进行传染行为挖掘时,首先找到了未感染对象o的所有可能传染源并添加到集合p中,然后再对p中的对象进行分析,以确保最早发生的传染行为的时间,因此可以保证未感染对象被感染且成为传染源时间的准确性,不会出现漏解。2、通过只在二分监测点进行传染源与所有未感染对象的距离计算,使得在其他时间点进行距离计算时过滤掉了所有不可能被感染的对象,从而实现了高效的传染行为挖掘。
附图说明
图1是本发明的流程图。
图2是基于二分过滤的移动对象传染行为挖掘示意图。
其中:图2中曲线1表示传染源对象from的移动轨迹,曲线2代表被传染对象to的移动轨迹,矩形方框则表示时间窗口u,并给出了窗口阈值|u|=8时的二分监测点{h0,h1,h2,h3}。
具体实施方式
为了加强对本发明的理解,下面将结合附图和实施例对本发明作进一步的详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。
如图1-2所示,本发明是一种基于二分过滤的移动对象传染行为挖掘方法,令传染行为挖掘结果以传染行为三元组b=(from,to,ts)表示,其中from表示传染源对象,to表示被from传染的对象,time表示to被from传染的时间,若from不存在,则to为初始传染源对象,vresult为已确定的传染行为集合,w为传染源集合,具体步骤如下:
(1a)根据时间窗口阈值和移动对象的轨迹计算得到二分监测点集合ht;
其中:二分监测点集合的计算过程如下:令|u|为时间窗口阈值,l为移动对象轨迹的长度,则二分监测点集合
(1b)将初始传染源对象以传染行为三元组形式加入集合vresult,并将每一个初始传染源加入集合w,并选择ht中的第一个二分监测点作为活动监测点;
(1c)在当前活动监测点hk时刻,对移动对象轨迹集合o中尚未感染的每一个对象oi进行分析,将w中可能传染oi的传染源对象添加到集合pi中;
所述步骤(1c)包括以下步骤:令d为对象传染的距离阈值,
(1c1)计算oi与sj在hk时刻的欧氏距离dist(oi,sj,hk),若dist(oi,sj,hk)≤d成立,则令
(1c2)判断当前
(1d)判断pi是否为空,若不为空,则利用pi中最早传染oi的传染对象s及传染时间t构造新的传染行为三元组(s,oi,t),并将该三元组加入vresult,将oi加入w;否则,当前活动监测点处理完毕;
所述步骤(1d)包括以下步骤:令
(1d1)计算oi与sj在t时刻的距离dist(oi,sj,t),若dist(oi,sj,t)≤d成立,则令
(1d2)根据当前
若|u|为奇数、
若|u|为偶数、
若|u|为偶数、
(1e)判断二分监测点是否全部处理完,若没处理完,则取下一个二分监测点为活动监测点,并转步骤(1c);若处理完,则表明传染行为挖掘结束,vresult即为最终确定的传染行为挖掘结果集。
本发明方法简单,可以保证未感染对象被感染且成为传染源时间的准确性,不会出现漏解,通过本方法可以实现高效的传染行为挖掘。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。