基于单层线性网络预测的无线传感器网络数据验证方法转让专利

申请号 : CN201010290813.0

文献号 : CN101969655B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李光辉

申请人 : 浙江农林大学

摘要 :

本发明涉及一种无线传感器网络数据验证方法。目的是该方法能具有实时验证方便、对错误的检测精度高的特点。技术方案是:基于单层线性网络预测的无线传感器网络数据验证方法,包括以下步骤:1、在给定节点的初始测量数据序列和误差阈值C后,计算单层线性网络的权向量;2、计算节点在下一时刻的预测值随后将其与实际测量值xt+1进行比较;若两者误差小于给定的阈值C,则消除测量数据序列中的元素xt-(q-1),并将xt+1增加到序列X中;然后返回到第2步骤;否则测量值xt+1初步认定为异常值;接着利用其它类型数据对xt+1进行确认;如确认xt+1则就为错误测量值;如xt+1为正确的量值则消除测量数据序列中的元素xt-(q-1),并将增加到序列X中,;然后返回到第2步骤。

权利要求 :

1.基于单层线性网络预测的无线传感器网络数据验证方法,包括以下步骤:S1:在给定节点的初始测量数据序列X={xt,xt-1,...,xt-(q-1)}和误差阈值C之后,利用迭代学习算法计算单层线性网络的权向量;

S2:利用单层线性网络计算节点在下一时刻的预测值 随后将其与实际的测量值xt+1进行比较;如果两者的误差小于给定的阈值C,转到第S3步,否则转到第S4步;

S3:消除测量数据序列X={xt,xt-1,...,xt-(q-1)}中的元素xt-(q-1),并将xt+1增加到序列X中,得到新的序列X={xt+1,xt,xt-1,...,xt-(q-2)};然后返回到第S2步;

S4:将测量值xt+1初步认定为异常值;

S5:利用节点在t+1时刻的其它类型数据对xt+1进行确认;若其它类型数据均无异常变化,则确认xt+1为错误的测量值,此时转到第S7步;若其它类型数据都有相应的异常变化,可以断定xt+1为正确的测量值;此时转到第S6步;

S6:消除测量数据序列X={xt,xt-1,...,xt-(q-1)}中的元素xt-(q-1),并将 增加到序列X中,得到新的序列 然后返回到第S2步;

S7:断定节点有故障发生,算法结束;

所述S5步骤中其它类型数据异常变化的确定方法是:如果某个数据x不属于区间[Q1-1.5×(Q2-Q1),Q2+1.5×(Q2-Q1)],那么称该数据x为异常数据;其中,数据序列已按从小到大顺序排列,Q1表示数据序列中第25%位置的数据,Q2表示数据序列中第75%位置的数据;

所述利用迭代学习算法计算单层线性网络的权向量具体步骤如下:S10:给wi(0)分别赋予一个较小的非零随机数作为初值;其中,wi(0)表示在时刻t=

0时第i个权值;

S20:输入一个测量数据序列X={xt,xt-1,…,xt-(q-1)}和下一时刻的测量值xt+1;

S30:计算单层线性网络的预测值:

b为常数;

S40:调整权向量:

i=0,1,...,q-1;这里,0<η≤1;如果预测值和测量值之间的误差小于阈值C,算法结束;否则转到第S20步。

说明书 :

基于单层线性网络预测的无线传感器网络数据验证方法

技术领域

[0001] 本发明涉及一种无线传感器网络的可靠性验证方法,尤其是一种基于单层线性网络预测的无线传感器网络测量数据验证方法。

背景技术

[0002] 目前,无线传感器网络(WSN)已成为学术界与工业界共同关注的研究热点。在安全关键领域(如智能交通、危险品生产过程和自然灾害的监测),无线传感器网络系统必须保持高度的可靠性。由于无线传感器网络节点资源有限,并且通常部署在恶劣的自然环境下,不可避免地要受到电池能量、射频干扰、天气和外部危害等因素的影响。如果不能获取准确、可靠的数据,无线传感器网络将没有可用性。因此,在节点资源有限的前提下,如何保证无线传感器网络测量数据的准确性是必须解决的重要问题。
[0003] 迄今为止,许多学者都是基于节点之间的空间相关性来研究无线传感器网络测量数据验证和故障检测方法。然而,由于环境的变化或成本的要求,这种空间相关性的假设并不能保证在任意时刻成立。例如,对于非均匀部署的无线传感器网络森林火灾监测系统,一些重点监控区域需要密集部署传感器节点,而有的区域则会要求利用最少数量的节点监测到最大的范围,使得每个节点的邻居数很少。在这样的情况下,如果仍然基于节点空间相关性进行故障检测显然是不可行的。目前,关于缺少空间相关性的无线传感器网络测量数据验证与故障检测问题,国内外相关研究尚不多见。

发明内容

[0004] 本发明所要解决的技术问题是克服上述背景技术的不足,提出一种基于单层线性网络预测的无线传感器网络测量数据验证方法,该方法能针对缺乏空间相关性的无线传感器网络节点的测量数据验证,具有实时验证方便、对错误的检测精度高的特点。
[0005] 本发明提供的技术方案是:基于单层线性网络预测的无线传感器网络数据验证方法,包括以下步骤:
[0006] S1:在给定节点的初始测量数据序列X={xt,xt-1,...,xt-(q-1)}和误差阈值C之后,利用迭代学习算法计算单层线性网络的权向量;
[0007] S2:利用单层线性网络计算节点在下一时刻的预测值 随后将其与实际的测量值xt+1进行比较;如果两者的误差小于给定的阈值C,转到第S3步,否则转到第S4步;
[0008] S3:消除测量数据序列X={xt,xt-1,...,xt-(q-1)}中的元素xt-(q-1),并将xt+1增加到序列X中,得到新的序列X={xt+1,xt,xt-1,...,xt-(q-2)};然后返回到第S2步;
[0009] S4:将测量值xt+1初步认定为异常值;
[0010] S5:利用节点在t+1时刻的其它类型数据对xt+1进行确认;若其它类型数据均无异常变化,则确认xt+1为错误的测量值,此时转到第S7步;若其它类型数据都有相应的异常变化,可以断定xt+1为正确的测量值(监测区域可能有事件发生);此时转到第S6步;
[0011] S6:消除测量数据序列X={xt,xt-1,...,xt-(q-1)}中的元素xt-(q-1),并将 增加到序列X中,得到新的序列 然后返回到第S2步;
[0012] S7:断定节点有故障发生,算法结束;
[0013] 所述S5步骤中其它类型数据异常变化的确定方法是:如果某个数据x不属于区间[Q1-1.5×(Q2-Q1),Q2+1.5×(Q2-Q1)],那么称该数据x为异常数据;其中,数据序列已按从小到大顺序排列,Q1表示数据序列中第25%位置的数据,Q2表示数据序列中第75%位置的数据。
[0014] 所述利用迭代学习算法计算单层线性网络的权向量具体步骤如下:
[0015] S10:给wi(0)(i=0,1,...,q-1)分别赋予一个较小的非零随机数作为初值;其中,wi(0)表示在时刻t=0时第i个权值;
[0016] S20:输入一个测量数据序列X={xt,xt-1,...,xt-(q-1)}和下一时刻的测量值xt+1;
[0017] S30:计算单层线性网络的预测值:
[0018]
[0019] S40:调整权向量:
[0020] i=0,1,...,q-1;这里,0<η≤1;如果预测值和测量值之间的误差小于阈值C,算法结束;否则转到第S20步。
[0021] 假设数据序列已按从小到大顺序排列,用Q1表示下四分位数(即序列中第25%位置的数据),Q2分别表示上四分位数(即序列中第75%位置的数据)。如果某个数据x不属于区间[Q1-1.5×(Q2-Q1),Q2+1.5×(Q2-Q1)],那么称该数据x为异常数据。
[0022] 本发明的有益效果是:由于提出的方法充分利用了节点测量数据序列的时间相关性和多元数据属性之间的相互关系对测量数据进行验证,能实时检测出错误的测量数据,并发现故障节点,提高了故障检测的精度,为缺乏空间相关性的无线传感器网络节点数据的正确性提供了保障;具有独特的优势和很大的应用潜力。实验表明,本发明提出的方法能够适应大规模数据集,并且不需对异常数据事先分类。该方法适合于大型异构传感器网络的数据验证,具有广阔的应用前景。

附图说明

[0023] 图1是基于单层线性网络预测的无线传感器网络测量数据验证方法的流程示意图;图中,S1、S2、S3、S4、S5、S6、S7分别对应于无线传感器网络测量数据验证的七个步骤。
[0024] 图2是基于迭代学习算法求解单层线性网络的权向量示意图;图中,S10、S20、S30、S40分别对应于迭代学习算法的四个步骤,判断框中的常数C表示给定的误差阈值。
[0025] 图3是实施例之一的示意图。

具体实施方式

[0026] 为了进一步阐明方法的原理和创新之处,首先介绍一些基本概念。
[0027] 1、无线传感器网络测量数据验证指的是对传感器节点所采集到的数据(如温度、湿度等参数)进行异常检测,如有异常需对其进一步确认,以确定节点是否存在故障。
[0028] 2、异常数据。对于同一传感器节点所采集到的数据序列(或集合),我们采用工程统计学中的简单方法来定义异常数据。假设数据序列已按从小到大顺序排列,用Q1表示下四分位数(即序列中第25%位置的数据),Q2分别表示上四分位数(即序列中第75%位置的数据)。如果某个数据x不属于区间[Q1-1.5×(Q2-Q1),Q2+1.5×(Q2-Q1)],那么称该数据x为异常数据。现举以下例子说明:
[0029] 给定一个已排序的数据序列,包含90个数据:
[0030] 30,171,184,201,212,250,265,270,272,289,305,306,322,322,336,346,351,370,390,404,409,411,436,437,439,441,444,448,451,453,470,480,482,487,494,495,
499,503,514,521,522,527,548,550,559,560,570,572,574,578,585,592,592,607,616,
618,621,629,637,638,640,656,668,707,709,719,737,739,752,758,766,792,792,794,
802,818,830,832,843,858,860,869,918,925,953,991,1000,1005,1068,1441。
[0031] 于是,Q1表示第25%×(90+1)=22.75个数据,其值按如下方式计算:
[0032] Q1=411+0.75×(436-411)=429.75。
[0033] 类似地,Q2表示第75%×(90+1)=68.25个数据,其值按如下方式计算:
[0034] Q1=739+0.25×(752-739)=742.25。
[0035] 那么区间[Q1-1.5×(Q2-Q1),Q2+1.5×(Q2-Q1)]可以计算得到[-39.0,1211.0]。
[0036] 所以,上述数据序列中,1411被认定为异常数据。
[0037] 3、空间相关性指的是无线传感器网络相邻节点的同类传感器所测量的值通常很相近,一个节点能够通过周围邻居节点的同类传感器来检测自己的传感器测量值是否异常。空间相关性准则在密集部署的无线传感器网络故障检测中经常用到。
[0038] 4、单层线性网络预测指的是利用传感器节点已有的部分测量值的线性组合预测下一采样时刻的传感器节点测量值。假设已知节点在采样时刻t及其之前的所有q个测量值为xt-i,i=0,1,...,q-1,那么在采样时刻t+1的预测值可以表示为
[0039]
[0040] 这里b和{w0,...,wq-1}分别是常数和权向量。权向量反映了已有的q个测量值和下一采样时刻的预测值之间的关系,权向量{w0,...,wq-1}可以利用迭代学习算法获得。
[0041] 本发明的主要思想及创新之处如下:
[0042] 对于缺少空间相关性无线传感器网络节点,根据该节点本身测量数据序列建立相应的数学模型,并对未来数据进行预测,通过比较实际测量值与预测值来确定测量值是否异常。由于节点通常配置了多种类型的传感器,不同类型传感器的测量值(如温度、湿度、大气压力等)之间往往存在一定的相关性,当检测到异常之后,再利用不同测量值之间的相关性对异常值进行确认,从而使得测量数据验证的结果具有更高的准确性。
[0043] 本发明提出的基于单层线性网络预测的无线传感器网络测量数据验证方法,包含三个主要步骤(图1描述了该方法的实现流程);以下结合图3所示的实施例进一步详细说明。
[0044] 实施例1
[0045] 图3所示的实施例,是主要用于监测森林火灾的无线传感器网络的示意图。图中除节点V*外,其它节点均为密集部署。V*通过节点V1,V2和V3将测量数据转发到监测中心。由于V*缺少邻居节点,为了验证其采集的测量数据是否正确,需要利用该节点在一定时间内已有的测量值序列对未来时刻的测量值进行预测,并利用该预测值与实际测量值进行比较,已确定实际测量值是否正确。
[0046] 现在以温度值(单位为摄氏度)为例;假设节点V*(检测范围为R)在前5个采样时刻的测量值为{20,21,20.5,22,21.5},并且单层线性网络的权向量已通过迭代学习算法计算得到为{0.2,0.3,0.1,0.3,0.1},常数b=0.0001。如果给定误差阈值为0.01,那么节*
点V 在第6个采样时刻的预测值可以如下计算:
[0047] x6=0.0001+0.2×20+0.3×21+0.1×20.5+0.3×22+0.1×21.5=21.1001。
[0048] 假定节点V*在第6个采样时刻的实际测量值为21.1,显然预测值与测量值之间的误差小于阈值0.01,那么可以认定该测量值为正确值。
[0049] 假定节点V*在第6个采样时刻的实际测量值为80,显然预测值与测量值之间的误差远远大于阈值0.01,那么需要进一步判断该测量值是否正确。如果测量值正确,则表明被* *监测区域可能存在火情。否则,表明节点V 发生故障。这时,我们需要考察节点V 所采集到的其它类型测量数据(如相对湿度和大气压力等)的变化情况。假设第1到第6个采样
时刻的相对湿度值(单位为百分比)为{55,55,56,57,58,57},大气压力(单位为hPa)值*
为{1004.5,1004.5,1004.4,1004.2,1004.3,1004.2},显然,节点V 采集到的相对湿度和大*
气压力值变化相对平稳,没有突变。由此可以判断节点V 的温度测量值是错误的,可以断*
定节点V 的温度传感器模块发生故障。反过来,如果相对湿度和大气压力测量值在第6个*
采样时刻也发生了异常变化,则不能认定节点V 发生故障,而可能是确实存在森林火险,监测系统将发生事件报警。