一种无线传感器网络数据流的增量式离群点检测方法与流程

文档序号:15685919发布日期:2018-10-16 21:03阅读:113来源:国知局

本发明涉及传感器技术领域,特别是涉及一种无线传感器网络数据流的增量式离群点检测方法。



背景技术:

现有的无线传感器网络在线离群点检测技术普遍采用滑动窗采样传感器的数据。滑动窗内的数据总量通常是固定的或者根据数据波动程度等参数动态调整。当传感器采集到新数据时,滑动窗需要吸纳进新数据,并剔除时间上最旧的数据,从而在时间域上表现出不断向前滑动的效果。在吸收新数据和剔除旧数据之后,新的滑动窗形成,其中的数据集也发生了变化。此后,将进一步引起数据局部分布密度和离群属性的变化。这一过程称为离群点检测的更新过程。

现有技术在执行上述更新过程时,首先删除滑动窗内所有数据原有的最近邻信息、局部分布密度和离群点属性,然后根据新的滑动窗数据重新构建数据的最近邻信息、局部分布密度和离群点属性。如图1所示,无线传感器节点x产生的数据流{x1,x2,…,xn+2},n>2,采样时间为{t1,t2,…,tn+2}。新、旧滑动窗分别包含n个数据{x2,x3,…,xn+1}和{x1,x2,…,xn}。现有离群点检测技术在滑动窗从旧到新的更新过程中,将x1删除,同时吸纳进xn+1,并且数据{x2,x3,…,xn+1}的最近邻信息、局部分布密度和离群点属性都经过了重新计算。

上述方法存在如下缺点:通过分析可以得出,滑动窗更新之后,新、旧数据集之间总是存在一定数量的共有数据,且在多数情况下共有数据在新、旧数据集中占较大的比重。删除旧数据和吸纳新数据对共有数据最近邻、局部分布密度和离群程度的影响是存在的,但并不一定具有普遍性,且影响的程度也是有局限的,并非原有的最近邻都发生了变化。如图1所示,新滑动窗和旧滑动窗有n-1个共有数据{x2,…,xn},占到了滑动窗数据的非常大比例,x1的删除和xn+1的增加势必会影响共有数据{x2,…,xn}的最近邻、局部分布密度和离群程度,但这种影响是有限度的。因此,现有技术将旧数据的所有信息一概删除的方式存在很大比例的重复计算,浪费了宝贵的计算资源与能源。



技术实现要素:

本发明解决了现有无线传感器网络数据流离群点检测技术在基于滑动窗的数据最近邻域更新过程中存在大量重复计算,严重降低离群点在线检测效率的问题。

为解决上述技术问题,本发明采用的一个技术方案是:在分析了滑动窗内数据邻域的更新逻辑,基于空间几何学的基础上,充分利用旧数据和旧数据邻域信息,提供了一种无线传感器网络数据流的增量式离群点检测方法,包括如下步骤:

步骤一,使用滑动窗采样得到最新的数据流信息;

步骤二,根据最近邻思想计算数据流中所有数据的局部分布密度;

步骤三,根据数据的局部分布密度判断数据是否为离群;所述局部离群因子计算方法为:在滑动窗确定的数据集内,每一个数据的局部离群因子等于该数据的k阶最近邻域、k阶反向邻域和k阶共享邻域内所有数据局部分布密度的均值与该数据自身局部分布密度的比值;

步骤四,在所述步骤三基础上引入新的数据或者删除数据,采用增量式局部离群因子更新方法,对上述数据进行更新和计算离群点。

优选的,在上述的一种无线传感器网络数据流的增量式群点检测方法中,所述步骤一的具体步骤为:在传感器节点x处,采用长度为n的滑动窗截取时间连续的最新数据x{x1,x2,…,xn},其中n>2,且任意数据xi都是d维的,并有1≤i≤n;定义任意数据xi的k阶最近邻域为knn(xi);且有|knn(xi)|=k;对任意xj∈knn(xi),有i≠j,且1≤j≤n。

优选的,在上述的一种无线传感器网络数据流的增量式群点检测方法中,所述步骤二中的所述最近邻思想分别采用了k阶最近邻方法、k阶反向最近邻方法和k阶共享邻域方法;采用所述最近邻思想计算所述局部分布密度的具体计算方法为:

首先,所述k阶最近邻方法,是指距离数据点x最近的k个数据的集合,其中,不包含x自身,k表示预设参数,且k>1;

所述k阶反向最近邻方法,是指若数据点x是数据点y的k阶最近邻,那么所有y的集合就是数据x的k阶反向最近邻;

所述k阶共享最近邻方法,是指若数据点x与数据点y有共同的k阶最近邻数据z,那么x和y互为彼此的k阶共享最近邻成员;

则所述局部分布密度计算方法为,在所述步骤一中通过滑动窗采样确定的数据集内,每一个数据的局部分布密度等于所述步骤二中的该数据的k阶最近邻域内所有数据与它之间距离的平均值,具体计算如下:

滑动窗x内数据xi的局部分布密度p(xi)=(σxj∈knn(xi)||xi-xj||)/k,其中||xi-xj||表示xi与xj之间的欧氏距离。

优选的,在上述的一种无线传感器网络数据流的增量式离群点检测方法中,所述步骤三中局部离群因子的具体计算方法为:

a)在所述步骤一中传感器节点x处,已知采用长度为n的滑动窗截取时间连续的最新数据{x1,x2,…,xn},其中n>2,且任意数据xi都是d维的,并有1≤i≤n;任意数据xi的k阶最近邻域为knn(xi),则定义xi的k阶反向领域为rknn(xi),xi的k阶共享最近邻域为sknn(xi);

b)由所述步骤a)中的3种所述k阶最近邻域、k阶反向领域、k阶共享最近邻域构成的复合邻域cnn(xi)=knn(xi)∪rknn(xi)∪sknn(xi);

c)则所述滑动窗内数据xi的局部离群因子lof(xi)=(σxj∈cnn(xi),i≠jp(xj))/(|cnn(xi)|p(xi));

当lof(xi)=1时,表示xi和它的复合领域cnn(xi)是从相同的数据分布中采样得到的;

当lof(xi)<1时,表示xi处于数据分布密集的区域,周围被分布密度稀松的数据包围;

而当lof(xi)>1时,表示xi周围是数据分布密度较大的区域,此时xi应当被判定为离群点。

优选的,在上述的一种无线传感器网络数据流的增量式离群点检测方法中,所述步骤四的具体方法如下:

a)根据k阶最近邻域的定义,得出knn(xi)=k;

b)根据空间几何学推理得出其中,f表示渐进复杂度变量,θ表示渐进趋近符号,从空间几何学中可以得出如下结论:xi的k阶反向邻域rknn(xi)内包含的数据与k成正比,与数据维度d成指数比例,而与滑动窗内的数据总量n无关;

c)数据xi的k阶共享邻域sknn(xi)内的数据是由knn(xi)集合内数据的k阶反向邻域组成的,所以

d)当在滑动窗内插入新数据和删除旧数据时,对k阶最近邻域knn、k阶反向邻域rknn和k阶共享邻域sknn的影响,经分析得出,插入数据和删除数据的过程互为逆过程;

e)滑动窗内插入新数据xnew之后,原滑动窗x中knn受影响的数据的总量为其中,|knn|affected表示受影响的k阶最近邻域数据总量,|rknn(xnew)|表示受影响的k阶反向邻域数据总量;

原滑动窗x中,rknn受影响的数据的总量为:

|rknn|affected=|knn(xnew)|+|rknn(xnew)|=k+f,其中|rknn|affected表示受影响的k阶反向邻域数据总量,|knn(xnew)|表示新增的k阶最近邻域数据总量;

原滑动窗x中,sknn受影响的数据的总量为:

|sknn|affected=|rknn(xnew)|·|rknn(xdel)|≤f2,其中|sknn|affected表示受影响的k阶共享邻域数据总量,|rknn(xdel)|表示删除的k阶反向邻域数据总量;

f)在滑动窗内插入或删除数据之后,原有滑动窗x中受影响的数据的总量为|knn|affected+|rknn|affected+|sknn|affected≤k+2f+f2≤θ(k222dd),因此只对θ(k222dd)个旧数据的局部离群因子进行更新即可,且有θ(k222dd)<n,即原有滑动窗x内未受更新影响的数据的局部离群因子等离群点检测信息被新滑动窗xnew{x,xnew}直接继承,节省了计算资源;并且由上述计算公式得出受影响的数据的总量只与k和d有关,与滑动窗内数据的总量n无关,进而确保了本方法的收敛性。

优选的,在上述的一种无线传感器网络数据流的增量式离群点检测方法中,从所述步骤四的计算可知,离群点检测的渐进计算复杂度为o((k+2f+f2)·logn);而现有技术中删除旧数据的全部离群点检测信息,并基于新的滑动窗计算其内部所有数据的新离群点检测信息,所需要的渐进复杂度为ο(n2);由于<ο(n2)因此,得出了所述增量式局部离群点检测方法具有更低的计算复杂度,节省计算资源。

优选的,在上述的一种无线传感器网络数据流的增量式离群点检测方法中,宽度为8的滑动窗开始时包含{x1,x2,…,x8},取k=2,则有knn(x5)={x4,x6}、rknn(x5)={x4}、sknn(x5)={x3,x7,x8}、cnn(x5)={x3,x4,x6,x7,x8},插入新数据xnew之后,有knn(x5)={x4,xnew}、rknn(x5)={x4,xnew}、sknn(x5)={x3,xnew}、cnn(x5)={x3,x4,xnew};根据插入xnew前后knn(x5)的改变,以及数据x5属于rknn(xnew),可以得出插入或删除数据后,knn受影响的数据应该从rknn(xnew)寻找。此外,rknn受影响的数据为x4、x5和x6,这些数据可以划分为两类:一类数据x4和x5,属于knn(xnew);另一类数据x6,被从rknn(xnew)集合内数据的k阶最近邻域中删除;最后,sknn受影响的数据为x5、x7和x8;这是由于x6被从knn(x5)中删除,导致x5与{x7,x8}之间的共享邻域关系被打破;同时,{x5,x7,x8}都属于rknn(x6);因此,rknn受影响的数据应该从rknn(xdel)中寻找,其中xdel表示由于xnew的插入被从滑动窗内其他数据的knn中删除的那些数据。

本发明的有益效果是:

本发明通过分析基于滑动窗的数据邻域更新过程,提出了一种增量式局部离群因子更新方法,能够有效降低无线传感器网络数据流中离群点在线检测的计算复杂度,解决了传感器有限的计算资源和能源,处理速度更快。

本发明在最近邻参数k和数据维度d普遍小于滑动窗内数据总量n的前提下,新提出的方法提高了滑动窗内数据邻域的计算效率,在此基础上便可以计算新滑动窗内数据的局部离群因子,并且计算效率的改善并没有影响离群点的检测精度。

附图说明

图1是本发明的一种无线传感器网络数据流的增量式离群点检测方法的流程图;

图2是宽度为8的滑动窗中新增xnew前后的空间分布图;

图3是滑动窗数量为n,k分别为5、10、15、20,d分别为2、4、6、8、10时的复合邻域的数量变化图;

图4是滑动窗数量为n,k分别为5、10、15、20,d分别为2、4、6、8、10时的各个滑动窗数量n与复合邻域受影响数据变化量的曲线关系图;

图5是现有技术中滑动窗数量n与复合邻域受影响数据变化量的直线关系图。

具体实施方式

为了使本发明技术实现的措施、创作特征、达成目的与功效易于明白了解,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明的一种无线传感器网络数据流的增量式离群点检测方法的流程图。

如图1所示,一种无线传感器网络数据流的增量式离群点检测方法,包括如下步骤:

步骤一,使用滑动窗采样得到最新的数据流信息,具体方法为:

在传感器节点x处,采用长度为n的滑动窗截取时间连续的最新数据x{x1,x2,…,xn},其中n>2,且任意数据xi都是d维的,并有1≤i≤n;定义任意数据xi的k阶最近邻域为knn(xi);且有|knn(xi)|=k;对任意xj∈knn(xi),有i≠j,且1≤j≤n;

步骤二,根据最近邻思想计算数据流中所有数据的局部分布密度,所述最近邻思想分别采用了k阶最近邻方法、k阶反向最近邻方法和k阶共享邻域方法,计算所述局部分布密度的具体计算方法为:

首先,所述k阶最近邻方法,是指距离数据点x最近的k个数据的集合,其中,不包含x自身,k表示预设参数,且k>1;

所述k阶反向最近邻方法,是指若数据点x是数据点y的k阶最近邻,那么所有y的集合就是数据x的k阶反向最近邻;

所述k阶共享最近邻方法,是指若数据点x与数据点y有共同的k阶最近邻数据z,那么x和y互为彼此的k阶共享最近邻成员;

则所述局部分布密度计算方法为,在所述步骤一中通过滑动窗采样确定的数据集内,每一个数据的局部分布密度等于所述步骤二中的该数据的k阶最近邻域内所有数据与它之间距离的平均值,具体计算如下:

滑动窗x内数据xi的局部分布密度p(xi)=(σxj∈knn(xi)||xi-xj||)/k,其中||xi-xj||表示xi与xj之间的欧氏距离;

步骤三,根据数据的局部分布密度判断数据是否为离群;所述局部离群因子计算方法为:在滑动窗确定的数据集内,每一个数据的局部离群因子等于该数据的k阶最近邻域、k阶反向邻域和k阶共享邻域内所有数据局部分布密度的均值与该数据自身局部分布密度的比值;具体如下:

a)在所述步骤一中传感器节点x处,已知采用长度为n的滑动窗截取时间连续的最新数据{x1,x2,…,xn},其中n>2,且任意数据xi都是d维的,并有1≤i≤n;任意数据xi的k阶最近邻域为knn(xi),则定义xi的k阶反向领域为rknn(xi),xi的k阶共享最近邻域为sknn(xi);

b)由所述步骤a)中的3种所述k阶最近邻域、k阶反向领域、k阶共享最近邻域构成的复合邻域cnn(xi)=knn(xi)∪rknn(xi)∪sknn(xi);

c)则所述滑动窗内数据xi的局部离群因子lof(xi)=(σxj∈cnn(xi),i≠jp(xj))/(|cnn(xi)|p(xi));

当lof(xi)=1时,表示xi和它的复合领域cnn(xi)是从相同的数据分布中采样得到的;

当lof(xi)<1时,表示xi处于数据分布密集的区域,周围被分布密度稀松的数据包围;

而当lof(xi)>1时,表示xi周围是数据分布密度较大的区域,此时xi应当被判定为离群点;

步骤四,在所述步骤三基础上引入新的数据或者删除数据,采用增量式局部离群因子更新方法,对上述数据进行更新和计算离群点,具体如下:

a)根据k阶最近邻域的定义,得出knn(xi)=k;

b)根据空间几何学推理得出其中,f表示渐进复杂度变量,θ表示渐进趋近符号,从空间几何学中可以得出如下结论:xi的k阶反向邻域rknn(xi)内包含的数据与k成正比,与数据维度d成指数比例,而与滑动窗内的数据总量n无关;

c)数据xi的k阶共享邻域sknn(xi)内的数据是由knn(xi)集合内数据的k阶反向邻域组成的,所以

d)当在滑动窗内插入新数据和删除旧数据时,对k阶最近邻域knn、k阶反向邻域rknn和k阶共享邻域sknn的影响,经分析得出,插入数据和删除数据的过程互为逆过程;

e)滑动窗内插入新数据xnew之后,原滑动窗x中knn受影响的数据的总量为其中,|knn|affected表示受影响的k阶最近邻域数据总量,|rknn(xnew)|表示受影响的k阶反向邻域数据总量;

原滑动窗x中,rknn受影响的数据的总量为:

|rknn|affected=|knn(xnew)|+|rknn(xnew)|=k+f,其中|rknn|affected表示受影响的k阶反向邻域数据总量,|knn(xnew)|表示新增的k阶最近邻域数据总量;

原滑动窗x中,sknn受影响的数据的总量为:

|sknn|affected=|rknn(xnew)|·|rknn(xdel)|≤f2,其中|sknn|affected表示受影响的k阶共享邻域数据总量,|rknn(xdel)|表示删除的k阶反向邻域数据总量;

f)在滑动窗内插入或删除数据之后,原有滑动窗x中受影响的数据的总量为|knn|affected+|rknn|affected+|sknn|affected≤k+2f+f2≤θ(k222dd),因此只对θ(k222dd)个旧数据的局部离群因子进行更新即可,且有θ(k222dd)<n,即原有滑动窗x内未受更新影响的数据的局部离群因子等离群点检测信息被新滑动窗xnew{x,xnew}直接继承,节省了计算资源;并且由上述计算公式得出受影响的数据的总量只与k和d有关,与滑动窗内数据的总量n无关,进而确保了本方法的收敛性。

综上所述,离群点检测的渐进计算复杂度为o((k+2f+f2)·logn);而现有技术中删除旧数据的全部离群点检测信息,并基于新的滑动窗计算其内部所有数据的新离群点检测信息,所需要的渐进复杂度为ο(n2);由于<ο(n2)因此,得出了所述增量式局部离群点检测方法具有更低的计算复杂度,节省计算资源。

如图2所示,一种无线传感器网络数据流的增量式离群点检测方法中,宽度为8的滑动窗开始时包含{x1,x2,…,x8},取k=2,则有knn(x5)={x4,x6}、rknn(x5)={x4}、sknn(x5)={x3,x7,x8}、cnn(x5)={x3,x4,x6,x7,x8},插入新数据xnew之后,有knn(x5)={x4,xnew}、rknn(x5)={x4,xnew}、sknn(x5)={x3,xnew}、cnn(x5)={x3,x4,xnew};根据插入xnew前后knn(x5)的改变,以及数据x5属于rknn(xnew),可以得出插入或删除数据后,knn受影响的数据应该从rknn(xnew)寻找。此外,rknn受影响的数据为x4、x5和x6,这些数据可以划分为两类:一类数据x4和x5,属于knn(xnew);另一类数据x6,被从rknn(xnew)集合内数据的k阶最近邻域中删除;最后,sknn受影响的数据为x5、x7和x8;这是由于x6被从knn(x5)中删除,导致x5与{x7,x8}之间的共享邻域关系被打破;同时,{x5,x7,x8}都属于rknn(x6);因此,rknn受影响的数据应该从rknn(xdel)中寻找,其中xdel表示由于xnew的插入被从滑动窗内其他数据的knn中删除的那些数据。

下面结合具体数据,对本发明的内容进行具体说明:

首先,引入服从正态分布和均匀分布的随机合成数据集,并向这些数据集中插入一个新数据,以对比分析此时复合邻域受影响的数据的总量,即局部离群因子需要更新的数据的总量。采用本发明的方法,具体操作如下:

如图3所示,分别对应服从正态分布和均匀分布的随机合成数据。其中,数据的总量n(即滑动窗内数据的总量n)分别为100、200、300、400、500、1000、2000、3000、4000和5000,数据维度d分别为2、4、6、8和10,并且k阶最近邻域参数k的取值为5、10、15和20。

测试过程中,向数据集中插入一个同维度、同分布的新数据,并统计数据集内复合邻域受新数据影响的数据的总量(即局部离群因子需要更新的数据的总量)。为了避免随机因素的影响,每种实验参数下都重复了100次计算。

如图4所示,随着最近邻域参数k和数据维度d的变化,复合邻域受新数据影响的数据的总量都趋于稳定,与滑动窗内数据的总量n无关。

然而,对于现有的技术,如图5所示,复合邻域受新数据影响的数据的总量与最近邻域参数k、数据维度d无关,仅与滑动窗内数据的总量n呈线型比例。以k=5,d=10,n=5000时的正态分布数据为例,与图3、4进行比较,本发明提出的增量式更新方法平均只需要重新计算33个数据的局部离群因子,而现有技术则需要重新计算5000个数据的局部离群因子。

因此,本发明新提出的一种无线传感器网络数据流的,增量式离群点检测方法较现有的方法提高了计算效率;并且对计算效率的改善并没有影响离群点的检测精度,解决了传感器有限的计算资源和能源,处理速度更快。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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