CN103916896B - 基于多维Epanechnikov核密度估计的异常检测方法 - Google Patents
基于多维Epanechnikov核密度估计的异常检测方法 Download PDFInfo
- Publication number
- CN103916896B CN103916896B CN201410116085.XA CN201410116085A CN103916896B CN 103916896 B CN103916896 B CN 103916896B CN 201410116085 A CN201410116085 A CN 201410116085A CN 103916896 B CN103916896 B CN 103916896B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- cluster head
- distribution
- sliding window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及基于多维Epanechnikov核密度估计的异常检测方法。目的是提供的方法能准确检测出异常数据。技术方案是:一种基于多维Epanechnikov核密度估计的异常检测方法,依次包括以下步骤:1)所有分布节点各自采集数据,接着利用基于第k个最近距离的采样方法进行异常值诊断;2)在簇首节点滑动窗口内形成正常数据样本,根据该样本在簇首节点滑动窗口内建立核密度估计模型;3)上述核密度估计模型发送给各分布节点,各分布节点利用该核密度估计模型判断下一时刻各分布节点内到达的数据是否异常;4)每隔时间T,各分布节点主动向簇首节点发送最新一段时间的正常数据;5)返回至步骤一。
Description
技术领域
本专利涉及无线传感器网络数据可靠性检测方法,尤其是一种基于多维Epanechnikov(叶帕涅奇尼科夫,俄国人)核密度估计异常值检测方法。
背景技术
真实的生活环境中存在的很多物理现象(比如温度、湿度、大气压力等)都需要持续地被监测。无线传感器网络(WSN)作为一种非常重要的数据来源,其采集的数据非常容易受到各种噪声来源的影响,比如节点软硬件故障,节点通信时遇到的环境噪声。这些噪声会严重影响传感器的读数,以及数据的分布情况,导致传感器产生不精确的或错误的数据。因此设计一种有效的传感器数据流分析处理方法是近年来无线传感器网络异常检测研究的重点。目前,大多数无线传感器网络异常数据检测方法并不能满足实际应用的精度要求,而能够满足精度要求的算法又有很高的计算复杂度。
发明内容
本发明的目的是提供一种基于多维Epanechnikov核密度估计的无线传感器网络数据异常值检测方法;该方法能准确检测出异常数据,并具有无需设置阈值、通信开销大大降低的特点。
本发明提供的技术方案是:一种基于多维Epanechnikov核密度估计的异常检测方法,依次包括以下步骤:
1)所有分布节点各自采集数据,接着利用基于第k个最近距离的采样方法进行异常值诊断,如果数据是正常值,就直接上传给簇首节点,如果是异常的,就将该异常值删除;
2)在簇首节点滑动窗口内形成正常数据样本,根据该样本在簇首节点滑动窗口内建立核密度估计模型:
其中,X=(x1,x2,…,xd)的核函数为k(X),且满足Rd表示d维欧式空间。则
式中:滑动窗口宽度d为数据维数,σi表示数据集在第i维上的标准偏差(i=1,2,…,d),n为簇首节点滑动窗口内数据样本中数据的个数,n=|sc|;
3)上述核密度估计模型发送给各分布节点,各分布节点利用该核密度估计模型判断下一时刻各分布节点内到达的数据是否异常;若则认为该数据是异常值;
4)每隔时间T,各分布节点主动向簇首节点发送最新一段时间的正常数据;
5)返回至步骤一。
所述步骤一中基于第k个最近距离的采样方法按以下步骤进行:
(1)设分布节点Ndj滑动窗口内初始数据
(2)计算两个时刻数据值之间的欧氏距离并令矩阵A中的元素为(一维数据采用减法取差的方法,二维以上数据采用欧氏距离)。
(3)将矩阵A的每一行按升序排序,得到矩阵A’;
(4)判断矩阵A’中每一行中第k个数(m初始值为1,θ为事先设定的阈值)是否成立,若成立,初始数据X(j)中第m个数据为异常值删除,否则作为正常数据上传给簇首节点。
式中各分布节点的滑动窗口内的数据集合为其中N为分布节点上的滑动窗口大小。
本发明的主要创新之处如下:
对于目前大规模无线传感器网络复杂的异常检测,本发明首先用基于第k个最近距离的采样方法将各分布节点的异常数据删除,将正常数据传给簇首节点建立核密度估计模型,再根据该模型来检测未来每一时刻各分布节点内到达的数据是否异常。核密度估计模型是用来计算数据的概率分布函数值,即PDF值,根据Epanechnikov核函数的独有特征,其在有限范围之外值都是零,如果某一时刻进入传感器的数据其PDF值为0,那么就认为其是异常值。这种方法与以往基于密度的异常检测算法相比,无需设置阈值,无需在调整合适的阈值上花费大量精力。与当前很多异常值检测算法(将所有的传感器原始数据都收集到簇首节点作集中式处理的方法)比较,大大降低了通信开销,并且无需设置阈值,可准确检测出异常数据。本发明提出的方法对传感器节点测量数据进行实验验证,提高了故障检测的精度,实验表明,本发明提出的方法能够适应大规模和资源受限的无线传感器网络中复杂异常检测,具有广阔的应用前景。
附图说明
图1为分布式数据流模型示意图。
图2为基于多维Epanechnikov核密度估计模型的异常值检测算法的总体流程图。
具体实施方式
异常检测在各个领域中都是一个深入研究的问题,无线传感器网络独特的特点及严格的约束条件使得该问题的研究更具有挑战性。针对无线传感器网络中的异常数据检测问题,目前已经提出过很多种方法,这些方法可以分为基于分布的、基于深度的、基于聚类的、基于距离的以及基于密度的方法。此外,按照传感器网络体系结构异常检测技术又可以分为集中式的和分布式的。
本发明提出的方法主要是针对资源受限的无线传感器网络复杂的异常检测,大大降低了节点之间的通信消耗,并能准确检测出异常数据,更具有环境适应能力。
本发明提出的无线传感器网络数据异常检测方法,主要基于两种技术:K最近邻算法和多维Epanechnikov核密度估计模型。
N.Roussopoulos等人在传统的空间数据库领域中,对K近邻查询处理方法进行了深入的研究。但该方法的缺点是:由于传感器节点的能量十分有限,将所有传感器节点的感知数据收集到簇首节点进行处理,会造成大量的能量消耗。
S.Subramaniam等人的文献提出了一种在分布式环境中,利用数据估计模型检测传感器网络采集的数据是否异常的方法。该方法不仅适用于多维的传感器网络数据模型,而且能在一定程度上降低通信能量的消耗。由于这种方法是利用多粒度偏差系数MDEF的去识别异常值,计算复杂度较高;考虑到无线传感器网络中的节点硬件资源的局限性,可以尝试用更简单的方法去检测异常值。Yang Zhang等人在技术报告中对无线传感器网络离群数据检测方法进行了较全面的综述和总结,并提出了应用节点多元数据之间的关系进行验证的思想。
本发明主要针对节点通信消耗远远大于计算消耗且资源受限的大规模无线传感器网络的复杂异常检测。它利用基于第k个最近距离的采样方法,将各分布节点的正常数据传给簇首节点建立一个核密度估计模型,再根据这个模型来检测未来每一时刻各分布节点内到达的数据是否异常。为了进一步阐明方法的原理和创新之处,首先介绍一些基本概念。
1、数据流,数据流是由传感器节点按时间顺序产生的一系列序列数据。数据流的特点是变化快、大量和连续到达的,如果直接对其进行计算很不理想,多遍扫描更不切实际。所以在建立数据流模型之前,首先要引入滑动窗口机制,利用滑动窗口来观察最近一个时间段内数据流的变化情况,在滑动窗口内部进行异常值检测。
2、滑动窗口,滑动窗口从数据流中随机获取一个数据点作为样本中新的数据元,对某个历史数据点将要滑出滑动窗口之前必须被刚进入的新的数据点代替。设分布节点上的滑动窗口大小均为N,在滑动窗口装满数据后,分布节点Ndj窗口内数据集合表示为
3、传感器网络模型,在分布式传感器网络中,假设l+1个节点组成一个分簇,簇中包括一个簇首节点Ndc和l个分布节点Nd1,Nd2,…,Ndl,每个节点上的数据流分别为DS1,DS2,…DSl,相应的每个节点的滑动窗口分别为W1,W2,…,Wl。假设由传感器节点Ndj(j=1,2,…,l)收集的连续时间序列数据流表示为其中表示在tp时刻传感器节点Ndj采集的数据,该数据包含d个属性测量值,即
4、核密度估计,核密度估计也称为非参数估计,它不需要有数据分布的先验知识,对数据分布不附加任何假设,是一种从样本出发研究数据分布特征的方法,具有较大的适应性。本文采用基于多维Epanechnikov核密度估计的异常检测算法。
设数据集X1,X2…,Xn为Rd上的独立同分布随机变量,其中Xi=(xi1,xi2,..,xid)为d维数据,若要对其数据分布进行估计,令未知向量X=(x1,x2,…,xd)的核函数为k(X),且满足给出分布密度函数f(X)的核密度估计定义为
5、Epanechnikov核函数,在有限范围之外,Epanechnikov核函数的值都是零,为了减少异常检测中设置阈值个数,选用Epanechnikov核对数据分布进行估计,即:
其中滑动窗口宽度σi表示数据集在第i维上的标准偏差,d为数据维数,n为数据样本个数。
6、基于多维Epanechnikov核密度估计模型的异常值,设分布节点Ndj将最近N个时刻的正常数据发送给簇首节点Ndc,Ndc共收到Sc个正常数据,在此基础上得到Ndc上的核密度估计模型为:
即:
由于Epanechnikov核函数在有限范围外的核密度估计值都为零,分布节点收到其所属簇首节点核密度估计模型后,就对新进入分布节点滑动窗口内的数据Xnew检测;若则认为被检侧数据是异常值并将其删除。
本发明提出的基于多维Epanechnikov核密度估计模型的异常值检测方法,主要是针对大规模无线传感器网络中节点通信消耗远远大于计算消耗,资源受限的无线传感器网络中复杂异常检测而设计的;下面详细说明该方法的具体实施步骤。
1、总体方案
S1:将各分布节点Ndj初始化,开始采集数据;设分布节点Ndj的初始测量数据序列为
S2:利用基于第k个最近距离的采样方法除去异常值,将正常数据传给簇首节点Ndc;
S3:簇首节点Ndc建立核密度估计模型并且Ndc发送核密度估计模型给各分布节点;
S4:当有新的数据Xnew进入分布节点滑动窗口时,Ndj根据Ndc发送的核密度估计模型计算其核密度估计值;若则认为该数据是异常数据;
S5:每隔时间T,Ndj向Ndc发送最新一段时间的正常数据;然后回到第S1步。
2、基于第K个最近距离的采样方法
一种基于第k个最近距离的采样方法,通过以下步骤实现:
(1)求被测值与该节点滑动窗口内所有N个采样时刻的测量值之间的距离。
(2)将距离按升序排列,得到行距离矩阵。
(3)将得到的行距离矩阵中第k个数据与设定的阈值θ比较,若大于等于θ,则被测值作为异常值删除,否则作为正常数据上传给簇首节点。
具体流程如下所示:
S1:设分布节点Ndj滑动窗口内初始数据
S2:计算两个时刻数据值之间的欧式距离并令矩阵A中的元素为
S3:将矩阵A的每一行按升序排序,得到矩阵A’;
S4:判断矩阵A’中第k个数(m初始值为1,θ为事先设定的阈值)是否成立,如果成立转S5;否则转S7;
S5:将初始数据X(j)中第m个数据报告为异常,并从数据集合X(j)中剔除;
S6:判断m是否小于N,若是,m=m+1,转S4;否则,转S7;
S7:分布节点Ndj从滑动窗口内获得正常数据集合,算法结束。
下面是算法的伪代码:
输入:分布节点Ndj滑动窗口内的数据集合:算法中的参数k,θ;输出:标记异常数据集合Oj,正常数据集合Sj
procedure ODBKNN()
caculateof all points in
if
标记为异常数据,并将其插入集合Oj;
Endif
获得滑动窗口内所有正常数据集合Sj=X(j)-Oj;
return;
3、基于多维Epanechnikov核密度估计模型进行异常检测算法
为了保证核密度估计模型在异常检测中的可信性,必须定期维护簇首节点滑动窗口内的数据,更新核密度估计模型。定义每隔时间T,簇首节点主动要求分布节点向其发送最新一段时间的正常数据,即Ndj将每隔时间T向Ndc发送本地信息。当事件的发生造成数据分布发生较大变化时,不仅在分布节点上的滑动窗口内会连续出现异常值,而且同一簇内的大部分分布节点的滑动窗口内也会出现异常值,并将一直持续下去;对于这种情况,分布节点应及时要求簇首节点更新数据。
簇首节点得到的正常数据样本是来自所有分布节点传送的正常数据,开始建立核密度估计模型具体流程如下所示:
S1:设分布节点Ndj将最近N个时刻的正常数据发送给簇首节点Ndc,Ndc共收到Sc个正常数据。分布节点到达的新的数据为Xnew,更新时间周期T=0;
S2:Ndc上建立一个核密度估计模型,为
S3:Ndc将传送给分布节点Ndj;
S4:判定是否成立,如果是,则认定Xnew为异常值,否则为正常值;
S5:判定T是否溢出,如果是,转到S1,否则转到S6;
S6:T=T+1,转到S4。
下面是算法的伪代码:
实施例1
本实施案涉及的分布式数据流模型如图1所示,从图1可以看出,传感器网络中一共有l+1个分布节点(包括1个簇首节点)。区域内的每个分布节点都会以一定周期采集数据,形成数据流。为了保证该区域内分布节点采集数据样本的正确性,每个分布节点在上传数据前,都需要剔除滑动窗口内的异常值。
现在以温度值(单位为摄氏度)为例,设某区域内布置10个分布节点(V1至V10),每个分布节点的滑动窗口宽度N=20,这样10个分布节点在20个时刻内采集到的数据构成10×20的样本矩阵Z:
Z=(10.18,10.56,11.33,19.56,20.6,9.05,10.36,10.79,11.59,9.44,10.6,10.07,10.73,9.35,10.02,11.4,8.2,11.78,11.1,10.57;
10.86,9.1,9.86,9.13,9.41,11.6,9.64,9.23,10.26,10.36,8.9,9.58,8.67,8.71,8.28,11.92,10.15,10.86,9.42,9.72;
10.46,9.88,9.7,10.35,9.5,10.85,10.22,10.27,7.82,21.14,10.19,10.69,10.5,10.24,20.4,9.75,10.07,9.24,9.14,9.71;
9.67,9.14,9.65,9.27,11.2,7.5,9.7,11.88,10.37,19.56,9.21,11.82,9.06,10.47,8.84,9.5,10.82,10.65,9.64,10.58;
11.04,10.31,10.63,9.49,8.96,10.35,11.58,9.89,10.74,9.5,12.97,8.37,10.03,9.77,9.75,7.63,11.17,9.37,10.16,9.33;
11.26,8.94,9.13,8.8,9.83,8.7,10.3,10.09,9.46,10.12,11.92,10.26,10.27,10.48,9.82,10.28,9.61,10.17,11.12,8.96;
9.93,9.91,19.9,9.15,9.13,10.79,10.8,19.61,10.96,9.66,9.44,9.44,11.52,10.42,9.62,12.05,10.25,11.69,8.86,9.97;
9.78,10.19,9.59,8.79,11.27,10.55,9.73,9.2,11.89,10.62,9.78,11.1,8.27,7.75,10.3,9.02,9.23,7.75,10.48,10.68;
10.02,9.91,9.7,6.77,9.8,8.37,11.49,11.89,9.62,8.58,11.37,10.24,9.07,19.54,9.55,10.89,10.85,9.15,9.59,10.45;
10.83,9.1,9.47,8.57,9.23,11.19,9.97,19.45,8.05,10.2,12.02,9.18,9.41,11.55,8.56,9.41,9.25,9.37,9.98,10.94)。
上述矩阵Z中,第一行为分布节点V1在20个时刻内采集的温度值,第二行为分布节点V2在20个时刻内采集的温度值;依次类推,第十行为分布节点V10在20个时刻内采集的温度值。
分布节点V1在前20个采样时刻的测量值为{10.18,10.56,11.33,19.56,20.6,9.05,10.36,10.79,11.59,9.44,10.6,10.07,10.73,9.35,10.02,11.4,8.2,11.78,11.1,10.57};根据基于第k个最近距离的采样方法步骤,第一步需要计算该分布节点V1 20个采样测量值的任意两个值之间的距离(采用减法取差的方法),然后按升序排列;例如第一个数据10.18与包括自身在内的20个数据之间的差值就是矩阵中的第一行,以此类推,得到一个20×20的经过升序排列的距离矩阵A:
A=(0,0.11,0.16,0.18,0.38,0.39,0.42,0.55,0.61,0.74,0.83,0.92,1.13,1.15,1.22,1.41,1.6,1.98,9.38,10.42;
0,0.009,0.039,0.17,0.20,0.22,0.38,0.49,0.53,0.54,0.77,0.84,1.03,1.12,1.21,1.22,1.51,2.36,9.00,10.04;
0,0.07,0.23,0.26,0.45,0.54,0.60,0.73,0.76,0.77,0.97,1.15,1.26,1.31,1.89,1.98,2.28,3.13,8.23,9.27;
0,1.04,7.78,7.97,8.16,8.23,8.46,8.77,8.83,8.96,8.99,9.00,9.20,9.38,9.49,9.54,10.12,10.21,10.51,11.36;
0,1.04,8.82,9.01,9.20,9.27,9.50,9.81,9.87,10.00,10.03,10.04,10.24,10.42,10.53,10.58,11.16,11.25,11.55,12.40;
0,0.29,0.38,0.85,0.96,1.02,1.13,1.31,1.51,1.52,1.55,1.68,1.74,2.05,2.28,2.35,2.54,2.73,10.51,11.55;
0,0.18,0.20,0.21,0.24,0.28,0.34,0.37,0.43,0.74,0.92,0.97,1.01,1.04,1.23,1.31,1.42,2.16,9.20,10.24;
0,0.05,0.19,0.21,0.22,0.31,0.43,0.54,0.60,0.61,0.71,0.77,0.80,0.99,1.35,1.44,1.74,2.59,8.77,9.81;
0,0.19,0.19,0.26,0.49,0.80,0.85,0.99,1.02,1.03,1.23,1.41,1.52,1.57,2.15,2.24,2.54,3.39,7.97,9.01;
0,0.08,0.38,0.58,0.63,0.74,0.92,1.12,1.13,1.16,1.24,1.29,1.35,1.66,1.89,1.96,2.15,2.34,10.12,11.16;
0,0.02,0.03,0.13,0.19,0.24,0.42,0.50,0.52,0.58,0.73,0.8,0.99,1.16,1.18,1.25,1.55,2.40,8.96,10.00;
0,0.05,0.10,0.28,0.49,0.50,0.52,0.63,0.66,0.71,0.72,1.02,1.03,1.26,1.33,1.52,1.71,1.87,9.49,10.53;
0,0.05,0.13,0.16,0.17,0.36,0.37,0.55,0.60,0.66,0.67,0.71,0.85,1.05,1.29,1.38,1.68,2.53,8.83,9.87;
0,0.08,0.29,0.67,0.72,0.83,1.01,1.15,1.21,1.22,1.25,1.38,1.44,1.75,1.98,2.05,2.24,2.43,10.21,11.25;
0,0.05,0.16,0.34,0.54,0.55,0.58,0.58,0.67,0.71,0.77,0.96,1.08,1.31,1.38,1.57,1.76,1.82,9.54,10.58;
0,0.07,0.19,0.30,0.37,0.61,0.67,0.80,0.83,0.84,1.04,1.22,1.33,1.38,1.96,2.05,2.35,3.20,8.16,9.20;
0,0.85,1.15,1.24,1.82,1.87,1.98,2.16,2.36,2.37,2.40,2.53,2.59,2.90,3.13,3.20,3.39,3.58,11.36,12.40;
0,0.19,0.37,0.44,0.68,0.99,1.05,1.18,1.21,1.22,1.42,1.60,1.71,1.76,2.34,2.43,2.73,3.58,7.78,8.82;
0,0.23,0.30,0.31,0.36,0.49,0.50,0.52,0.53,0.68,0.74,0.92,1.03,1.08,1.66,1.75,2.05,2.90,8.46,9.50;
0,0.0,1,0.02,0.16,0.21,0.22,0.39,0.50,0.52,0.55,0.76,0.83,1.02,1.13,1.21,1.22,1.52,2.37,8.99,10.03;)
第二步进行异常值诊断;
设参数k=3,阈值θ=4,利用如上所示算法,将每一行的第3个数据与设定阈值θ比较,可以很清楚的看到,在19.56、20.6(分布节点V1的第4、第5个采样时刻的测量值)与其他时刻测量值形成的差值行中(距离矩阵A中的第4、5行),第4、5行中第3个差值数据7.78、8.82大于设置的阈值θ=4,则认定19.56、20.6为异常值,将这两个异常值删除,这样节点V1传给簇头节点的18个正常数据是{10.18,10.56,11.33,9.05,10.36,10.79,11.59,9.44,10.6,10.07,10.73,9.35,10.02,11.4,8.2,11.78,11.1,10.57}。
对于其他分布节点同样能够准确识别出滑动窗口内的异常数据。得到节点V1~V10的正常数据集合为{10.18,10.56,11.33,9.05,10.36,10.79,11.59,9.44,10.6,10.07,10.73,9.35,10.02,11.4,8.2,11.78,11.1,10.57;
10.86,9.1,9.86,9.13,9.41,11.6,9.64,9.23,10.26,10.36,8.9,9.58,8.67,8.71,8.28,11.92,10.15,10.86,9.42,9.72;
10.46,9.88,9.7,10.35,9.5,10.85,10.22,10.27,7.82,10.19,10.69,10.5,10.24,9.75,10.07,9.24,9.14,9.71;
9.67,9.14,9.65,9.27,11.2,7.5,9.7,11.88,10.37,9.21,11.82,9.06,10.47,8.84,9.5,10.82,10.65,9.64,10.58;
11.04,10.31,10.63,9.49,8.96,10.35,11.58,9.89,10.74,9.5,12.97,8.37,10.03,9.77,9.75,7.63,11.17,9.37,10.16,9.33;
11.26,8.94,9.13,8.8,9.83,8.7,10.3,10.09,9.46,10.12,11.92,10.26,10.27,10.48,9.82,10.28,9.61,10.17,11.12,8.96;
9.93,9.91,9.15,9.13,10.79,10.8,10.96,9.66,9.44,9.44,11.52,10.42,9.62,12.05,10.25,11.69,8.86,9.97;
9.78,10.19,9.59,8.79,11.27,10.55,9.73,9.2,11.89,10.62,9.78,11.1,8.27,7.75,10.3,9.02,9.23,7.75,10.48,10.68;
10.02,9.91,9.7,6.77,9.8,8.37,11.49,11.89,9.62,8.58,11.37,10.24,9.07,9.55,10.89,10.85,9.15,9.59,10.45;
10.83,9.1,9.47,8.57,9.23,11.19,9.97,8.05,10.2,12.02,9.18,9.41,11.55,8.56,9.41,9.25,9.37,9.98,10.94}
第三步簇首节点建立核密度估计模型。
根据第二步算法,得到在簇首节点滑动窗口内形成的正常数据样本如下所示:
{10.18,10.56,11.33,9.05,10.36,10.79,11.59,9.44,10.6,10.07,10.73,9.35,10.02,11.4,8.2,11.78,11.1,10.57,10.86,9.1,9.86,9.13,9.41,11.6,9.64,9.23,10.26,10.36,8.9,9.58,8.67,8.71,8.28,11.92,10.15,10.86,9.42,9.72,10.46,9.88,9.7,10.35,9.5,10.85,10.22,10.27,7.82,10.19,10.69,10.5,10.24,9.75,10.07,9.24,9.14,9.71,9.67,9.14,9.65,9.27,11.2,7.5,9.7,11.88,10.37,9.21,11.82,9.06,10.47,8.84,9.5,10.82,10.65,9.64,10.58,11.04,10.31,10.63,9.49,8.96,10.35,11.58,9.89,10.74,9.5,12.97,8.37,10.03,9.77,9.75,7.63,11.17,9.37,10.16,9.33,11.26,8.94,9.13,8.8,9.83,8.7,10.3,10.09,9.46,10.12,11.92,10.26,10.27,10.48,9.82,10.28,9.61,10.17,11.12,8.96,9.93,9.91,9.15,9.13,10.79,10.8,10.96,9.66,9.44,9.44,11.52,10.42,9.62,12.05,10.25,11.69,8.86,9.97,9.78,10.19,9.59,8.79,11.27,10.55,9.73,9.2,11.89,10.62,9.78,11.1,8.27,7.75,10.3,9.02,9.23,7.75,10.48,10.68,10.02,9.91,9.7,6.77,9.8,8.37,11.49,11.89,9.62,8.58,11.37,10.24,9.07,9.55,10.89,10.85,9.15,9.59,10.45,10.83,9.1,9.47,8.57,9.23,11.19,9.97,8.05,10.2,12.02,9.18,9.41,11.55,8.56,9.41,9.25,9.37,9.98,10.94}
以上数据样本中一共有191个正常数据,即|sc|=n=191
根据得到基于一维属性数据(温度)的Epanchnikov核密度估计模型是
一维Epanchnikov核函数
根据得到σi为温度的标准偏差, 是所有正常温度值的平均值,计算得到σi=1.0115,h=0.3928。
这样得到:
第四步,分布节点利用簇首节点发布的核密度估计模型检测下一时刻到达的数据是否异常。
例如,新到达的数据xnew是15.3,代入上式得:
说明15.3是异常数据。
在多维属性数据的异常检测中通过求欧式距离的方法得到距离矩阵,例如分布节点V2在T1时刻采集到的温度值是10(单位是℃),湿度值是20(单位是%),这样构成的数据向量为(10,20),T2时刻采集到数据向量为(13,23),则这两个数据之间的欧氏距离为多维属性数据基于第k个最近距离的采样算法和一维属性数据一样,将得到的距离矩阵中每行的第k个距离数据与设定的阈值比较,如果大于或者等于阈值,就认定其为异常值删除,否则作为正常数据传给簇头结点。
所有分布节点将正常数据发送至簇首节点,构成一个正常数据样本。
设簇首节点的正常数据样本用向量表示如下:
(10.8,19.1)(8.8,20.0)(8.9,18.7)(9.1,18.8)(7.0,19.9)(11.44,21.5)(10.3,19.2)(9.2,20.3)(11.3,19.7)(8.2,21.1)(9.8,18.9)(9.7,20.0)(10.3,20.5)(10.3,21.1)(9.1,21.5)(9.9,20.0)(9.8,18.5)(10.6,19.2)(11.0,18.9)(11.1,22.3)
以上是20个数据样本,每个数据都是二维属性数据,包括温度和湿度。
下一步是计算簇首节点核密度估计模型为:
由上述定义可得:
根据得到
将σ1=1.1241,h1=344.0051,σ2=1.0884,h2=333.0774代入到上式得
此后一段时间内,分布节点每采集到一个新数据向量xnew=(x1,x2),都会用上式来检验是否为异常值。若该值等于0,说明该时刻采集的数据向量为异常值,否则,采集的数据向量是正常的。
设分布节点V2在下一个时刻采集的数据向量xnew=(15,15),即x1=15,x2=15,将其代入核密度估计模型中,得出的核密度估计值为0,所以该数据认为是异常数据;
设采集的数据向量为(10,20),代入最后核密度估计值为0.1496,那么就将该数据认为是正常数据。
Claims (2)
1.一种基于多维Epanechnikov(叶帕涅奇尼科夫,俄国人)核密度估计的异常检测方法,依次包括以下步骤:
1)所有分布节点各自采集数据,接着利用基于第k个最近距离的采样方法进行异常值诊断,如果数据是正常值,就直接上传给簇首节点,如果是异常值,就将该异常值删除;
2)在簇首节点滑动窗口内形成正常数据样本,根据该样本在簇首节点滑动窗口内建立核密度估计模型:
其中,簇首节点数据样本中的数据集是X1,X2,…,Xn,Xi是多维属性数据,Xi=(xi1,xi2,..,xid)为d维数据,|sc|为正常数据样本中数据的个数,X=(x1,x2,…,xd)的核函数为k(X),且满足则
式中:滑动窗口宽度d为数据维数,σi表示数据集在第i维上的标准偏差(i=1,2,…,d),n为簇首节点滑动窗口内数据样本中数据的个数,n=|sc|;
3)上述核密度估计模型发送给各分布节点,各分布节点利用该核密度估计模型判断下一时刻各分布节点内到达的数据是否异常;若则认为该数据是异常值;
式中,Xnew是进入节点内的新的数据;
4)每隔时间T,各分布节点主动向簇首节点发送最新一段时间的正常数据;
5)返回至步骤一;
所述第k个最近距离的采样方法,通过以下步骤实现:
(1)求被测值与该节点滑动窗口内所有N个采样时刻的测量值之间的距离;
(2)将距离按升序排列,得到行距离矩阵;
(3)将得到的行距离矩阵中第k个数据与设定的阈值θ比较,若大于等于θ,则被测值作为异常值删除,否则作为正常数据上传给簇首节点;
具体流程如下所示:
S1:设分布节点Ndj滑动窗口内初始数据
S2:计算两个时刻数据值之间的欧式距离(m,v=1,2,…,N),并令矩阵A中的元素为
S3:将矩阵A的每一行按升序排序,得到矩阵A’;
S4:判断矩阵A’中第k个数(m初始值为1,θ为事先设定的阈值)是否成立,如果成立转S5;否则转S7;
S5:将初始数据X(j)中第m个数据报告为异常,并从数据集合X(j)中剔除;
S6:判断m是否小于N,若是,m=m+1,转S4;否则,转S7;
S7:分布节点Ndj从滑动窗口内获得正常数据集合,算法结束。
2.根据权利要求1所述的基于多维Epanechnikov核密度估计的异常检测方法,其特征在于:各分布节点的滑动窗口内的数据集合为其中N为分布节点上的滑动窗口大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116085.XA CN103916896B (zh) | 2014-03-26 | 2014-03-26 | 基于多维Epanechnikov核密度估计的异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116085.XA CN103916896B (zh) | 2014-03-26 | 2014-03-26 | 基于多维Epanechnikov核密度估计的异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103916896A CN103916896A (zh) | 2014-07-09 |
CN103916896B true CN103916896B (zh) | 2017-05-24 |
Family
ID=51042207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410116085.XA Expired - Fee Related CN103916896B (zh) | 2014-03-26 | 2014-03-26 | 基于多维Epanechnikov核密度估计的异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103916896B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105142164B (zh) * | 2015-06-24 | 2018-10-30 | 北京邮电大学 | 待估节点的数据填补方法和装置 |
CN105916165B (zh) * | 2016-03-30 | 2019-07-16 | 中国联合网络通信集团有限公司 | 无线传感器网络及其数据处理方法 |
CN106500754A (zh) * | 2016-12-30 | 2017-03-15 | 深圳前海弘稼科技有限公司 | 传感器的检测方法和传感器的检测装置 |
CN106714220B (zh) * | 2017-01-06 | 2019-05-17 | 江南大学 | 一种基于mea-bp神经网络wsn异常检测方法 |
CN107396292B (zh) * | 2017-07-29 | 2021-04-16 | 黑龙江禾发农业科技有限公司 | 一种用于精准农业的土壤湿度信息获取系统 |
CN109459409B (zh) * | 2017-09-06 | 2022-03-15 | 盐城工学院 | 一种基于knn的近红外异常光谱识别方法 |
CN107450342A (zh) * | 2017-09-20 | 2017-12-08 | 深圳市晟达机械设计有限公司 | 一种智能家居智能安防系统 |
CN108055154B (zh) * | 2017-12-15 | 2020-11-03 | 福州大学 | 一种基于雾运算结构的车联网异常数据检测系统 |
CN108180935B (zh) * | 2018-01-31 | 2020-07-03 | 深圳春沐源控股有限公司 | 传感器的故障检测方法及装置 |
CN109359138A (zh) * | 2018-10-19 | 2019-02-19 | 济南浪潮高新科技投资发展有限公司 | 一种基于核密度估计的异常检测方法及装置 |
CN110196962B (zh) * | 2019-04-12 | 2023-04-07 | 南京航空航天大学 | 一种基于核密度估计的飞机速度异常识别方法 |
CN110376290B (zh) * | 2019-07-19 | 2020-08-04 | 中南大学 | 基于多维核密度估计的声发射源定位方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013976A (zh) * | 2007-02-05 | 2007-08-08 | 南京邮电大学 | 无线传感器网络的混合入侵检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330315B2 (en) * | 2012-08-22 | 2016-05-03 | International Business Machines Corporation | Determining foregroundness of an object in surveillance video data |
-
2014
- 2014-03-26 CN CN201410116085.XA patent/CN103916896B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013976A (zh) * | 2007-02-05 | 2007-08-08 | 南京邮电大学 | 无线传感器网络的混合入侵检测方法 |
Non-Patent Citations (2)
Title |
---|
《Online Outlier Detection in Sensor Data Using》;S. Subramaniam;《VLDB》;20060915;第6卷;第187-198页 * |
《基于核密度估计的分布数据流离群点检测》;杨宜东;《计算机研究与发展》;20051231;第42卷(第9期);第1498-1504 * |
Also Published As
Publication number | Publication date |
---|---|
CN103916896A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103916896B (zh) | 基于多维Epanechnikov核密度估计的异常检测方法 | |
CN108960303B (zh) | 一种基于lstm的无人机飞行数据异常检测方法 | |
Gottwald et al. | Testing for chaos in deterministic systems with noise | |
CN112987675A (zh) | 一种异常检测的方法、装置、计算机设备和介质 | |
CN107332691B (zh) | 一种无线传感器网络故障节点检测方法 | |
Gao et al. | On threshold-free error detection for industrial wireless sensor networks | |
CN108427400B (zh) | 一种基于神经网络解析冗余的飞机空速管故障诊断方法 | |
CN108875823A (zh) | 基于新的证据衡量标准下证据的组合方法 | |
Moshtaghi et al. | Anomaly detection by clustering ellipsoids in wireless sensor networks | |
CN112713881B (zh) | 一种基于边缘计算的同步时钟维持系统与方法 | |
Nguyen et al. | Applying time series analysis and neighbourhood voting in a decentralised approach for fault detection and classification in WSNs | |
Jiang et al. | A multisensor cycle-supervised convolutional neural network for anomaly detection on magnetic flux leakage signals | |
Liao et al. | Nonparametric and semi-parametric sensor recovery in multichannel condition monitoring systems | |
CN114048546B (zh) | 一种基于图卷积网络和无监督域自适应的航空发动机剩余使用寿命预测方法 | |
CN103313386B (zh) | 基于信息一致性权值优化的无线传感网络目标跟踪方法 | |
Zhang et al. | Cooperative sensor anomaly detection using global information | |
CN106792799A (zh) | 一种基于贝叶斯网络的移动传感器网络降噪和校准方法 | |
Toma et al. | Traffic learning: A deep learning approach for obtaining accurate statistical information of the channel traffic in spectrum sharing systems | |
CN105407496A (zh) | 一种识别无线传感器网络中错误测量值的方法 | |
CN106202926B (zh) | 基于多节点协同探测的空间系统偏差配准优化方法 | |
Chen et al. | Data reconstruction in wireless sensor networks from incomplete and erroneous observations | |
CN116067600A (zh) | 幕墙工作模态参数识别、故障诊断与健康状态监测方法 | |
Cheng et al. | Non-invasive thermal comfort perception based on subtleness magnification and deep learning for energy efficiency | |
CN103414450B (zh) | 噪声统计特性未知系统的实时多速率h∞融合滤波方法 | |
CN113328881A (zh) | 一种面向非合作无线网络的拓扑感知方法及装置、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170524 Termination date: 20210326 |