一种针对无线传感网络数据的可变阈值异常点检测方法

文档序号:7801516阅读:173来源:国知局
一种针对无线传感网络数据的可变阈值异常点检测方法
【专利摘要】本发明公开了一种针对无线传感网络数据的可变阈值异常点检测方法,对于t时刻采集到的数据obj(i),在已知obj(i)对应的阈值δ(i)的情况下,计算obj(i)的异常因子OF(i),并通过异常因子来判断当前数据所处的状态,如果obj(i)处于异常态则认为obj(i)是一个异常值,然后,利用前一时刻的数据obj(i-1)所处的状态,当前数据obj(i)所处的状态,以及当前的阈值δ(i),确定下一时刻的阈值δ(i+1)。依照上述策略,最终实现对传感器采集数据的线上的实时检测。本发明的异常值检测方法实现较为简单,实现了对传感器采集数据的线上实时的异常值检测,且无需额外的数据通信,适用于多种拓扑的无线传感器网络,包括在动态的网络(链路变化、节点移动)。
【专利说明】一种针对无线传感网络数据的可变阈值异常点检测方法

【技术领域】
[0001]本发明涉及无线传感器领域,特别是无线传感器网络中的数据异常值检测,用于解决无线传感网络采集到的数据中存在的大量不可靠数据的问题。
技术背景
[0002]无线传感网络WSNs是由大量微小的、低消耗的传感器节点通过无线通信构建而成。目前无线传感网络被部署在各种各样的环境中,许多网络是部署在无人监督的恶劣的环境中。出于对网络部署成本的考虑,传感器节点常常是低成本,低质量的。另一方面,由于传感器自身的低成本和部署环境的不确定性,导致传感器采集到的数据中存在很多的误差、错误、丢失值、重复值或不一致数据。文献Sensor Network Data Fault Detect1n withMaximum A Poster1r Select1n and Bayesian Modeling 的作者在一片红树林中部署一个感网络,用于监测树林中的微气候,但收集到的数据中仅有49%可以做出有意义的解释,而大鸭岛(BDI)部署的传感网络中,每个节点采集到的数据中有3%到60%被认为是有问题的。数据中存在如此高的不可靠率,很难将这些数据用于有意义的科学研究中。异常点正是导致无线传感网络数据不可靠的最主要原因之一,所以无线传感网络中数据的异常值检测受到越来越广泛的重视。异常值检测的研究最早源于数据挖掘领域。现存文献中存在很多种异常值检测方法,比如说支持向量机,聚类方法,统计学方法,基于临近点的方法等。但是,无线传感网络有其自身特点,一些现存的检测方法并不能很好的应用于无线传感网络中。针对无线传感网络,需要考虑以下几个方面:
[0003](I)资源约束:低成本、低质量的传感器节点在能量、内存空间、计算能力和通信带宽上都非常有限,而大多数传统的异常值检测方法很少考虑在有限的内存和计算能力下算法执行的性能。
[0004](2)高的通信消耗:传感网络每个节点无线通信消耗了节点绝大多数能量。节点在通信时消耗的能量是在计算时消耗能量的好几倍。大多数传统的异常值检测方法采用集中式的方法对数据集进行分析处理,这样会产生大量的能量消耗和通信负载,将大大降低网络的使用寿命。如何降低通信开销以改善网络通信负载并延长网络寿命,是设计无线传感网络异常值检测方法的一项重要挑战。
[0005](3)分布式数据流:在一个正常运行的无线传感网络中每一个传感器都在实时感知数据,数据以一种分布式数据流的形式动态变化。而且数据的潜在分布很难事先获取。大多数传统的异常值检测方法属于线下的数据分析方法,很难用于处理分布式数据流。还有一些异常值检测方法是基于数据分布的先验知识,这些方法也很难用于传感网络中。如何在线的处理分布式数据流,是设计无线传感网络异常值检测方法的一项重要挑战。
[0006]因此,一个好的无线传感网络异常值检测方法应该是,保持低的通信负载,低的内存和计算开销,同时又能维持高检出率和低误报率的线上的分布式方法。
[0007]在文献 Quarter Sphere Based Distributed Anomaly Detect1n in WirelessSensor Networks中,作者给出了一种支持向量机的异常值检测方法。为了降低计算复杂度,文中采用一阶四分之一球SVM。这种方法可以对每个传感器采集的数据进行局部的异常值检测。但是,这种方法需要每隔一个时间段传感器采集到足够多的数据后才能对收集的数据进行检测,不是一种实时的线上的检测方法。
[0008]在文献Context-Aware Sensors中,作者将被检测节点(指的是传感器)的邻居节点当前的采集到的数据和被检测节点上一时刻的数据作为属性,构建一个朴素贝叶斯分类器。这种方法实现了线上的实时的异常检测,并且还可以近似的预测网络中的丢失数据。然而,这种方法存在几个缺点:首先,文中并没有给出在一个动态的网络环境中如何寻找合适的邻居节点;其次,这种方法仅仅适用于一维数据;再次,这种方法事先需要一个训练集来学习分类器参数,大多数情况下一个好的训练集是很难获得的。
[0009]在文献Hierarchical Anomaly Detect1n in Distributed Large-Scale SensorNetworks中,作者利用PCA技术,有效地对传感网络中数据的时空相关性进行建模,并识别出局部的异常值。网络中的每一个主节点,首先选取合适的主元构建主子空间,然后对其附近所有节点采集到的数据进行实时的局部异常检测。如果数据明显的偏离主子空间,就认为它是一个异常值。然而,PCA方法事先需要一个训练集来计算主元,而且在选取合适主元时计算法杂度非常高。
[0010]在文献Elliptical Anomal ies in Wireless Sensor Networks 中,作者第一次将超椭球理论用于传感器数据的建模上,并给出了一种正式的椭圆异常定义。每一个传感器根据自己采集到的数据,计算出一个超椭球,落在这个超椭球外边的数据就认为是异常数据,而落在椭圆内部的数据则认为是正常数据。当数据集的形状是超椭球时,这种方法检测的准确率比较高,然而,当数据集是不规则的几何形状时,检测结果是不可信的。
[0011]在无线传感网络中,传感器节点按照固定的时间间隔不断的捕获数据,每一条数据都对应一个被捕获的时间。传感器捕获的每一个数据都带有一个唯一的时间戳。上述文献中除了文献Context-Aware Sensors,都未考虑到传感器采集到的数据本身在时间上的连续性。存在这样一种情况,如图2所示,在时间上与数据点10临近的数据点都位于图中的右半部分,而数据点10却出现在左半部分。上述文献中的方法都能检测出异常点6,但对异常点10这些方法都无法检测出来。


【发明内容】

[0012]本发明要解决的技术问题是提供一种针对无线传感网络数据的可变阈值异常点检测方法。在不需要事先获取训练集的前提下,实现了对传感器采集数据的线上实时的异常检测,并且可以检测出图中数据10这种异常值。
[0013]为解决上述技术问题,本发明的实施例提供一种针对无线传感网络数据的可变阈值异常点检测方法,包括如下步骤:
[0014]S1、部署的传感网络,在t时刻开始采集数据;
[0015]S2、传感器采集到前m个数据obj (1),obj (2),..., obj (m)后,计算NHD (2),NHD (3),...,NHD (m),取 δ (m) =max {NHD (2),NHD (3),...,NHD (m)};
[0016]S3、根据设定的δ (k)更新机制得到δ (m+1);
[0017]S4、传感器捕获到第i个数据obj (i),计算NHD (k),OF (k),然后判断第i个数据所处的状态,如果第i个数据处于异常态,将数据obj (i)放入异常数据集Outlier ;
[0018]S5、根据设定的δ (k)更新机制,利用obj (1-Ι)的状态,obj (i)的状态以及当前的δ (k),得到下一时刻的阈值δ (k+1);
[0019]S6、重复步S4和S5直到传感器停止采集数据,得异常数据集Outlier。
[0020]所述S2中的数据前m个数据都是正常数据。
[0021]所述的S3步骤中的δ (k)的更新机制为:
[0022](I)数据obj (k-Ι)处于正常态,数据obj (k)处于临界态,新阈值δ (k+1)在阈值δ (k)的基础上适度增大;
[0023]δ (k+1) = δ (k) *0F (k) =NHK (k)
[0024](2)数据obj (k-1)处于正常态,数据obj (k)处于异常态,阈值保持不变;
[0025]δ (k+1) = δ (k)
[0026](3)数据obj (k-1)处于临界态,数据obj (k)处于异常态,新阈值δ (k+1)在阈值δ (k)的基础上适度增大;
[0027]δ (k+1) = δ (k) *trustvalue
[0028](4)数据obj (k-1)处于临界态,数据obj (k)处于正常态,阈值维持不变;
[0029]δ (k+1) = δ (k)
[0030](5)数据obj (k-1)处于异常态,数据obj (k)处于临界态,阈值维持不变;
[0031]δ (k+1) = δ (k)
[0032](6)数据obj (k-1)处于异常态,数据obj (k)处于正常态,新阈值δ (k+1)在阈值δ (k)的基础上减小;
[0033]δ (k+1)=max{δ (k) /trustvalue, NHD (k)}
[0034](7)数据obj (k-1)处于正常态,数据obj (k)处于正常态,新阈值δ (k+1)在阈值δ (k)的基础上适度减小;
[0035]δ (k+1) =max { δ (k)/2, NHD (k)}
[0036](8)数据obj (k-1)处于异常态,数据obj (k)处于异常态,新阈值δ (k+1)在阈值δ (k)的基础上增大:
[0037]δ (k+1) = δ (k) ^trustvalue
[0038](9)数据obj (k-1)处于临界态,数据obj(k)处于临界态,新阈值δ (k+1)应该等于当前的NHD (k);
[0039]δ (k+1) =NHD (k) ο
[0040]所述δ (k)的更新机制的条件为:已知前一个数据的状态,当前数据的状态和当前的阈值δ (k) O
[0041]本发明的有益效果是:
[0042]I)本发明能够有效的检测出在技术背景部分提到的异常点10这种异常值,而现存的算法大多很难检测到这种异常值。
[0043]2)本发明实现了对传感器数据的线上实时的检测。
[0044]3)本发明可以通过调节参数trustvalue来调节检测的松紧度,以适应各种不同环境下的检测要求。
[0045]4)本发明在检测数据过程中,无需额外的数据通信,故适用于多种拓扑的无线传感器网络,包括在动态的网络(链路变化、节点移动)。

【专利附图】

【附图说明】
[0046]图1是本发明的总流程图;
[0047]图2是两种不同的异常值的不例图;
[0048]图3是同一点在欧氏距离与马氏距离下的邻域;
[0049]图4是数据集中同一点在欧氏距离与马氏距离下的邻域;
[0050]图5是本发明中δ (k)更新机制的示意图;
[0051]图6是数据集Dl在检测前后的对比图;
[0052]图7是数据集Dl检测结果;
[0053]图8是图7右下角放大图;
[0054]图9是数据集D2的散点图;
[0055]图10是D2中加入50个噪声后的检测结果图;
[0056]图11是D2中加入100个噪声后的检测结果图;
[0057]图12是D2中加入200个噪声后的检测结果图;
[0058]图13是D2中加入260个噪声后的检测结果图;
[0059]图14是数据集D3的散点图;
[0060]图15是D3中加入20个噪声后的检测结果图;
[0061]图16是D3中加入40个噪声后的检测结果图;
[0062]图17是D2中加入60个噪声后的检测结果图。
[0063]

【具体实施方式】
[0064]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0065]本发明针对现有的不足提供一种针对无线传感网络数据的可变阈值异常点检测方法,如图2所示,数据点1,2,3,4,5都是正常数据点,而数据点6是一个异常数据点。在利用相邻两点之间距离来判断数据点是否异常时,计算数据点5,6之间的距离可以判断出6是异常点,而6,7之间的距离与6,5之间的距离几乎一样,7也将被检测为异常,但是观察数据集的散点图会发现数据点7应该是正常的,这样数据点7就被误报了。
[0066]为了避免上面讨论的那种误报,我们给出如下定义。
[0067]定义I (Normal Hop Distance of Current Obj)数据点 obj (k)为传感器在 t 时亥IJ捕获的数据,设t时刻之前捕获的数据之中已被检测为正常点,且与obj (k)最近的数据点记为obj (i),则当前数据点obj (k)的正常跳距离为:

【权利要求】
1.一种针对无线传感网络数据的可变阈值异常点检测方法,其特征在于,包括如下步骤: 51、部署的传感网络,在t时刻开始采集数据; 52、传感器采集到前m个数据obj(I),obj (2),…,obj (m)后,计算NHD (2),NHD (3),…,NHD (m),取 δ (m) =max {NHD ⑵,NHD (3),…,NHD (m)}; 53、根据设定的δ(k)更新机制得到δ (m+1); 54、传感器捕获到第i个数据obj(i),计算NHD (k),OF (k),然后判断第i个数据所处的状态,如果第i个数据处于异常态,将数据obj (i)放入异常数据集Outlier ; 55、根据设定的δ(k)更新机制,利用obj (1-1)的状态,obj(i)的状态以及当前的δ (k),得到下一时刻的阈值δ (k+1); 56、重复步S4和S5直到传感器停止采集数据,得异常数据集Outlier。
2.根据权利要求1所述一种针对无线传感网络数据的可变阈值异常点检测方法,其特征在于,所述S2中的数据前m个数据都是正常数据。
3.根据权利要求1所述一种针对无线传感网络数据的可变阈值异常点检测方法,其特征在于,所述的S3步骤中的δ (k)的更新机制为: (1)数据obj(k-l)处于正常态,数据obj(k)处于临界态,新阈值δ (k+1)在阈值δ (k)的基础上适度增大;
δ (k+l)=5 (k)*0F(k) = NHK (k) (2)数据obj(k-1)处于正常态,数据obj (k)处于异常态,阈值保持不变; δ (k+1)= δ (k) (3)数据obj(k-1)处于临界态,数据obj (k)处于异常态,新阈值δ (k+1)在阈值δ (k)的基础上适度增大;
δ (k+1)= δ (k)*trustvalue (4)数据obj(k-1)处于临界态,数据obj (k)处于正常态,阈值维持不变; δ (k+1)= δ (k) (5)数据obj(k-1)处于异常态,数据obj (k)处于临界态,阈值维持不变; δ (k+1)= δ (k) (6)数据obj(k-1)处于异常态,数据obj (k)处于正常态,新阈值δ (k+1)在阈值δ (k)的基础上减小;
δ (k+1) = max{δ (k)/trustvalue, NHD(k)} (J)数据obj (k-1)处于正常态,数据obj (k)处于正常态,新阈值δ (k+1)在阈值δ (k)的基础上适度减小;
δ (k+1) =max { δ (k)/2, NHD (k)} (8)数据obj(k-1)处于异常态,数据obj (k)处于异常态,新阈值δ (k+1)在阈值δ (k)的基础上增大;
δ (k+1)= δ (k)^trustvalue (9)数据obj(k-1)处于临界态,数据obj (k)处于临界态,新阈值δ (k+1)应该等于当前的 NHD (k);
δ (k+1)=NHD(k)ο
4.根据权利要求2所述的一种针对无线传感网络数据的可变阈值异常点检测方法,其特征在于,所述δ (k)的更新机制的条件为:已知前一个数据的状态,当前数据的状态和当前的阈值 δ (k) ο
【文档编号】H04W24/02GK104080108SQ201410152562
【公开日】2014年10月1日 申请日期:2014年4月14日 优先权日:2014年4月14日
【发明者】翟小超, 冯海林, 杨国平, 齐小刚 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1