首页> 中国专利> 基于多维数据模型的传感器数据流异常检测方法

基于多维数据模型的传感器数据流异常检测方法

摘要

本发明公开了一种基于多维数据模型的传感器数据流异常检测方法,包括以下步骤:首先构造多维数据模型,然后采用异常数据的检测方法判断传感器节点是否为异常节点,如果是则采用异常数据的验证方法对判定的异常节点进行确认该异常节点的异常来源,所述异常来源包括异常节点所在区域发生特定事件和节点本身存在故障;本发明的方法针对传感器节点采集的多维属性数据提出了异常数据检测方法,充分考虑了传感器数据流之间的时空相关性和多维属性数据之间的关联性,具有可扩展性;与传统的检测方法比较,本发明提出的方法具有较高的检测率和较低的误报率。

著录项

  • 公开/公告号CN104994535A

    专利类型发明专利

  • 公开/公告日2015-10-21

    原文格式PDF

  • 申请/专利权人 浙江农林大学;

    申请/专利号CN201510305314.7

  • 发明设计人 李光辉;费欢;冯海林;

    申请日2015-06-04

  • 分类号

  • 代理机构北京天平专利商标代理有限公司;

  • 代理人缪友菊

  • 地址 311300 浙江省杭州市临安县锦城镇环城北路88号

  • 入库时间 2023-12-18 11:33:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-17

    未缴年费专利权终止 IPC(主分类):H04W24/04 专利号:ZL2015103053147 申请日:20150604 授权公告日:20190806

    专利权的终止

  • 2019-08-06

    授权

    授权

  • 2015-11-18

    实质审查的生效 IPC(主分类):H04W24/04 申请日:20150604

    实质审查的生效

  • 2015-10-21

    公开

    公开

说明书

技术领域

本发明属于传感器数据流异常值检测技术领域,具体是涉及一种基于多维数据模型的传感器数据流异常检测方法。

背景技术

作为一种无线自组织网络,无线传感器网络具有低能耗,节点分布灵活,较少甚至无需人工维护,可以在恶劣环境中长时间自治地工作等特点,但是由于无线传感器节点资源有限,又容易受到外界因素的干扰和破坏,或者外部环境突发事件的影响,节点采集到的数据很有可能与正常情况下的环境特征产生明显偏差,这类数据称为异常数据,采样数据中出现异常数据的节点被称为异常节点。

传感器节点产生异常数据的原因通常有以下三类:(1)传感器节点所处的区域发生了特定的事件(例如发生森林火灾时传感器的温度读数会明显升高);(2)传感器由于软硬件故障或者能量耗尽导致节点无法正常工作;(3)由于其他因素的影响使节点采集到的数据发生了偏差(例如处于阴影区域的传感器节点的光照强度数值会明显低于直接暴露在阳光下的节点读数),我们称这种偏差为测量误差。其中源于特定事件的异常数据反映外部环境确实发生了的显著变化,需要及时预警并采取紧急处理措施,源于传感器节点故障或能量耗尽而产生的异常数据反映出传感器网络健康状况存在问题,需要进行维护,存在测量误差的数据由于无法代表实际的环境特征,会对我们准确掌握外部环境的变化规律产生干扰,因此对无线传感器网络中的异常数据进行检测具有非常重要的意义。

传统的异常值检测方法通常只针对某一种数据,很少专门针对传感器节点的多维数据给出特定的解决方案,但是特定事件发生时的环境特征不会是单一、孤立的,以用于环境监测的无线传感器网络节点为例,发生火灾时除了温度上升之外还会伴随着湿度下降光照强度增加,而发生降雨时不仅湿度会增加,温度和光照强度也会同时降低,此时传统的检测方法就难以满足要求,节点处理多种读数则需要重复多次运行已有的算法,这无疑会显著增加传感器节点的负担;另外,针对一维数据的算法也没有考虑不同类型的数据对算法性能的影响,例如采集到的温度数据无论是波动的幅度、频率,还是均值、中值、方差等统计特征都会和同一采样时间段内的其他数据有明显的差异,如果不考虑不同类型数据之间的差异性,采用无差别对待的算法无疑会影响算法的性能;

因此,需要提出一种新型的传感器数据流异常检测方法。

发明内容

发明目的:为了克服现有技术中存在的不足,本发明提供一种基于多维数据模型的传感器数据流异常检测方法,有效地提高了异常数据检测的准确率。

技术方案:为实现上述目的,本发明的基于多维数据模型的传感器数据流异常检测方法,包括以下步骤:

S1构造多维数据模型,传感器节点采集的多维数据模型表示为:

>{rj(ti)}=r1(t1)r1(t2)···r1(ti)r2(t1)r2(t2)···r2(ti)············rj(t1)rj(t2)···rj(ti)>

其中,j表示数据维数,rj(ti)表示传感器节点在采样时刻ti采集的数据;

S2采用异常数据的检测方法判断传感器节点是否为异常节点,如果是,则进入S3;

S3采用异常数据的验证方法对S2中判定的异常节点进行确认该异常节点的异常来源,所述异常来源包括异常节点所在区域发生特定事件和节点本身存在故障。

进一步地,S2中所述异常数据的检测方法包括以下步骤:

S21如果传感器节点采集的数据rj(ti)满足公式1或者传感器节点在若干个采样时刻采集的数据均相同即满足公式2,则判定传感器节点采集的数据rj(ti)为潜在异常数据,

>|rj(ti)-Ee(t)+En(t)2|>δ2>     公式1

其中,Ee(t)表示正常工作的传感器节点在发生特定事件的区域中读数的期望函数,En(t)表示正常工作的传感器节点在正常区域中读数的期望函数,En(t)为常数,δ表示预先设定的阈值,

rj(ti)=rj(ti-1)     公式2

其中,rj(ti)表示传感器节点在ti时刻采集的数据,rj(ti-1)表示传感器节点在ti-1时刻采集的数据;

S22针对存在潜在异常数据的传感器节点,根据公式3计算传感器节点出现异常的概率Pj(ti):

Pj(ti)=Pj(ti-1)+c·m2     公式3

其中,Pj(ti)表示传感器节点在采样时刻ti出现异常的概率,Pj(ti-1)表示传感器节点在采样时刻ti-1出现异常的概率,m表示传感器节点采集的数据rj(ti)满足公式1或公式2的次数,c表示控制m增长速度的参数。

S23判断传感器节点是否为异常节点,根据公式4计算传感器节点的PT(ti)值,如果传感器节点的PT(ti)值不小于80%,则判定该传感器节点为异常节点:

>PT(ti)=Σj=1nλj·Pj(ti)>     公式4

其中,λj表示第j维数据的权重系数,

进一步地,S3中所述异常数据的验证方法具体包括以下步骤:

S31计算被判定为异常节点的传感器节点的邻居节点的PT(ti)值;

S32如果被判定为异常节点的传感器节点的邻居节点中存在半数以上的邻居节点的PT(ti)值大于80%,则判定该异常节点所在区域发生特定事件;如果被判定为异常节点的传感器节点的邻居节点中存在半数以上的邻居节点的PT(ti)值小于60%,则判定该异常节点本身存在故障。

进一步地,如果被判定为异常节点的传感器节点的邻居节点中仅存在一个邻居节点的PT(ti)值小于60%,则判定该异常节点可能出现测量误差并利用K-means算法对该异常节点采集的误差数据进行筛选,具体包括以下步骤:

S41将该异常节点在一个采样周期内采集的数据点进行分簇:该异常节点在ti时刻采集的数据rj(ti)可以用数据点xi表示,xi=(ai,bi,ci,...,di),该异常节点在一个采样周期内采集的数据点的集合用X表示,X=(xi|i=1,2,...,n),n表示数据点的个数;

S42针对每一个簇,计算该簇内所有数据点到簇心的平均距离值davg

S43计算该异常节点采集的数据点xi到该数据点xi所在簇内的簇心mi的距离值d(xi,mi);

S44如果d(xi,mi)满足公式5,则判定异常节点采集的该数据点xi为该异常节点采集的误差数据并将该误差数据筛选出来,

>|d(xi,mi)-davg|>1.67*d(xi,mi)>     公式5。

进一步地,S34中计算该簇内所有数据点到簇心的平均距离值davg具体包括以下步骤:根据公式6计算该簇内所有数据点到簇心的距离,

>(xi,xj)=Σk=1d(xik-xjk)2>     公式6

其中,xi表示该簇内的数据点,xj表示该簇内的簇心,k表示数据维数,k=(1,2,...,d)。

有益效果:本发明提出的方法与现有技术比较,具有的优点是:

1、针对传感器节点采集的多维属性数据提出了异常数据检测方法,充分考虑了传感器数据流之间的时空相关性和多维属性数据之间的关联性,具有可扩展性;

2、与传统的检测方法比较,本发明提出的方法具有较高的检测率和较低的误报率。

附图说明

图1是本发明的基于多维数据模型的传感器数据流异常检测方法流程图;

图2是仿真实验的检测结果图。

具体实施方式

下面结合实施例对本发明作更进一步的说明。

参照图1,本发明的基于多维数据模型的传感器数据流异常检测方法,包括以下步骤:

首先构造多维数据模型,传感器节点采集的多维数据模型表示为:

>{rj(ti)}=r1(t1)r1(t2)···r1(ti)r2(t1)r2(t2)···r2(ti)············rj(t1)rj(t2)···rj(ti)>

其中j表示数据维数,rj(ti)表示传感器节点在采样时刻ti采集到的j种不同类型的数据,r1(t1)表示传感器节点在采样时刻t1采集的数据中第一种类型的数据,rj(t1)表示传感器节点在采样时刻t1采集的数据中第j种类型的数据,依此类推;在本发明实施例中,将一个包含n个传感器节点的无线传感器网络均匀分布在某一环境区域中进行数据采集和环境监测,每个节点可以采集j中不同属性的数据(例如温度、湿度、光照强度、大气压力等),例如当j=3时,传感器节点在采样时刻ti采集到的数据包括温度、湿度和光照强度,可以将传感器节点在采样时刻ti采集到的数据看作是一个j维空间的数据点;

然后采用异常数据的检测方法判断传感器节点是否为异常节点,具体包括以下步骤:

如果传感器节点采集的数据rj(ti)满足公式1或者传感器节点在若干个采样时刻采集的数据均相同即满足公式2,则判定传感器节点采集的数据rj(ti)为潜在异常数据,

>|rj(ti)-Ee(t)+En(t)2|>δ2>     公式1

其中,Ee(t)表示正常工作的传感器节点在发生特定事件的区域中读数的期望函数,En(t)表示正常工作的传感器节点在正常区域中读数的期望函数,En(t)为常数,δ表示预先设定的阈值,

rj(ti)=rj(ti-1)     公式2

其中rj(ti)表示传感器节点在ti时刻采集的数据,rj(ti-1)表示传感器节点在ti-1时刻采集的数据;

针对存在潜在异常数据的传感器节点,根据公式3计算传感器节点出现异常的概率Pj(ti):

Pj(ti)=Pj(ti-1)+c·m2     公式3

其中公式3是一个累加过程,Pj(ti)表示传感器节点在采样时刻ti出现异常的概率,Pj(ti-1)表示传感器节点在前一采样时刻ti-1出现异常的概率,m表示传感器节点采集的数据rj(ti)满足公式1或公式2的次数,c表示控制m增长速度的参数,m和c在MATLAB软件进行仿真时,根据经验设定m和c的值,通常情况下取c=0.002,m=8;

判断传感器节点是否为异常节点,根据公式4计算传感器节点的PT(ti)值,如果传感器节点的PT(ti)值不小于80%,则判定该传感器节点为异常节点:

>PT(ti)=Σj=1nλj·Pj(ti)>     公式4

其中,λj表示第j维数据的权重系数,

接着采用异常数据的验证方法对判定的异常节点进行确认该异常节点的异常来源,所述异常来源包括异常节点所在区域发生特定事件和节点本身存在故障,具体包括以下步骤:

S31计算被判定为异常节点的传感器节点的邻居节点的PT(ti)值;

S32如果被判定为异常节点的传感器节点的邻居节点中存在半数以上的邻居节点的PT(ti)值大于80%,则判定该异常节点所在区域发生特定事件;如果被判定为异常节点的传感器节点的邻居节点中存在半数以上的邻居节点的PT(ti)值小于60%,则判定该异常节点本身存在故障。

如果被判定为异常节点的传感器节点的邻居节点中仅存在一个邻居节点的PT(ti)值小于60%,则判定该异常节点可能出现测量误差并利用K-means算法对该异常节点采集的误差数据进行筛选,具体包括以下步骤:

S41将该异常节点在一个采样周期内采集的数据点进行分簇:

该异常节点在ti时刻采集的数据rj(ti)表示传感器节点在采样时刻ti采集到的j种不同类型的数据,可以将传感器节点在采样时刻ti采集到的数据看作是一个j维空间的数据点xi,数据点xi表示为xi=(ai,bi,ci,...,di),其中ai表示该异常节点在ti时刻采集的数据中第一种类型的数据,bi表示该异常节点在ti时刻采集的数据中第二种类型的数据,其中数据的类型一共包括j种,对照传感器节点采集的多维数据模型,如表1所示:

表1

该异常节点在一个采样周期内采集的数据点的集合用X表示,X=(xi|i=1,2,...,n),n表示数据点的个数;

S42针对每一个簇,计算该簇内所有数据点到簇心的平均距离值davg

S43计算该异常节点采集的数据点xi到该数据点xi所在簇内的簇心mi的距离值d(xi,mi);

最后如果d(xi,mi)满足公式5,则判定异常节点采集的该数据点xi为该异常节点采集的误差数据并将该误差数据筛选出来,

>|d(xi,mi)-davg|>1.67*d(xi,mi)>     公式5。

其中上述步骤S34中计算该簇内所有数据点到簇心的平均距离值davg具体包括以下步骤:根据公式6计算该簇内所有数据点到簇心的距离,

>d(xi,xj)=Σk=1d(xik-xjk)2>     公式6

其中,xi表示该簇内的数据点,xj表示该簇内的簇心,k表示数据维数,k=(1,2,...,d);

通过MATLAB软件对本发明提出的算法进行实验仿真,在仿真实验种,将200个传感器节点均匀分布在200a*200a的区域中,预先在这200个传感器节点中设置故障节点12个,事件节点56个,正常节点112个,参照图2,为仿真实验的检测结果效果图,从图中可以看出,通过本发明提出的算法共检测出故障节点11个、事件节点54个,正常节点109个,误差节点19个,出现误判的节点总计7个,故障节点、事件节点、正常节点及误差节点的检测准确率分别为91.7%、96.4%、97.3%和95%,总的误判率为6.3%,其中故障节点检测准确率是算法正确判定为故障节点的个数与无线传感器网络实际的事件节点个数之比,事件节点检测准确率是算法正确判定为事件节点的个数与无线传感器网络实际的事件节点个数之比,正常节点检测准确率是算法正确判定为正常节点的个数与无线传感器网络实际的事件节点个数之比,误差节点检测准确率是算法正确判定为误差节点的个数与无线传感器网络实际的事件节点个数之比,事件节点检测误判率是正常节点中被算法误判为事件节点的个数与传感器网络中总的正常节点个数之比。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号