计算机应用   2016, Vol. 36 Issue (11): 3016-3020,3027  DOI: 10.11772/j.issn.1001-9081.2016.11.3016
0

引用本文 

刘秋玥, 程勇, 王军, 钟水明, 徐利亚. 基于累积和控制图的分布式传感网络故障诊断[J]. 计算机应用, 2016, 36(11): 3016-3020,3027.DOI: 10.11772/j.issn.1001-9081.2016.11.3016.
LIU Qiuyue, CHENG Yong, WANG Jun, ZHONG Shuiming, XU Liya. Distributed fault detection for wireless sensor network based on cumulative sum control chart[J]. Journal of Computer Applications, 2016, 36(11): 3016-3020,3027. DOI: 10.11772/j.issn.1001-9081.2016.11.3016.

基金项目

国家自然科学基金资助项目(61402236,61373064);江苏省农业气象重点实验室开放基金资助项目(KYQ1309);江苏省“六大人才高峰”项目(2015-DZXX-015,2013-DZXX-019);江苏省产学研前瞻性联合研究项目(BY2014007-2);江西省青年科学基金资助项目(20151BAB217015);公益性行业(气象)科研专项(GYHY201106037)

通信作者

刘秋玥(1991-), 女, 江苏南京人, 硕士研究生, 主要研究方向:无线传感器网络故障诊断,miryue@163.com

作者简介

程勇(1980-), 男, 重庆人, 讲师, 博士, CCF会员, 主要研究方向:无线传感器网络数据收集、大数据应用;
王军(1970-), 男, 安徽铜陵人, 教授, 硕士, CCF会员, 主要研究方向:无线传感网、大数据应用

文章历史

收稿日期:2016-05-25
修回日期:2016-06-30
基于累积和控制图的分布式传感网络故障诊断
刘秋玥1, 程勇2, 王军1,2, 钟水明1, 徐利亚3    
1. 南京信息工程大学 计算机与软件学院, 南京 210044 ;
2. 南京信息工程大学 信息化建设与管理处, 南京 210044 ;
3. 九江学院 信息科学与技术学院, 江西 九江 332005
摘要: 由于无线气象传感网具有资源受限及分布式等特点,传感器节点的故障诊断面临着很大挑战。针对现有诊断方法误报率高、计算冗余量大的问题,提出了一种基于累积和控制图(CUSUM)与邻居协作融合的故障诊断方法。首先,通过累积和控制图分析传感器节点上的历史数据,提高对节点故障判断的灵敏度并且定位出异常时间点;然后,结合网络内邻居节点间的数据交换,通过判断节点的状态诊断出故障节点。实验结果表明,即使在整个网络中在节点故障率高达35%时,算法检测精度仍然高于97.7%,而误报率不超过2%。由此可见,在节点故障概率很高的情况下,此所提法也能得到很高的检测精度和较低的误报率,受节点故障率的影响明显减小。
关键词: 无线传感器网络    故障诊断    分布式    累积和控制图    中值绝对偏差    
Distributed fault detection for wireless sensor network based on cumulative sum control chart
LIU Qiuyue1, CHENG Yong2, WANG Jun1,2, ZHONG Shuiming1, XU Liya3     
1. School of Computer & Software, Nanjing University of Information Science & Technology, Nanjing Jiangsu 210044, China ;
2. Department of Information Construction & Management, Nanjing University of Information Science & Technology, Nanjing Jiangsu 210044, China ;
3. School of Information Science and Technology, Jiujiang University, Jiujiang Jiangxi 332005, China
Background: This work is partially supported by the National Natural Science Foundation of China (61373064, 61402236), the Jiangsu Provincial Key Laboratory of Agricultural Meteorology Fund (KYQ1309), the Jiangsu Province “the Peak of the Six Talents” Project (2015-DZXX-015, 2013-DZXX-01), the Prospective Joint Research Project of Jiangsu Province (BY2014007-2), the Youth Science Foundation of Jiangxi Province (20151BAB217015), the Public Interest Industry (Meteorological) Special Research Project (GYHY201106037).
LIU Qiuyue, born in 1991, M. S. candidate. His research interest includes fault diagnosis in wireless sensor network.
CHENG Yong, born in 1980, Ph. D., lecturer. His research interests include data collection in wireless sensor network, big data application.
WANG Jun, born in 1970, M.S., professor. His research interests include data collection in wireless sensor network, big data application.
Abstract: With the stringent resources and distributed nature in wireless sensor networks, fault diagnosis of sensor nodes faces great challenges. In order to solve the problem that the existing approaches of diagnosing sensor networks have high false alarm ratio and considerable computation redundancy on nodes, a new fault detection mechanism based on Cumulative Sum Chart (CUSUM) and neighbor-coordination was proposed. Firstly, the historical data on a single node were analyzed by CUSUM to improve the sensitivity of fault diagnosis and locate the change point. Then, the fault nodes were detected though judging the status of nodes by the data exchange between neighbor nodes. The experimental results show that the detection accuracy is over 97.7% and the false alarm ratio is below 2% when the sensor fault probability in wireless sensor networks is up to 35%. Hence, the proposed algorithm has a high detection accuracy and low false alarm ratio even in the conditions of high fault probabilities and reduces the influence of sensor fault probability clearly.
Key words: Wireless Sensor Network (WSN)    fault diagnosis    distributed    cumulative sum control chart    median absolute deviation    
0 引言

无线传感网络(Wireless Sensor Network,WSN)是由无数成本低廉、体积微小的传感器节点组成,通常被随机放置在监测区域中,节点之间以多跳的形式对采集数据进行传输,最后将这些数据以无线通信的方式传送给观测者[1]。如今,无线传感器网络已经广泛应用于许多领域,如交通监控、工业控制、气象观测[2-4]。由于无线气象传感网的节点计算能力和能量有限,气象信息具有复杂性、数据突发性等特点,自节点部署开始,经过较长时间运行后可能会发生故障,但是由于气象传感网处在无人监控和检查的位置,节点本身运行的状态无从得知,为了更好地了解节点状态,就需要对节点进行故障检测。

现阶段,无线传感器网络的故障检测根据任务执行主体可分为集中式检测和分布式检测[5]。集中式检测算法中, 文献[6]首先将感知数据变换为故障特征空间中的向量,然后依据已知故障数据库向用户指示需要采取的相关措施(如校准、验证读数等),最后用户根据传感器的实际情况对故障数据库进行更新,从而改进与优化故障检测系统。对于大规模无线传感网络来说,目前基于汇聚节点的诊断方法存在许多缺点。首先,主动信息收集会导致通信方面的巨大开销,大幅缩短了网络系统的寿命;其次,由于网络规模不断扩大和不可靠的无线通信,后端上的故障推理机常常获得不完整和不确定的信息,明显降低了检测精度; 最后,在汇聚节点上故障诊断方法的诊断延迟非常高[7]

文献[8]提出了一种分布式无线传感器网络节点故障诊断(Distributed Fault Detection,DFD)算法,事先设定固定阈值,将节点自身的传感器测量值与邻居节点相比较来判断节点自身是否发生故障。但是该算法在节点的邻居数较少或者整个网络中节点发生故障概率较大时,故障诊断精度会大幅下降。文献[9]通过融合邻居节点的测量数据并对邻居节点测量数据进行加权,衡量测量节点与节点的数据之间差异的方法最终判断节点故障状态。针对WSN中节点故障原因复杂,文献[10]提出了一个WSN节点故障诊断方法,可以实现对具体故障进行诊断和判定,但是算法复杂性比较大,不适合节点数量较大的网络。文献[11]提出一种通过观察节点采样值数据变化率与时间特性相似度,判断是事件发生还是节点故障的事件检测方法。由于引入了节点可信度自适应调整机制,通过不断排除故障节点,该方法能够获得较高的故障识别率。

现有的分布式故障诊断算法没有充分利用传感器节点采集数据的特点,使得算法的复杂度较高;仅仅利用传感器网络具有空间相关性的特点来实现故障检测,消耗大量的能量,尤其是对于大规模无线传感网络而言。基于上述分析,本文采用分布式节点故障诊断算法,通过无线气象传感网内节点上搭载的气象传感器,对气象要素进行采集,利用节点之间的气象要素值存在时空相关性的特点,改进分布式节点故障诊断方法。通过节点自身历史数据和邻居协作方法融合进而提高无线气象传感器网络的故障诊断精度,同时降低故障诊断的误报率,节省节点间频繁交互产生的开销,使算法更加适用于节点资源有限的大规模无线气象传感网络。

1 网络及故障模型

假设无线气象传感网内共有N个节点随机部署在监测区域,并且节点具有相同的通信半径R,每个节点都可以通过一跳或多跳的方式与其他节点通信。节点之间通过底层机制保证同步的数据采集和消息通信,每个节点定时采集所需气象信息,如温度、湿度、气压、风速等,每个传感器节点发送和接收节点标识(网络地址)以及来自其相邻传感器节点的气象感知数据。网络被模拟成一个无向图G(V, E),其中V表示无线传感网络里所有节点的集合,E表示节点间逻辑链路的集合。设dist(si, sj)表示节点si和节点sj之间的物理距离,则E的定义如下:

$ E=\{({{s}_{i}}, {{s}_{j}})\in {{V}^{2}}|dist({{s}_{i}}, {{s}_{j}})\le R\} $ (1)

节点si可通信范围内所有节点属于一个邻域N(si),N(si)⊂N。气象传感网中,由于温度等环境要素的时空连续性以及节点的密集部署,同一邻域内的两个节点之间具有空间的相似性,即网络中正常的相邻传感器节点之间具有相同或相似的测量值。图 1中,一组传感器节点s1s2,…,s10部署在监测区域内。由于节点s1s4s9s10与节点s3的欧氏距离小于R,作为节点s3的一跳邻居,能直接与其进行信息交换。s5可以通过节点s1与节点s3通信,即s5s3通过多跳方式进行通信。

图 1 网络拓扑

为了检测错误的测量值,每个节点发生故障的概率相互独立。无线传感器网络的节点故障分为两类:硬故障和软故障。当传感器节点的某一模块发生损坏而造成无法通信,称之为硬故障;当传感器节点虽然发生故障,但是仍然具有接收、发送、采集及处理数据的能力,只是节点采集的数据是错误的,称之为软故障。图 1中为节点s6发生软故障的节点。在分布式传感器网络故障诊断算法里,针对的主要是节点软故障的检测;若周围的邻居节点都检测不到某个节点,则可以判定该节点发生硬故障。

2 故障诊断算法 2.1 符号说明

相关符号说明如表 1所示。

表 1 符号说明
2.2 异常时间点的定位

由于传感器节点有限的计算和存储资源,使用一个轻量级的方法,将累积和控制图和引导相结合来检测观测节点在滑动窗口下历史数据的变化。本文采用累积和控制图(Cumulative Sum Control Chart, CUSUM)结合引导方案来确定参数值是否发生了显著变化[12]

2.2.1 累积和控制图的计算

累积和控制图(CUSUM)主要依据序贯分析原理,对历史采样数据的偏差进行持续累积,更加灵敏地判断出节点的失控或者受控状态,有效地提高了发现节点异常的灵敏度。CUSUM是基于原始的时间序列构成。本文使用基于滑动窗口的策略来缓存最新的参数测量值。如图 2(a)所示,假设时间窗口的大小w为30,某个传感器节点储存最新的30个感知数据。

图 2 累积和控制图

首先计算这组数据序列的累积和控制图。设节点采样时间间隔为TT的选择和系统响应时间相关,T应足够大,以保证节点可以在采样间隔时间内完成数据处理和发送[13]。设在t时刻节点si采集的数据Xit。对于数据{Xij*T}(1≤jw)表示为该数据序列上的数据点集合。累积和用{Cj}表示。这里定义C0=0,其他的累积和通过当前测量值与所有累积和的均值加上前一个累积和得出。具体计算公式如下:

$ \left\{ \begin{align} &{{C}_{0}}=0 \\ &{{C}_{j}}={{C}_{j-1}}+\left(X_{i}^{j*T}-\sum\limits_{j=1}^{k}{X_{i}^{j*T}}/w \right)\\ \end{align} \right. $ (2)

累积和控制图如图 2(b)所示。在累积和控制图里,直线表明原始的值是相对稳定,波动的线是由原始测量值的变化量引起。累积和趋势在图中向上倾斜表明,这一时期的值高于总体的平均值;反之则低于总体的平均值。并且测定结果和预期值之间的差异愈大,累积和图的倾斜愈陡。CUSUM算法优势在于将整个过程小偏移累加起来,起到放大作用,提高小偏移的灵敏度。并且,通过观察倾斜程度的变化,可找到过程出现变化的点。在每个时间窗口结束时,算法计算数据是否有任何突变:如果有,作为一个传感器的异常时间点被标记。

图 2(b)中CUSUM曲线在C13变化,可以推断这里是一个突变。由于无线气象传感网络是一个以数据为中心的网络,气息要素具有实时更新和数据量大等特点,这里我们使用引导分析方案来对决策设置一个置信度来进一步提高检测的精度和效率。如果没有异常时间点,那么随机重新排序的数据序列会模仿原始的累积和控制图。

2.2.2 引导分析与异常时间点的确定

在讨论引导分析方案前,先引入一个变化的估计值CdiffCdiff定义为在{Cj}序列里的最大值和最小值的差值:

$ {{C}_{diff}}=\max({{C}_{j}})-\min({{C}_{j}}) $ (3)

在每次引导分析时,对原始的测量值随机地排序,得到一组新的数据序列,即{Xij*T, l}(1≤lM), 其中M表示为所执行引导的次数。相应的累积和{Cjl}和Cdiffl也随即利用{Xij*T, l}被计算出。

图 3绘制出了原始数据序列和引导方案的累积和控制图。每次根据随机排序的数据序列计算出累积和值以及对应的引导方案。本文实验模拟中,根据滑动窗口的大小、数据特征等因素,选取6组引导方案为最佳的执行次数,分别进行6次数据随机排序,产生了相应的引导方案。图 2中引导方案曲线比基于原始数据序列的CUSUM更加接近0,由此可以推断一定有变化发生。

图 3 引导结果的比较

通过比较原始数据序列得到的Cdiff与引导分析方案得到的值Cdiffl可以得出置信度。执行M次引导,有XCdiff>Cdiffl,则Cdiff的置信度Confidence=X/M。如果置信度Confidence高于事先设定的阈值θ1,例如90%,则可以确定在当前时间系列的样本里一定有变化发生。

在确定有异常发生后,我们可以通过找到Cj的最大值进一步确定在该数据序列中发生变化的位置。如图 3所示,C13在累积和值最大,所以我们确定变化值定位在j=13与j=14之间。滑动窗口下的故障检测算法描述如下。

算法1   异常时间点的定位。

输入  节点si在滑动窗口内的测量值{Xij*T}(其中1≤jkk为滑动窗口大小);引导次数M;阈值θ1

输出  节点si上的异常时间点Point

1)C0=0;

2)FOR j=1:w

3)    ${{C}_{j}}={{C}_{j-1}}+\left(X_{i}^{j*T}-\sum\limits_{j=1}^{k}{X_{i}^{j*T}}/w \right)$;

4)ENDFOR

5)Cdiff=max(Cj)-min(Cj);

6)X=0;

7)FOR l=1:M

8)    $\left\{ X_{i}^{j\text{*}T, l} \right\}=\text{Randperm}\left(\text{numel}\left(\left\{ X_{i}^{j\text{*}T} \right\} \right)\right)$;

    %对原始测量值{Xij*T}随机排序,得到一组新的数据序列{Xij*T, l};

9)    C0=0;

10)    FOR j=1:w

11)      $C_{j}^{\text{l}}\text{=}C_{j-1}^{l}\text{+}\left(X_{i}^{j\text{*}T, l}-\sum\limits_{\text{j}=1}^{k}{X_{i}^{j\text{*}T, l}}/w \right)$;

12)    ENDFOR

13)    Cdiffl=max(Cjl)-min(Cjl);

14)    IF Cdiff>Cdiffl

15)      X++;

16)  ENDIF

17)ENDFOR

18)Confidence=X/M;

19)IF Confidence>θ

20)  Point=j+1

21)ENDIF

2.3 基于异常时间点的故障检测

通过对异常时间点的分析,本文可以判断出是否发生了变化,并且定位出发生异常的时刻,排除数据正常的时刻,之后再利用基于邻居协作的故障检测算法作出最终故障与否的判断,进而达到节省能量消耗和降低算法复杂度的目的。

t时刻,将节点si的测量数据记为Xit。在节点总数为N的无线传感器网络中,为了找到网络中的故障节点,所有节点的数据都需要被分析。

假设节点si的邻域N(si)内具有Negi个节点(包含si),即N(si)={sisi1,…,si(Negi-1)}。将N(si)={sisi1,…,si(Negi-1)}在时刻t采集的数据分别定义为Nxi={XitXi1t,…,Xti(Negi-1)}。

首先,考虑当前节点si及其邻节点的监测数据的中值。若节点si的邻节点监测数据排序后的数据为{Xikt}(k=0, 1, …, Negi)是递增序列,即XitXi1t≤…≤Xti(Negi-1),则中值φit形式如下:

$ \varphi _{i}^{t}\left\{ \begin{align} &X_{i\left[(Ne{{g}_{i}}-\text{1})/2 \right]}^{t}, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Ne{{g}_{i}}为奇数\\ &\left\{ X_{i\left(Ne{{g}_{i}}/2 \right)}^{t}+X_{i\left(\left(Ne{{g}_{i}}/2 \right)-1 \right)}^{t} \right\}/2\ \ \ Ne{{g}_{i}}为偶数\\ \end{align} \right. $ (4)

其中φit是进行中值运算后得出的值,输出了当前节点si及其邻节点的监测数据的中间值:所有邻节点的测量数据其中一半是大于中值,一半是小于中值。这里采用中值而不采用平均值的好处为:均值不能很好地代表样本的实际中心,特别是当样本中部分值严重偏离中心值时,平均值和中值相差很大。只要传感器数据一半以上正常,故障节点对中值的影响就会很小。

对于节点si的监测数据与邻域下的中值的差值dit

$ d_{i}^{t}=|X_{i}^{t}-\varphi _{i}^{t}| $ (5)

其中节点si下的邻居节点偏移量的均值μ和方差σ定义如下:

$ \mu=\frac{1}{N}\sum\limits_{\text{i=}1}^{Ne{{g}_{i}}}{d_{i}^{t}} $ (6)
$ \sigma=\sqrt{\frac{1}{Ne{{g}_{i}}-1}\sum\limits_{i=1}^{Ne{{g}_{i}}}{(d_{i}^{t}}-\mu {{)}^{2}}} $ (7)

dit进行标准化:

$ y=\frac{d_{i}^{t}-\mu }{\sigma } $ (8)

在监测数据序列中,一些与均值相差较大的错误数据在求均值,尤其是方差时,会对结果产生较大的影响。这里引入中值绝对偏差(Median Absolute Deviation,MAD)来估计方差[14]。因为使用离差的中值作为衡量离差,它比标准差更好。也就是说,相比标准偏差,中值绝对偏差更不易受异常值影响。

利用中值绝对偏差对数据做如式(9)的计算:

$ MAD(X_{ik}^{t})=\text{med}|X_{ik}^{t}-\varphi _{i}^{t}|;0<k<Ne{{g}_{i}}-1 $ (9)

例如,对于数据集合A={1,1,2,2,4,6,9},其中值为2。那么,对于绝对偏差为2的数据集合B={1,1,0,0,2,4,7}的中值为1,即数据集合A的中值绝对偏差为1。

利用式(8)得到新的数据序列,处理后的中值形式如下:

$ mad_{i}^{t}\left\{ \begin{align} &MAD\left(X_{i\left[(Ne{{g}_{i}}-\text{1})/2 \right]}^{t} \right), \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Ne{{g}_{i}}为奇数\\ &\left\{ MAD\left(X_{i\left(Ne{{g}_{i}}/2 \right)}^{t} \right)+MAD\left(X_{i\left(\left(Ne{{g}_{i}}/2 \right)-1 \right)}^{t} \right)\right\}/2\ \ \\ &\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Ne{{g}_{i}}为偶数\\ \end{align} \right., \ $ (10)

为了避免研究关于μσ的故障诊断方法缺点,均值用φit替换,标准差用MADNit替代,计算公式如下:

$ MADN_{i}^{t}=K*mad_{i}^{t} $ (11)

根据累积分布函数得到如下公式最终计算出K的值。

$ \begin{align} &P\left(|X-\mu |\le mad_{i}^{t} \right)=P\left(|\left(X-\mu \right)/\sigma |\le mad_{i}^{t}/\sigma \right)=\\ &\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ P\left(|Z|\le mad_{i}^{t}/\sigma \right)=1/2 \\ \end{align} $ (12)

假设观察到的数据服从正态分布,那么有K=1/(Φ-1(3/4))≈1.482 6。

得出

$ MADN_{i}^{t}\text{=}K*ma{{d}_{i}}\text{=}med|{{x}_{i}}-\varphi _{i}^{t}|/0.675 $ (13)

$ y=\left(X_{i}^{t}-\varphi _{i}^{t} \right)MADN_{i}^{t} $ (14)

y>θ2,则令si为故障。基于邻居协作的故障检测算法描述如算法2。

算法2     基于异常时间点的故障检测。

输入    节点si的邻居节点采集的数据Nxi,邻居节点数Negi,预先设定的阈值θ2,异常时间点Point

输出    节点si的状态Status

1)t=Point

2)SORT(Nxi);%对节点si的邻居节点采集的数据进行递增排序

3)IF Negi%2!=0 THEN

4)    $\varphi _{i}^{t}=X_{i\left[(Ne{{g}_{i}}-1)/2 \right]}^{t}$;

5)ELSE

6)    $\varphi _{i}^{t}=\left(X_{i\left(Ne{{g}_{i}}/2 \right)}^{t} \right)+\left(X_{i\left(\left(Ne{{g}_{i}}/2 \right)-1 \right)}^{t} \right)/2$;

7)ENDIF

8)FOR k=0:(Negi-1)THEN

9)    MAD(Xikt)=med|Xikt-φit|;

10)ENDFOR

11)IF Negi%2!=0 THEN

12)    madit=$MAD\left(X_{i\left[(Ne{{g}_{i}}-\text{1})/2 \right]}^{t} \right)$;

13)ELSE

   madit=(MAD(Xti(Negi/2))+MAD(Xti(Negi/2-1))/2;

14)ENDIF

15)MADNit=madit/0.675;

16)y=(Xit-φit)/MADNit;

17)IF y>θ2 THEN

18)  Status=F;

19)ELSE

20)  Status=N;

21)ENDIF

3 实验与分析

本文使用Matlab软件进行了一些实验来评估所提算法的性能。所模拟的WSN监测区域为一个32×32单元的区域。假定1 024个节点随机部署且不可移动,不失一般性,我们假设每个节点的位置可以通过GPS或者其他定位技术得到,并且具有相同的通信半径。实验中节点上的感知数据服从正态分布,并且设θ1=90%,θ2=3。实验分别从故障检测精度和误报率两个方面对分布式故障检测(Distributed Fault Detection,DFD)[8]与本文算法(Self-Distributed Fault Detection,SDFD)方法进行仿真与比较。为了使实验结果更为客观并消除随机性因素,本文将每项实验进行100次后计算平均值从而得出最终的实验结果。

3.1 检测精度

所谓检测精度(Detection Accuracy,DA)指检测出的故障数与所有故障数量的比值即:

$ DA\text{=}\left(|F\bigcap Q|/|Q| \right) $ (15)

其中:F表示算法检测到故障节点总数,Q表示实际故障节点数。

图 4分别表示在节点平均邻居节点数为10、15、20时节点故障诊断精度随节点故障率变化的趋势。从图 4中可以看出,在相同的平均邻居节点数下, 两种算法的故障诊断精度都随节点故障率的增大而下降;当故障率大于15%时,在相同的平均邻居节点数和节点故障率下,本文算法的故障诊断精度明显优于DFD算法的故障诊断精度。由此可见,SDFD算法解决了随着节点故障率增大而造成传统邻居协作方法失效的问题,当节点故障率较高、平均邻居节点数较少时,也能达到较高的故障诊断精度。以图 4(b)为例,当节点故障率大于35%时,DFD算法的故障诊断精度迅速降低,而本文算法仍能达到90%以上的故障诊断精度。

图 4 不同节点密度的故障检测精度
3.2 误报率

故障误报率(False Alarm Ratio,FAR)指把正常节点误判为故障节点的数目与正常节点总数的比值即:

$ FAR\text{=}\left(|F-Q|/N-|Q| \right) $ (16)

其中:N为无线传感器网络中的节点总数,F表示算法检测到故障节点总数,Q表示实际故障节点数。

图 5分别表示在节点平均邻居节点数为10、15、20时节点误报率随节点故障率变化的趋势。随着节点的故障率增大,算法的误报率随之增加。从误报率来看,DFD算法随着节点故障率的增大而增大,但本文中算法的误报率几乎为0。图 5(b)中,在节点故障率为50%时,本文算法的误报率仍然低于3%,相对于DFD算法降低了22%。这是由于在DFD算法中,要利用邻居节点的感知数据进行比较,对所有分布在目标区域的节点与多个采样时间进行故障诊断,尤其是在节点故障率较高时,耗费巨大能量的同时产生了大量的冗余计算,较多故障的邻居节点的感知数据造成了算法的误判;而SDFD算法,只需定位出发生异常的时刻,排除了数据正常的时刻,并且利用中值绝对偏差的方法进而降低了大量的计算与通信开销,同时避免了很多冗余信息所造成的误判。

图 5 不同节点平均邻居节点数的误报率
4 结语

针对故障检测算法计算冗余量大、误报率高的缺点,本文讨论了无线气象传感网络下一种分布式的轻量级的故障诊断算法,该方法充分利用传感器节点所采集气象要素的时空相关性特点,引入CUSUM方法分析单个节点上的历史数据,结合网络内邻居节点间的数据交换和相互测试,对网络中节点故障与否作出判断,提高了诊断精度的同时降低了误报率,尤其在大量冗余信息和节点故障率较高的情况下,仍能有效准确地进行故障诊断。实验结果表明,在相同情况下,本文算法相比DFD算法能够获得较低的误报率以及较高的故障检测精度。下一步工作中,将深入研究本文提出的算法在复杂实际环境下的适用性,需要进一步优化算法,减少实际物理环境对算法性能所造成的干扰。

参考文献
[1] 马峻岩, 周兴社, 张羽, 等. 传感器网络调试研究综述[J]. 计算机学报, 2012, 35 (3) : 405-422. ( MA J Y, ZHOU X S, ZHANG Y, et al. Debugging sensor networks:a survey[J]. Chinese Journal of Computers, 2012, 35 (3) : 405-422. doi: 10.3724/SP.J.1016.2012.00405 )
[2] LI M, LIU Y, WANG J, et al. Sensor network navigation without locations[J]. IEEE Transactions on Parallel & Distributed Systems, 2009, 24 (7) : 2419-2427.
[3] MO L, HE Y, LIU Y, et al. Canopy closure estimates with GreenOrbs:sustainable sensing in the forest[C]//Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems. New York:ACM, 2009:99-112.
[4] WERNER-ALLEN G, DAWSON-HAGGERTY S, WELSH M. Lance:optimizing high-resolution signal collection in wireless sensor networks[C]//Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems. New York:ACM, 2008:169-182.
[5] 李文锋, 符修文. 无线传感器网络抗毁性[J]. 计算机学报, 2015, 38 (3) : 625-647. ( LI W F, FU X W. Survey on invulnerability of wireless sensor networks[J]. Chinese Journal of Computers, 2015, 38 (3) : 625-647. )
[6] RAMANATHAN N, SCHOELLHAMMER T, KOHLER E, et al. Suelo:human-assisted sensing for exploratory soil monitoring studies[C]//Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems. New York:ACM, 2009:197-210.
[7] LIU K, MA Q, GONG W, et al. Self-diagnosis for detecting system failures in large-scale wireless sensor networks[J]. IEEE Transactions on Wireless Communications, 2014, 13 (10) : 5535-5545. doi: 10.1109/TWC.2014.2336653
[8] CHEN J, KHER S, SOMANI A. Distributed fault detection of wireless sensor networks[C]//Proceedings of the 2006 Workshop on Dependability Issues in Wireless Ad Hoc Networks and Sensor Networks. New York:ACM, 2006:65-72.
[9] 高建良, 徐勇军, 李晓维. 基于加权中值的分布式传感器网络故障检测[J]. 软件学报, 2007, 18 (5) : 1208-1217. ( GAO J L, XU Y J, LI X W. Weighted-median based distributed fault detection for wireless sensor networks[J]. Journal of Software, 2007, 18 (5) : 1208-1217. doi: 10.1360/jos181208 )
[10] LIN L, WANG H, DAI C. Fault diagnosis for wireless sensor network's node based on hamming neural network and rough set[C]//Proceedings of the 2008 IEEE Conference on Robotics, Automation and Mechatronics. Piscataway, NJ:IEEE, 2008:566-570.
[11] 董传明, 刘克中, 罗广, 等. 无线传感器网络环境下的一种轻量级事件容错检测算法[J]. 传感技术学报, 2014, 27 (1) : 135-141. ( DONG C M, LIU K Z, LUO G, et al. A light weight fault-tolerant event detection method in wireless sensor networks[J]. Chinese Journal of Sensors & Actuators, 2014, 27 (1) : 135-141. )
[12] HAWKINS D M, OLWELL D H. Cumulative sum charts and charting for quality improvement[J]. Journal of the American Statistical Association, 2012, 94 (1) : 107-107.
[13] YAO B, CHEN Q. On the temporal-spatial correlation based fault-tolerant dynamic event region detection scheme in wireless sensor networks[M]//Proceedings of the 3rd International Conference on Mobile Ad-Hoc and Sensor Networks. Berlin:Springer, 2007:511-523.
[14] ROUSSEEUW P J, CROUX C. Alternatives to the median absolute deviation[J]. Journal of the American Statistical Association, 1993, 88 (424) : 1273-1283. doi: 10.1080/01621459.1993.10476408