陳作聰
(海南熱帶海洋學院 計算機工程學院,海南 三亞 572022)
基于核獨立成分分析和聚類中值的水下傳感器故障診斷
陳作聰
(海南熱帶海洋學院 計算機工程學院,海南 三亞 572022)
水下傳感器所處環境的開放性以及其長期處于無人值守狀態,極易收到環境作用而發生破壞,傳統分簇式的分布式故障診斷方法無法有效對其進行故障診斷,因此,提出了一種基于核主成分分析和聚類中值的故障診斷方法;首先,設計了水下傳感器節點故障診斷的模型,然后采用核主成分分析方法對節點采集的數據和來自鄰居節點發送的數據進行數據降維,得到具有最小屬性集的數據集,然后對節點的鄰居節點集進行聚類,選出具有最多元素的聚類,并將聚類的中值作為參考數據,將各節點與其對應的參考數據進行比較從而確定節點是否發生故障,最后定義了基于核獨立成分分析和聚類中值的傳感器節點故障診斷算法;仿真實驗證明了文中方法能有效地對水下傳感器進行故障診斷,且與其它方法相比,具有誤差檢測率高和誤檢率低的優點。
水下傳感器節點; 故障診斷;獨立成分分析; 聚類
水下傳感器網絡(Underwater Sensor Networks, UWSN)[1-2]是在水環境如海洋、湖泊、江河等水域中通過無線傳感器節點通過自組織的方式組成的,從而實現對水環境的實時監測、目標追蹤和航行器的導航等應用[3-4]。
由于水下傳感器的所處環境的開放性以及長期處于無人值守狀態,所以極易受到環境的作用而發生破壞[5],同時,由于無線電在水中衰減速度很快,因此,在水環境中,無線傳感器由于采用聲音作為傳輸媒介,這使得采用傳統方法對水下傳感器進行故障診斷具有一定的滯后性[6]。而當水下傳感器發生故障時,節點采集的數據可能是錯誤的數據,尤其是在檢測精度要求較高的領域中,信息檢測的重要性就顯得尤為重要[7]。因此,對水下傳感器進行故障診斷是重要而富有挑戰性的工作。
目前已有的傳感器故障診斷方法主要有:文獻[8]設計了基于馬爾科夫鏈的故障診斷方法,首先基于故障檢測信息建立狀態轉移矩陣,然后通過馬爾科夫鏈模型對傳感器故障信息進行預測,從而實現故障檢測與診斷,并在故障處理后將節點轉移到正常狀態后將故障處理和故障診斷特征轉移到網關或匯聚節點。文獻[9]提出了一種基于節點相似性的無線傳感器節點故障診斷方法,在簇頭節點處根據節點數據的時空相關性,對節點的相似性進行度量,調整節點的可信水平,并通過最優函數對最優閾值的節點進行故障診斷。文獻[10]提出了一種基于粗糙神經網絡的傳感器節點故障診斷方法,采用粗糙集對數據屬性進行約簡,從中提取出對于故障診斷具有最大貢獻的最小故障診斷特征集,并根據得到的最小故障診斷特征集來初始化拓撲結構,最后通過子網表決得到最終的故障診斷結果。文獻[11]建立了一種基于ARIMA和支持向量機的WSN節點故障診斷方法,首先通過ARIMA對傳感器故障征兆數據進行預測估計,然后采用多個二分類的支持向量機對傳感器節點進行故障診斷。文獻[12]建立了一種分布式的數據融合比較的節點故障診斷方法,通過比較自身收集的數據域鄰居節點收集數據包,以判斷節點是否發生故障。
上述工作均對無線傳感器節點進行故障診斷,但其主要是針對非水環境中的傳感器節點進行診斷,沒有提出專門針對水下傳感器的故障診斷方法,因此,文中設計了一種基于核獨立成分分析方法和聚類中值的水下傳感器故障診斷方法,并通過實驗證明了文中方法優越性。
水下傳感器發生故障有多種,故障發生的范圍包括器件級、節點級和網絡級故障,在WSN組成的部件中,由于計算、存儲、通信和電池等器件的故障檢測和容錯技術較為成熟,而對于直接暴露在外部環境中的低成本的傳感器更容易故障,因此,文中的傳感器器件的故障作為研究對象。
文中設計的水下傳感器故障診斷模型可以描述為:采用分布式故障診斷方法,即在每個節點處進行分布式的故障診斷,當每個節點首先收集鄰居節點發送的數據,由于這些數據往往來自距離很遠的傳感器節點,往往具有較大的噪聲,因此,首先通過核主成分分析法來這些數據進行降噪,得到采用核獨立成分分析獲得最小屬性集的數據集,在此基礎上,通過將節點采集的數據與鄰居節點聚類的數據中值進行比較,判斷當前節點是否發生故障,文中設計的分布式的水下故障診斷模型如圖1所示。

圖1 文中分布式的水下節點故障診斷模型
由于水下傳感器采集的數據以及接收的鄰居節點的數據均具有較大的噪聲,因此,首先需要對數據進行降噪,并對數據的屬性進行約簡,從而得到去噪后的最小屬性集的數據。
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對應的去噪和約簡的數據向量。
基于聚類中值的節點故障診斷就是將節點的鄰居節點進行聚類,選擇具有最多元素的聚類,并將該聚類的中值作為參照物,并將該節點與具有最多元素的聚類中值進行比較,對相似度進行更新,并對置信度進行更新,當置信度小于置信度閾值時,則該傳感器節點發生了故障。
定義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.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,顯然,文中方法的節點故障誤檢率最低。
為了保證水環境監控系統實時監控系統的實時性和有效性,防止由于傳感器器件失效而導致感知數據的不準確,提出了一種基于核獨立成分分析方法和聚類中值的水下傳感器故障診斷模型。首先,采用核獨立成分分析法對傳感器采集的數據和鄰居節點發送的數據進行降維,從而得到具有最小屬性集的數據,然后對收集的鄰居節點數據進行聚類,將具有最多元素的聚類的中間值作為參考值,通過將節點采集數據域參考值進行對比來判斷節點是否發生故障。實驗證明了文中方法能有效實現水下傳感器節點故障診斷,且與其它方法相比,且具有故障檢測率高和誤檢率低的優點。
[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