混合型在线数据异常检测方法与流程

文档序号:20010479发布日期:2020-02-22 04:03阅读:658来源:国知局
导航: X技术> 最新专利> 电子通信装置的制造及其应用技术
混合型在线数据异常检测方法与流程

本发明属于无线传感器网络数据可靠性领域,涉及混合型在线数据异常检测方法,是一种复合的在线异常检测算法。



背景技术:

随着物联网的发展,大量无线传感器网络被部署在真实环境中,用于采集各种环境数据(如温度、湿度、土壤酸碱度等),海量的数据随之产生。通过对采集的数据的实时分析,我们可以实现对环境的实时监控,从而判断不良的环境条件(如森林监控系统检测到火灾,智慧农业系统检测到土壤ph值不适宜等),可以科学地指导人们的生产生活,但是其前提是确保数据真实可靠。

经大量研究发现,大多无线传感器网络采集的数据存在数据异常的问题。数据的异常有很多影响因素,如节点的损坏、节点的断电、其他噪声、甚至网络攻击等。由于节点部署的特殊性,大多数的影响因素无法有效地避免。因而,数据的异常检测技术尤为重要。一般的异常检测方法可以分为以下几类:基于统计、基于近邻、基于聚类和基于学习等。近些年来,为提高检测的实时性,在线异常检测的研究越来越受到科研人员的关注。

m.xie等人提出的基于超网格结构的k近邻异常检测方法,大大降低了基于距离的检测方法的计算复杂度(m.xie,j.hu,s.han,andh.-h.chen,“scalablehypergridk-nn-basedonlineanomalydetectioninwirelesssensornetworks,”ieeetransactionsonparallelanddistributedsystems,vol.24,no.8,pp.1661-1670,2012.a.b.sharma,l.golubchik,andr.govindan,“sensorfaults:detectionmethodsandprevalenceinreal-worlddatasets,”acmtransactionsonsensornetworks(tosn),vol.6,no.3,pp.23,2010.)。通过构建超网格结构,将特征空间划分为一个个连续的超立方体。然后将数据点映射到一个个超立方体中,进而统计非空的超立方体的坐标以及包含在其内的数据点的数量,形成一个全局标准文件(np)。最终,不同于一般的基于距离的检测方法,hgdb方法只需从np中统计测试数据映射后的区域邻近超立方体中的数据量总和,比较统计值与阈值大小。如果统计值大于阈值,则测试数据为正常,反之相反。hgdb在算法原理简单,将一般基于距离的超椭球体检测域改为超立方体检测域,易实现,具有计算复杂度低的优点,且其考虑到了分布式计算的方法,是一种有效的在线检测方法。然而,基于距离的异常检测方法只考虑测试数据与整体数据的分布关系,而忽略了无线传感器数据的时间相关性的特点,所以这类方法对于上下文异常检测精度不高,尤其是那些低强度的噪声。



技术实现要素:

[技术问题]

本发明要解决的技术问题是提高无线传感器网络异常检测的精度,在保障低的计算复杂度的前提下,提高检测精度,增强算法的鲁棒性。

[技术方案]

本发明在基于超网格的k近邻异常检测(hgdb)方法的基础上,利用无线传感器网络数据时空相关性的特点,增加一阶差分(fod)的检测方法,提高了算法对于上下文异常的检测率。其中,上下文异常设定为明显区别于近期数据值,但仍被hgdb方法判定为“正常”的数据。可见,添加fod方法,可以提高hgdb检测方法的检测精度。为增加一阶差分方法的鲁棒性,本发明方法还采用了线性最小二乘估计(llse)的方法。当连续异常发生时,异常节点通过其他节点的联合估计,进而判断此次异常是否为参数异常(标准值出错),或是事件异常(如节点故障、外部异常事件等)。虽然无法分析出具体异常事件类型,但是,感知节点可以通过发送警报数据包来示警。通过结合以上三种方法,形成混合的在线异常检测方法(hodb)。

具体地,本方发明采用fod方法,计算某一节点(下称“该节点”)测试数据与标准值的差分值,通过比较差分值与阈值的大小来判断异常,并且采用hgdb方法计算新采集数据所映射的超网格结构中检测域内数据点的数量n,比较n与阈值k;结合以上两种方法,综合判断数据是否为正常;所述标准值为经过fod检测并判断为正常的数值。当检测到正确数据后,标准值都会被当前正常数据替代;当检测到连续异常时,该节点将发送询问数据包给其他节点,其中包含该节点近期正确的数据,其他节点利用llse算法估计询问节点(当节点采集到到长期异常数据时,节点转化为询问节点)最新的数据,并将估计结果返回给询问节点,然后,询问节点分别对估计值与当前值,以及估计值和标准值进行fod计算,判断连续的异常是标准值出错还是数据的异常(异常事件发生)。

具体地,本发明方法包括以下步骤:

步骤1:使用动态分簇的算法将传感器网络分簇;

步骤2:在初始部署阶段,簇内节点采集的数据(如温度等)直接存储;

步骤3:簇内节点协调模型更新,及计算相关阈值;

步骤4:传感器节点在本地进行实时异常检测,并保存正确的数据;

步骤5:若步骤4检测到该节点连续异常,则发送询问数据包给邻居节点进行分析;

步骤6:若步骤4检测到模型需要更新,跳转步骤3,否则跳转到步骤4。

在本发明的一种实施方式中,所述“簇内节点协调模型更新,及计算相关阈值”包括以下步骤:

步骤31:初始部署阶段:当某一节点存储数据数量超过预设值,则该节点发送更新请求给簇头,请求更新;运行阶段:当某一节点存储的数据完全被替代时请求更新,或者当某一节点的标准文件失效时,提前发起更新请求;

步骤32:当收到簇内节点的更新请求包时,簇头广播模型更新命令,同步簇内检测模型与阈值的更新操作,更新的内容包括训练数据在超立方结构中分布情况、hgdb检测过程的阈值k,及fod检测过程的阈值t;

步骤33:簇内传感器节点统计本地数据信息,发送给簇头,所述本地数据信息包括温度值等数据的累加和、平方和、最大值、最小值、方差等;

步骤34:簇头统计簇内总的本地数据信息,再发送给簇内其他传感器节点;

步骤35:簇内传感器节点各自标准化本地保存的数据,并将数据映射到超网格结构中,统计数据的二维分布数组,即统计非空网格坐标及网格内数据点的数量,然后计算本地hgdb的阈值k*,传感器节点将数据的二维分布数组和阈值k*值发送给簇头。

步骤36:簇头整合簇内传感器节点的全部数据分布信息(即步骤35中的二维分布数组),形成一个全局标准文件(normalprofile,np),并且计算全局的阈值k值,及fod的阈值t,簇头将以上汇总信息发送给簇内各传感器节点。

在本发明的一种实施方式中,步骤4所述“传感器节点在本地进行实时异常检测,并保存正确的数据”包括以下步骤:

步骤41:簇内传感器节点根据np,计算新采集的数据在其检测域内数据点数量n,比较n与阈值k的大小,判断该数据是否为hgdb算法异常(新采样的数据在步骤41中进行hgdb检测时,被映射到超网格坐标中);

步骤42:将一阶差分与超网格坐标结合:传感器节点根据fod算法,计算新采集的数据的坐标与标准数据的坐标的一阶差分d(可以得到各个维度上坐标的差值,即超立方的个数),比较d与阈值t的大小,判断该数据是否为fod算法异常。由于超立方体包含的真实数据区域由训练数据标准差和数据维度决定,当采样数据的维度一定时,设定的阈值由训练数据标准差决定,当模型更新时,阈值随着训练数据标准差变化,使得该方法具有一定的自适应性。

步骤43:综合分析两种检测结果:

当hgdb算法、fod算法这两种算法都检测数据为正常,则新采集的数据为正常;

当只有hgdb算法检测数据为异常时,若连续出现此情况,则np失效,需要重新更新模型;

当只有fod算法检测数据为异常时,若连续出现此情况,则该节点发送询问数据包(包含近期数据)给其他节点,进行分析;

当两种算法都检测数据为异常,则新采集的数据为明显异常。

在本发明的一种实施方式中,步骤5所述“若该节点检测连续异常,则发送询问数据包给其他节点进行分析”包括以下步骤:

步骤51:步骤4检测到存在连续异常的节点发送询问数据包(包含近期数据)给其他节点;

步骤52:其他节点使用接收到的查询数据包中自身存储的数据,根据最小二乘估计方法,求得存在连续异常的节点的最新数据的估计值,并发送给该存在连续异常的节点;

步骤53:该存在连续异常的节点求解全部估计值的均值d’,与本地标准值s(s是指fod算法中最近被检测为正常的数据向量)以及最新数据d(d指最新采集的数据向量)比较;使用fod算法计算,获得d’与d的判断结果1以及d’与s的fod判断结果2,判断结果分为以下四种情况:

若两个判断结果都为异常,则用d’值替换标准值,

若只有结果1为异常,则表明可能存在异常事件发生,例如节点故障、环境异常等;

若只有结果2为异常,则表明本地标准值出错,使用d’替代本地标准值,

若两个结果都为正常,则保持本地标准值不变。

[有益效果]

fod方法容易受假正例的影响,为增加fod的鲁棒性,本发明在节点使用fod算法检测到连续异常时,该节点将发送询问数据包给其他节点,其中包含节点近期正确数据。

本发明采用复合的异常检测方法,利用无线传感器网络中数据时间相关性和空间相关性的特点,提高了算法的检测精度。并且本发明采用了分布式的计算方法,降低了节点的通信和计算开销,降低节点的能耗,可以实现异常的实时检测,适合部署到真实的节点系统中。通过python仿真实验验证了混合型在线数据异常检测方法具有较高的准确性和鲁棒性。

附图说明

图1算法部署流程图

图2二维的超网格结构图。

图3sensorscope数据图;(a)大气温度曲线图,(b)地表温度曲线图,(c)湿度曲线图。

图4实验结果图;(a)n1异常强度下算法性能图,(b)n2异常强度下算法性能图,(c)n3异常强度下算法性能图。

图5准确率曲线。

图6误报率曲线。

具体实施方式

一些概念及原理:

超网格结构:指将特征空间划分为一个个连续的大小相同的超立方体的结构。如图2所示为二维的超网格结构图。

准确率:指样本中被正确判定的样本数与全部样本数之比。

误报率:指样本中正常样本被误判的数量占正常样本总数的比例。

检测域:超网格结构下,样本空间被划为一个个连续的超立方体,测试数据在经过标准化后,映射到超网格中的某个超立方体,假设该超立方体的坐标为(u1,u2,…,uq),那么样本的检测域集合可以表示为

hgdb检测标准:

标准一:如果数据所在的超立方体中的数据量大于k值,那么该测试数据为正常,无需继续搜索检测域的其他超立方体。

标准二:如果数据检测域内的数据量少于k值,那么该测试数据为异常。

噪声强度:因为大多数据集含有较少的异常值,所以如果使用原始的数据集验证,无法有效地反映算法的有效性,为此,可以通过人工插入异常值的方法增加异常值的比例。一般情况下,假设异常值服从高斯分布,且接近于真实数据。为此,我们通过计算原数据集的均值μ和方差σ2,然后假设异常数据服从分布。取不同的θ和值将会产生不同强度的随机分布。n1=n(μ+0,1.5*σ2),n2=n(μ+0.5,1.5*σ2),n3=n(μ+5,1.5*σ2)。

实施例1

为方便理解,我们以一个簇为例子。

假设簇内存在一个簇头节点和m个传感器节点,每个传感器节点周期性采集一个数据向量v=[x1,…,xq],其中包含q个属性值。且节点用于下次模型更新的数据量为n,其存储在本地的数据集合用v表示,v=[v1,…,vn]。

步骤1:使用动态分簇的算法将传感器网络分簇。

大面积部署的传感器网络大多采用分簇的方式来融合节点数据,进而降低网络的通信开销。本方案不涉及具体的分簇算法,并假设异常检测用于分簇之后的网络。

步骤2:初始部署阶段,簇内节点采集数据(如温度等)直接存储。

当系统初始部署的阶段,传感器节点周期性采集数据,并存储至本地。当存储数据量超过预设数值时,传感器节点向簇头发起更新请求。

步骤3:簇内节点协调模型更新,及相关阈值计算。

步骤31:节点系统布置分为两个阶段(初始部署阶段和稳定运行阶段),这两个阶段以节点系统完成第一次更新为分界,两个阶段模型更新触发条件有所不同。初始部署阶段:当a节点存储数据数量超过预设值,a节点发送更新请求给簇头。稳定运行阶段:当存储的数据完全被替代时发起更新,或者标准文件失效后,节点提前发送更新请求。

步骤32:当收到簇内节点的更新请求包时,簇头广播模型更新命令,同步簇内节点的模型更新。

步骤33:当收到簇头的更新命令后,簇内各传感器节点统计本地数据信息,如下列公式所示。

假设各传感器节点本地存储的数据集合为v=[v1,..vj.,vn],其中vj=[xj1,...xjk...,xiq]表示本地存储的第j条数据,其中包含q个元素。

1)统计本地存储数据向量的个数。

n=|v|=n(1)

2)计算k属性的线性累加和(linearsum)。

3)计算k属性的线性平方和(linearsquaresum)。

4)获取数据集中全部数值的最大值、最小值。

max=maximum(xjt)j∈[1,...,n],t∈[1,...,q](4)

min=minimum(xjt)j∈[1,...,n],t∈[1,...,q](5)

传感器节点将上述信息打包成数据包,发送给簇头。

步骤34:簇头汇总各节点的数据信息,如下列公式所示:

1)统计数据向量的数量总和。

2)计算簇内k属性的平均值。

3)计算簇内k属性的标准差。

4)获取簇内数据的最大值和最小值。

maxg=maximum(maxi)i∈[1,…,m](9)

ming=minimum(mini)i∈[1,…,m](10)

簇头将上述信息打包发送给簇内各节点,用于节点数据的标准化。

步骤35:簇内各传感器节点使用公式(11)标准化保存数据,其中,xk为第k个属性的真实值,μk和σk分别为第k个属性的均值和标准差。

然后,将标准化处理后的数据映射到超网格结构中,如公式(12)所示为第k维数据映射的映射过程,其中c为一个常量,h为超网格结构中超立方体的边长值。对dk值进行向下取整操作,便得到了数据所属超立方体的第k维坐标值。m.xie等人提出来h的计算公式,如公式(13-14)所示,其中,n为训练单次超网格结构模型的样本量,q为样本空间的维度。

各传感器节点进一步统计本地数据分布。hgdb还增加了坐标压缩的方法,将每一维度的坐标值保存成固定的比特位b,b的值由公式(15)得到,其中,maxg为训练样本中所有维度数据的最大值,依此来决定数据的边界,进而确定最大需要编码的二进制位数,c为一个标量值。多维数据通过位操作,压缩成一个坐标值,其过程如公式(16)所示。这种处理方法即减少了存储空间,又提高了搜索速度,其中h为超网格结构中超立方体的边长。

pos=(dk<<(q-k)*b)|pos,k=1,...,q(16)

当获得全部压缩坐标的数组后,将数组进行倒序排序。然后统计同一坐标出现的次数,来记录每个超立方体内数据点的数量。从而获得关于超立方体坐标及其包含数据点数量的二维数组。

传感器节点利用上述二维数组,计算本地hgdb的阈值k*。随机从本地数据集v中抽取s个数据点,计算其坐标值。然后统计这些数据点检测域内的数据点数量总和,求取分布平均值得阈值k*。公式(17-18)为k*的计算公式,其中,r为训练数据的样本空间中,非空超立方体占全部超立方体的比例。在公式(17)中添加变量r,是为了使超网格结构中的概率密度函数在整个特征范围内连续,|np|为非空数组中记录超立方体的个数,公式(17)的分母为训练集映射的超网格区域包含的超立方体的总数。公式(18)中|dr(j)|表示测试数据j检测域内的数据点的数量。

传感器节点将数据的二维分布数组和k*值发送给簇头

步骤36:簇头汇总各节点的数据信息,行成一个总的数据分布文件(np),其包含全部非重复的超立方体的坐标信息,及对应超立方体内数据点的数量。然后,簇头平均传感器节点发来的k*值,得到阈值k,并根据簇内训练数据的标准差,设置对应属性fod的阈值t。簇头将以上汇总信息发送给簇内节点,其中,阈t值设定为超网格的个数。公式(19)中dik和djk为数据映射后且未向下取整的坐标值,由公式(12)展开得,映射后坐标的差与数据原始值成正比。再由公式(13)可知,当样本数据量和样本维度确认后,超网格的超立方体最优边长为定值。此处,假设两个变量映射后坐标差为δpos=1,则可以得出单个超立方体中,单个属性的变化幅度为[0,σ*h],其中σ为该属性的训练样本标准差。当设定fod算法阈值为超网格的个数值(假设θ),即新采集的数据判断的为正常的条件为差分值属于(-(θ+1)σh,(θ+1)σh)之间。

步骤4:传感器节点在本地进行实时异常检测,并保存正确的数据。

步骤41:传感器节点根据np,计算测试数据检测域中数据数量n,比较n与阈值k的大小,判断该数据是否为hgdb算法异常。

步骤42:将一阶差分与数据的超网格坐标结合。测试数据在进行hgdb检测时,被映射到超网格坐标中。此时,直接将测试数据的坐标与标准数据的坐标进行差分,得到各个维度上坐标的差值(即超立方的个数)。由于超立方体包含真实数据区域由训练数据标准差和数据维度决定。当采样数据的维度一定时,fod的阈值由数据的标准差决定。当模型更新时,阈值随着训练样本的标准差变化,使得该fod方法具有一定的自适应性。传感器节点根据fod算法,计算测试数据坐标与标准数据坐标的一阶差分d=[d1,d2,…,dq],比较di与阈值ti的大小,判断该数据是否为fod算法异常。

步骤43:综合分析两种检测结果,其包含一下四种情况:

1)两种算法都检测数据为正常,则测试数据为正常。

2)只有hgdb算法检测数据为异常。若连续出现此情况,则np失效,需要重新更新模型。

3)只有fod算法检测数据为异常。若连续出现此情况,则该节点发送询问数据包(包含近期数据)给其他节点,进行分析。

4)两种算法都检测数据为异常,则测试数据为明显异常。

步骤5:若a节点在t时刻检测到连续异常,则发送询问数据包给邻居节点进行分析。

步骤51:节点a发送询问数据包(包含近期数据集合)给其他节点。

步骤52:邻居节点使用本地数据,以第j号邻居节点为例,其本地近期数据集合为根据最小二乘估计方法,求得节点a最新数据的估计值,并发送给节点a。如公式(19)所示为最小二乘估计方法的计算公式,以标量形式,其中μi和μj分别为vi和vj数据集中k属性的均值,λj为vj数据集中k属性的方差,λij为vi和vj数据集的协方差,为查询节点当前采样的估计值。

步骤53:节点a求解全部估计值的均值d’,与本地标准值s以及最新数据d比较。两两使用fod算法计算,获得d’与d的判断结果1和d’与s的fod判断结果2。同样可分为以下四种情况:

1)若两个判断结果都为异常,则用d’值替换标准值。

2)若只有结果1为异常,则表明可能存在异常事件发生(如节点故障、环境异常等)。

3)若只有结果2为异常,则表明标准值出错,使用d’替代标准值。

4)若两个结果都为正常,则保持不变。

步骤6:若模型需要更新,跳转步骤3,否则跳转到步骤4。

本发明使用sensorscope项目的真实数据集来验证算法的可行性。sensorscope项目是一个室外传感器网络项目,其部署在多个区域。这里,我们应用洛桑城市冠层实验(luce)得到的数据。该项目于2006年7月部署在洛桑联邦理工学院校园内,由97个气象站组成,每个气象站带有传感器,用于检测环境温度,表面温度,相对湿度等几个环境属性。传感器每30s完成一次采样。如图3所示为实验使用的数据集。经本发明检测得,数据集中98.12%数据检测为正常。由于所取数据区域异常数据较少,无法更好的体现算法的性能。为验证算法对各种强度异常的检测效果,我们人工插入三种强度的异常值(n1、n2、n3)。本发明算法(hodb)与hgdb、hgdb2、sknn进行对比。hgdb2算法是对hgdb算法的改进,其添加了发生连续异常便更新模型的机制。sknn是标准的k近邻算法,在异常检测算法中,具有很好检测结果。因为sknn计算计算复杂度高,不适于用于在线的异常检测。图4可以看出hgdb具有很高的误判。在改进hgdb的更新机制后,hgdb2的误判明显降低,但是其漏报却随着增加。在处理含有n1和n2强度的异常数据时,sknn的检测结果稍强于本发明。但是加入n3强度的噪声时,本发明略优于sknn方法,。图5,图6表示本发明处理含有n3噪声数据的准确率和误判率。可见本发明具有较高的准确率和较低的误判率。

虽然本发明已以较佳实施例公开如上,但其并非用以限定本发明,任何熟悉此技术的人,在不脱离本发明的精神和范围内,都可做各种的改动与修饰,因此本发明的保护范围应该以权利要求书所界定的为准。

完整全部详细技术资料下载
当前第1页 1  2  3 
相关技术
  • 一种智能变电站监测系统的制作...
  • 一种无线传感中继消息处理方法...
  • 一种基于边缘计算和大数据分析...
  • 无源传感器网络的建筑受力平衡...
  • 系统中的无线数据通信的制作方...
  • 智能感应式多媒体导购设备及应...
  • 基于改进的CPN-WLAN指...
  • 一种针对室内信号源部署方案筛...
  • 一种网络流量缴费系统的制作方...
  • 支持数据通信的电子设备及方法...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

深圳SEO优化公司宝安网站定制坪山百度竞价包年推广坪地企业网站制作南联百度seo坂田网站优化软件南澳SEO按效果付费东莞网站优化按天收费布吉seo优化大芬网站搜索优化大鹏seo排名松岗网页制作同乐模板推广塘坑设计公司网站盐田网站设计模板惠州关键词按天扣费同乐百姓网标王推广惠州网站关键词优化盐田seo网站推广坂田阿里店铺运营坪地网站优化按天收费坂田seo南山网站改版惠州网站优化推广西乡至尊标王惠州优秀网站设计光明百姓网标王南山seo网站推广沙井营销型网站建设爱联推广网站福田SEO按天收费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化