基于核独立成分分析和聚类中值的水下传感器故障诊断
2017-03-21陈作聪
陈作聪
(海南热带海洋学院 计算机工程学院,海南 三亚 572022)
基于核独立成分分析和聚类中值的水下传感器故障诊断
陈作聪
(海南热带海洋学院 计算机工程学院,海南 三亚 572022)
水下传感器所处环境的开放性以及其长期处于无人值守状态,极易收到环境作用而发生破坏,传统分簇式的分布式故障诊断方法无法有效对其进行故障诊断,因此,提出了一种基于核主成分分析和聚类中值的故障诊断方法;首先,设计了水下传感器节点故障诊断的模型,然后采用核主成分分析方法对节点采集的数据和来自邻居节点发送的数据进行数据降维,得到具有最小属性集的数据集,然后对节点的邻居节点集进行聚类,选出具有最多元素的聚类,并将聚类的中值作为参考数据,将各节点与其对应的参考数据进行比较从而确定节点是否发生故障,最后定义了基于核独立成分分析和聚类中值的传感器节点故障诊断算法;仿真实验证明了文中方法能有效地对水下传感器进行故障诊断,且与其它方法相比,具有误差检测率高和误检率低的优点。
水下传感器节点; 故障诊断;独立成分分析; 聚类
0 引言
水下传感器网络(Underwater Sensor Networks, UWSN)[1-2]是在水环境如海洋、湖泊、江河等水域中通过无线传感器节点通过自组织的方式组成的,从而实现对水环境的实时监测、目标追踪和航行器的导航等应用[3-4]。
由于水下传感器的所处环境的开放性以及长期处于无人值守状态,所以极易受到环境的作用而发生破坏[5],同时,由于无线电在水中衰减速度很快,因此,在水环境中,无线传感器由于采用声音作为传输媒介,这使得采用传统方法对水下传感器进行故障诊断具有一定的滞后性[6]。而当水下传感器发生故障时,节点采集的数据可能是错误的数据,尤其是在检测精度要求较高的领域中,信息检测的重要性就显得尤为重要[7]。因此,对水下传感器进行故障诊断是重要而富有挑战性的工作。
目前已有的传感器故障诊断方法主要有:文献[8]设计了基于马尔科夫链的故障诊断方法,首先基于故障检测信息建立状态转移矩阵,然后通过马尔科夫链模型对传感器故障信息进行预测,从而实现故障检测与诊断,并在故障处理后将节点转移到正常状态后将故障处理和故障诊断特征转移到网关或汇聚节点。文献[9]提出了一种基于节点相似性的无线传感器节点故障诊断方法,在簇头节点处根据节点数据的时空相关性,对节点的相似性进行度量,调整节点的可信水平,并通过最优函数对最优阈值的节点进行故障诊断。文献[10]提出了一种基于粗糙神经网络的传感器节点故障诊断方法,采用粗糙集对数据属性进行约简,从中提取出对于故障诊断具有最大贡献的最小故障诊断特征集,并根据得到的最小故障诊断特征集来初始化拓扑结构,最后通过子网表决得到最终的故障诊断结果。文献[11]建立了一种基于ARIMA和支持向量机的WSN节点故障诊断方法,首先通过ARIMA对传感器故障征兆数据进行预测估计,然后采用多个二分类的支持向量机对传感器节点进行故障诊断。文献[12]建立了一种分布式的数据融合比较的节点故障诊断方法,通过比较自身收集的数据域邻居节点收集数据包,以判断节点是否发生故障。
上述工作均对无线传感器节点进行故障诊断,但其主要是针对非水环境中的传感器节点进行诊断,没有提出专门针对水下传感器的故障诊断方法,因此,文中设计了一种基于核独立成分分析方法和聚类中值的水下传感器故障诊断方法,并通过实验证明了文中方法优越性。
1 诊断模型定义
水下传感器发生故障有多种,故障发生的范围包括器件级、节点级和网络级故障,在WSN组成的部件中,由于计算、存储、通信和电池等器件的故障检测和容错技术较为成熟,而对于直接暴露在外部环境中的低成本的传感器更容易故障,因此,文中的传感器器件的故障作为研究对象。
文中设计的水下传感器故障诊断模型可以描述为:采用分布式故障诊断方法,即在每个节点处进行分布式的故障诊断,当每个节点首先收集邻居节点发送的数据,由于这些数据往往来自距离很远的传感器节点,往往具有较大的噪声,因此,首先通过核主成分分析法来这些数据进行降噪,得到采用核独立成分分析获得最小属性集的数据集,在此基础上,通过将节点采集的数据与邻居节点聚类的数据中值进行比较,判断当前节点是否发生故障,文中设计的分布式的水下故障诊断模型如图1所示。
图1 文中分布式的水下节点故障诊断模型
2 基于核独立成分分析的最小属性集
由于水下传感器采集的数据以及接收的邻居节点的数据均具有较大的噪声,因此,首先需要对数据进行降噪,并对数据的属性进行约简,从而得到去噪后的最小属性集的数据。
2.1 独立成分分析
独立成分分析方法(Independent Component Analysis, ICA)是由Kirby 等人于1990年首次提出,其是在PCA(Principal Component Analysis, PCA)的基础上发展得到,假设m维的观察向量为X,A为m×n的混合矩阵,S为源向量。
独立成分分析的原理就在不丢失数据的主要表征信息的前提下,将高维空间中的故障样本空间投影到独立的低维空间,如下所示:
(1)
其中:S为各分量独立的未知信号源,η为噪声。
独立成分分析的目标就是在当A和S未知时,求取分离矩阵W=A-1,使得输出Y是s的最优近似估计:
Y=Wx
(2)
2.2 基于核独立成分分析的最小属性集
核(kernel)方法的原理可以描述为:采用一个映射φ:X→F,从而将非线性空间中的问题转换为线性空间的问题。核函数定义如下所示:对于任意x,z∈X,当函数k满足以下条件:
(3)
特征空间F中的已知数据来预测:
(4)
核独立成分分析(KernelIndependentComponentAnalysis,KICA)方法选择可再生核希尔伯特征空间中的正则项作为度量,KICA的代价函数是建立在F的相关系数上的。
定义1:节点的观测向量。传感器节点的观测向量是由一个滑动时间窗口Δ t内的观测数据实例构成,如下所示:
(5)
(6)
(7)
(8)
公式(8)中的KK可以定义为:
(9)
公式(8)中的DK表示为:
(10)
基于KICA对传感器采集的数据和从邻居节点收集的数据进行去噪和降低数据维数的过程是:首先对m维的列向量,即观测矢量y1,...,yN进行白化处理,然后通过高斯核函数对源信号进行估计:
(11)
(12)
通过最小化公式(9)可以得到最优的混合矩阵w,然后根据xi=wyi即可以得到观测向量y1,...,yN对应的去噪和约简的数据向量。
3 基于聚类中值的节点故障诊断
基于聚类中值的节点故障诊断就是将节点的邻居节点进行聚类,选择具有最多元素的聚类,并将该聚类的中值作为参照物,并将该节点与具有最多元素的聚类中值进行比较,对相似度进行更新,并对置信度进行更新,当置信度小于置信度阈值时,则该传感器节点发生了故障。
定义2:数据相对距离。假设传感器节点Ni的观测向量为(x1,x2,...,xm),传感器节点Nj的观测向量为(x1′,x2′,...,xm′),Ni和Nj的相对距离Dij可以表示为:
(13)
在公式(13)中,相对距离Dij表示了节点数据向量之间的距离,其值越小,则节点Ni和Nj的数据越相似。
定义3:节点相似度。某一时刻某相邻节点Ni和Nj的相似程度可以它们采集数据的相似度来进行衡量:
(14)
定义4:节点置信度。假设传感器节点的初始置信度为θ=1,对任意传感器节点Ni,如果不存在任意邻居传感器节点传输的数据Nj,使得S(i,j)>w,则对传感器节点Ni对置信度进行调整,如下所示:
(15)
其中:Δ表示置信度θi的调整步长。
定义5:故障诊断。对任意传感器节点Ni,如果其置信度θ<θ′,则该传感器节点发生了故障,θ′为置信临界水平。
算法:基于聚类中值的水下节点故障诊断。
初始化:相似度阈值N0,置信度阈值θ0;
1)对任意节点Ni,其接收到的n个观测数据样本集为S={N1′,N2′,...,Nn′};
2)根据公式(13)计算n个观测数据样本集为S={N1′,N2′,...,Nn′}中任意两个元素Ni′和Nj′的距离Dij;
3)根据公式(14)计算任意两个样本Ni′和Nj′的相似度,当相似度大于阈值N0时,则表示它们属于一个聚类;
4)重复3)直到所有样本都已经完成聚类,得到的聚类集合分别为P={P1,P2,...,Pz};
5)计算聚类集合P={P1,P2,...,Pz}具有最多元素的聚类Pi;
6)取聚类Pi的中间值作为节点Ni的参考值,根据公式(15)更新θi,并判断θ<θ0是否成立,如果成立,则该节点Ni发生了故障,否则,该节点为正常节点。
4 仿真实验
4.1 实验环境
为了验证和比较文中算法性能,实验环境为模拟某水环境,输入参数个数为节点总数,首先给定节点故障率,根据初始化的节点故障率来随机生成节点,节点包含正常节点和故障节点,节点周期性地进行对水环境进行监测,周期性地进行环境监测,假设节点Ni所在水环境的真实值为γi=200,当节点位于正常状态时,其测量的值为S(Ni)=γi+εi,当节点处于测量值偏高的故障状态时,S(Ni)=γi+εh+Δ;当节点出于测量值偏低的故障状态时,S(Ni)=γi+εl-Δ,Δ为常量=30,εh和εl均为服从正太分布N(u,σ)的测量噪声,u和σ的值分别为0和20,较小的正常数K为0.5,相似度阈值N0=0.8,置信度阈值θ0=0.9。假设正常节点集合为VN,故障节点集合为VF, 下面从节点故障检测率和节点故障误检率两个指标进行比较:
1)节点故障检测率(DetectionRate,DR):
(16)
2)节点故障误检率(FalsePositiveRate,FPR):
(17)
4.2 实验结果与分析
为了验证文中方法的优越性,将文中方法与经典的基于独立成分分析的方法、文献[11]和文献[12]进行比较,4种方法得到的节点故障检测率DR随着传感器故障发生概率变化的情况如图2所示。
图2 节点故障检测率比较
从图2中可以看出,四种方法在传感器故障发生概率逐渐增加的情况下,对应的节点故障检测率都有所减低,但文中方法降低的最慢,当故障发生概率为1时,仍能达到65%的节点故障检测率,独立成分分析方法在故障发生概率为0.8时,其故障检测率就降为39%,文献[11]方法和文献[12]方法对应的故障检测概率分别为45%和47%,显然,文中方法的节点故障检测率最高。
3种方法得到的节点故障误检率FPR随着传感器故障发生概率变化的情况如图3所示。
从图3可以看出,4种方法在传感器故障发生概率逐渐增加的情况下,4种方法对应的节点故障误检率逐渐增加,文中方法的节点故障误检率最低为0.28,独立成分分析方法对应的节点故障误检率为0.52,文献[11]和文献[12]方法的节点故障误检率分别为0.41和0.39,显然,文中方法的节点故障误检率最低。
5 结语
为了保证水环境监控系统实时监控系统的实时性和有效性,防止由于传感器器件失效而导致感知数据的不准确,提出了一种基于核独立成分分析方法和聚类中值的水下传感器故障诊断模型。首先,采用核独立成分分析法对传感器采集的数据和邻居节点发送的数据进行降维,从而得到具有最小属性集的数据,然后对收集的邻居节点数据进行聚类,将具有最多元素的聚类的中间值作为参考值,通过将节点采集数据域参考值进行对比来判断节点是否发生故障。实验证明了文中方法能有效实现水下传感器节点故障诊断,且与其它方法相比,且具有故障检测率高和误检率低的优点。
[1] 黎作鹏,蔡绍滨,张 菁,等. 水声传感器网络节点定位技术综述[J]. 小型微型计算机系统,2012,33(3):442-447.
[2]SunT,ChenW,LiuY,etal.Aprobability-basedapproximatealgorithmforanomalydetectioninWSNs[A].2012WorldCongressonInformationandCommunicationTechnologies[C].IEEE, 2012, 1109-1114.
[3] 王 宗,刘敬彪,蔡文郁. 基于的海洋浮标无线通信网络设计[J].电子技术应用, 2011, 7(37):42-47.
[4]MahapatroaA,KhilarPM.Transientfaulttolerantwirelesssensornetworks[J].ProceedingTechnology, 2012, 4:97-101.
[5] 张 尧,金志刚,罗咏梅,等. 基于信任机制的水下传感器网络节点安全定位算法[J]. 计算机应用,2013,33(5):1208-1211.
[6]CongYP,YangG,WeiZQ,etal.Securityinunderwatersensornetworks[A].Proceedingsof2010InternationalConferenceonCommunicationsandMobileComputing,Piscataway:IEEE, 2010:162-168.
[7] 孔德川,王建平,牛立元. 基于 层二叉树的水下无线传感器网络路由算法的设计[J].仪表技术与传感器, 2014,6(1):133-137.
[8] 汤 琳. 基于马尔科夫预测的多传感器故障检测与诊断机制[J]. 传感器与微系统,2014,11(33):52-55.
[9] 陈欢欢,黄 剑,王 楷,等. 基于节点相似性的WSNs故障检测方法研究[J]. 传感器与微系统,2014,4(33):10-13.
[10] 曹 静, 高 英, 高惠平, 等. 基于粗糙神经网络的传感器网络故障诊断[J]. 计算机应用与软件, 2012,5(29):64-66.
[11] 李 强. 一种基于诊断融合技术的传感器节点故障诊断[J].科技通报, 2013,29(4):79-81.
[12] 刘 凯, 彭 力. 分簇式无线传感器网络节点故障诊断算法研究[J].传感器与微系统, 2011, 30(4):37-40.
Fault Diagnosis of Underwater Sensor Node Based on Kernel Principal Component Analysis and Cluster Mean Value
Chen Zuocong
(College of Computer Engineering, Hainan Tropical Ocean University, Sanya 572022, China)
Underwater Sensor node environment has the properties of opening and usually not guarded by people, so it is easily broken by the environment, the traditional cluster distributed fault diagnosis method has no ability of diagnose the fault effectively, therefore, a fault diagnosis method based on Kernel principal component analysis and cluster mean value is proposed. Firstly, the model of fault diagnosis model in underwater is designed, then the kernel principal component analysis method is used to reduce the dimensions of the data which is sensed by itself and collected by the neighbor sensor nodes, so the data set with least attributes set, then the neighbor nodes of the node needed to be diagnose is clustered, and the cluster with most numbers is selected and its mean value is regarded as the referring value, the value sensed by the node is compared with the referring value. Finally, the algorithm of fault diagnosis for sensor nodes based on Kernel principal component analysis and cluster mean value is proposed. The simulation result shows that the proposed method can achieve sensor nodes fault diagnosis effectively, compared with other methods, it has the higher error detection rate and lower error false detection rate.
underwater sensor node;fault diagnosis; independent component analysis; cluster
2016-09-17;
2016-10-10。
三亚市院地科技合作项目(2014YD11)。
陈作聪(1975-),男,海南乐东人,教授,主要从事无线网络技术方向的研究。
1671-4598(2017)02-0019-04
10.16526/j.cnki.11-4762/tp.2017.02.005
TP319
A