陳作聰
(海南熱帶海洋學(xué)院 計(jì)算機(jī)工程學(xué)院,海南 三亞 572022)
基于核獨(dú)立成分分析和聚類中值的水下傳感器故障診斷
陳作聰
(海南熱帶海洋學(xué)院 計(jì)算機(jī)工程學(xué)院,海南 三亞 572022)
水下傳感器所處環(huán)境的開(kāi)放性以及其長(zhǎng)期處于無(wú)人值守狀態(tài),極易收到環(huán)境作用而發(fā)生破壞,傳統(tǒng)分簇式的分布式故障診斷方法無(wú)法有效對(duì)其進(jìn)行故障診斷,因此,提出了一種基于核主成分分析和聚類中值的故障診斷方法;首先,設(shè)計(jì)了水下傳感器節(jié)點(diǎn)故障診斷的模型,然后采用核主成分分析方法對(duì)節(jié)點(diǎn)采集的數(shù)據(jù)和來(lái)自鄰居節(jié)點(diǎn)發(fā)送的數(shù)據(jù)進(jìn)行數(shù)據(jù)降維,得到具有最小屬性集的數(shù)據(jù)集,然后對(duì)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)集進(jìn)行聚類,選出具有最多元素的聚類,并將聚類的中值作為參考數(shù)據(jù),將各節(jié)點(diǎn)與其對(duì)應(yīng)的參考數(shù)據(jù)進(jìn)行比較從而確定節(jié)點(diǎn)是否發(fā)生故障,最后定義了基于核獨(dú)立成分分析和聚類中值的傳感器節(jié)點(diǎn)故障診斷算法;仿真實(shí)驗(yàn)證明了文中方法能有效地對(duì)水下傳感器進(jìn)行故障診斷,且與其它方法相比,具有誤差檢測(cè)率高和誤檢率低的優(yōu)點(diǎn)。
水下傳感器節(jié)點(diǎn); 故障診斷;獨(dú)立成分分析; 聚類
水下傳感器網(wǎng)絡(luò)(Underwater Sensor Networks, UWSN)[1-2]是在水環(huán)境如海洋、湖泊、江河等水域中通過(guò)無(wú)線傳感器節(jié)點(diǎn)通過(guò)自組織的方式組成的,從而實(shí)現(xiàn)對(duì)水環(huán)境的實(shí)時(shí)監(jiān)測(cè)、目標(biāo)追蹤和航行器的導(dǎo)航等應(yīng)用[3-4]。
由于水下傳感器的所處環(huán)境的開(kāi)放性以及長(zhǎng)期處于無(wú)人值守狀態(tài),所以極易受到環(huán)境的作用而發(fā)生破壞[5],同時(shí),由于無(wú)線電在水中衰減速度很快,因此,在水環(huán)境中,無(wú)線傳感器由于采用聲音作為傳輸媒介,這使得采用傳統(tǒng)方法對(duì)水下傳感器進(jìn)行故障診斷具有一定的滯后性[6]。而當(dāng)水下傳感器發(fā)生故障時(shí),節(jié)點(diǎn)采集的數(shù)據(jù)可能是錯(cuò)誤的數(shù)據(jù),尤其是在檢測(cè)精度要求較高的領(lǐng)域中,信息檢測(cè)的重要性就顯得尤為重要[7]。因此,對(duì)水下傳感器進(jìn)行故障診斷是重要而富有挑戰(zhàn)性的工作。
目前已有的傳感器故障診斷方法主要有:文獻(xiàn)[8]設(shè)計(jì)了基于馬爾科夫鏈的故障診斷方法,首先基于故障檢測(cè)信息建立狀態(tài)轉(zhuǎn)移矩陣,然后通過(guò)馬爾科夫鏈模型對(duì)傳感器故障信息進(jìn)行預(yù)測(cè),從而實(shí)現(xiàn)故障檢測(cè)與診斷,并在故障處理后將節(jié)點(diǎn)轉(zhuǎn)移到正常狀態(tài)后將故障處理和故障診斷特征轉(zhuǎn)移到網(wǎng)關(guān)或匯聚節(jié)點(diǎn)。文獻(xiàn)[9]提出了一種基于節(jié)點(diǎn)相似性的無(wú)線傳感器節(jié)點(diǎn)故障診斷方法,在簇頭節(jié)點(diǎn)處根據(jù)節(jié)點(diǎn)數(shù)據(jù)的時(shí)空相關(guān)性,對(duì)節(jié)點(diǎn)的相似性進(jìn)行度量,調(diào)整節(jié)點(diǎn)的可信水平,并通過(guò)最優(yōu)函數(shù)對(duì)最優(yōu)閾值的節(jié)點(diǎn)進(jìn)行故障診斷。文獻(xiàn)[10]提出了一種基于粗糙神經(jīng)網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)故障診斷方法,采用粗糙集對(duì)數(shù)據(jù)屬性進(jìn)行約簡(jiǎn),從中提取出對(duì)于故障診斷具有最大貢獻(xiàn)的最小故障診斷特征集,并根據(jù)得到的最小故障診斷特征集來(lái)初始化拓?fù)浣Y(jié)構(gòu),最后通過(guò)子網(wǎng)表決得到最終的故障診斷結(jié)果。文獻(xiàn)[11]建立了一種基于ARIMA和支持向量機(jī)的WSN節(jié)點(diǎn)故障診斷方法,首先通過(guò)ARIMA對(duì)傳感器故障征兆數(shù)據(jù)進(jìn)行預(yù)測(cè)估計(jì),然后采用多個(gè)二分類的支持向量機(jī)對(duì)傳感器節(jié)點(diǎn)進(jìn)行故障診斷。文獻(xiàn)[12]建立了一種分布式的數(shù)據(jù)融合比較的節(jié)點(diǎn)故障診斷方法,通過(guò)比較自身收集的數(shù)據(jù)域鄰居節(jié)點(diǎn)收集數(shù)據(jù)包,以判斷節(jié)點(diǎn)是否發(fā)生故障。
上述工作均對(duì)無(wú)線傳感器節(jié)點(diǎn)進(jìn)行故障診斷,但其主要是針對(duì)非水環(huán)境中的傳感器節(jié)點(diǎn)進(jìn)行診斷,沒(méi)有提出專門針對(duì)水下傳感器的故障診斷方法,因此,文中設(shè)計(jì)了一種基于核獨(dú)立成分分析方法和聚類中值的水下傳感器故障診斷方法,并通過(guò)實(shí)驗(yàn)證明了文中方法優(yōu)越性。
水下傳感器發(fā)生故障有多種,故障發(fā)生的范圍包括器件級(jí)、節(jié)點(diǎn)級(jí)和網(wǎng)絡(luò)級(jí)故障,在WSN組成的部件中,由于計(jì)算、存儲(chǔ)、通信和電池等器件的故障檢測(cè)和容錯(cuò)技術(shù)較為成熟,而對(duì)于直接暴露在外部環(huán)境中的低成本的傳感器更容易故障,因此,文中的傳感器器件的故障作為研究對(duì)象。
文中設(shè)計(jì)的水下傳感器故障診斷模型可以描述為:采用分布式故障診斷方法,即在每個(gè)節(jié)點(diǎn)處進(jìn)行分布式的故障診斷,當(dāng)每個(gè)節(jié)點(diǎn)首先收集鄰居節(jié)點(diǎn)發(fā)送的數(shù)據(jù),由于這些數(shù)據(jù)往往來(lái)自距離很遠(yuǎn)的傳感器節(jié)點(diǎn),往往具有較大的噪聲,因此,首先通過(guò)核主成分分析法來(lái)這些數(shù)據(jù)進(jìn)行降噪,得到采用核獨(dú)立成分分析獲得最小屬性集的數(shù)據(jù)集,在此基礎(chǔ)上,通過(guò)將節(jié)點(diǎn)采集的數(shù)據(jù)與鄰居節(jié)點(diǎn)聚類的數(shù)據(jù)中值進(jìn)行比較,判斷當(dāng)前節(jié)點(diǎn)是否發(fā)生故障,文中設(shè)計(jì)的分布式的水下故障診斷模型如圖1所示。
圖1 文中分布式的水下節(jié)點(diǎn)故障診斷模型
由于水下傳感器采集的數(shù)據(jù)以及接收的鄰居節(jié)點(diǎn)的數(shù)據(jù)均具有較大的噪聲,因此,首先需要對(duì)數(shù)據(jù)進(jìn)行降噪,并對(duì)數(shù)據(jù)的屬性進(jìn)行約簡(jiǎn),從而得到去噪后的最小屬性集的數(shù)據(jù)。
2.1 獨(dú)立成分分析
獨(dú)立成分分析方法(Independent Component Analysis, ICA)是由Kirby 等人于1990年首次提出,其是在PCA(Principal Component Analysis, PCA)的基礎(chǔ)上發(fā)展得到,假設(shè)m維的觀察向量為X,A為m×n的混合矩陣,S為源向量。
獨(dú)立成分分析的原理就在不丟失數(shù)據(jù)的主要表征信息的前提下,將高維空間中的故障樣本空間投影到獨(dú)立的低維空間,如下所示:
(1)
其中:S為各分量獨(dú)立的未知信號(hào)源,η為噪聲。
獨(dú)立成分分析的目標(biāo)就是在當(dāng)A和S未知時(shí),求取分離矩陣W=A-1,使得輸出Y是s的最優(yōu)近似估計(jì):
Y=Wx
(2)
2.2 基于核獨(dú)立成分分析的最小屬性集
核(kernel)方法的原理可以描述為:采用一個(gè)映射φ:X→F,從而將非線性空間中的問(wèn)題轉(zhuǎn)換為線性空間的問(wèn)題。核函數(shù)定義如下所示:對(duì)于任意x,z∈X,當(dāng)函數(shù)k滿足以下條件:
(3)
特征空間F中的已知數(shù)據(jù)來(lái)預(yù)測(cè):
(4)
核獨(dú)立成分分析(KernelIndependentComponentAnalysis,KICA)方法選擇可再生核希爾伯特征空間中的正則項(xiàng)作為度量,KICA的代價(jià)函數(shù)是建立在F的相關(guān)系數(shù)上的。
定義1:節(jié)點(diǎn)的觀測(cè)向量。傳感器節(jié)點(diǎn)的觀測(cè)向量是由一個(gè)滑動(dòng)時(shí)間窗口Δ t內(nèi)的觀測(cè)數(shù)據(jù)實(shí)例構(gòu)成,如下所示:
(5)
(6)
(7)
(8)
公式(8)中的KK可以定義為:
(9)
公式(8)中的DK表示為:
(10)
基于KICA對(duì)傳感器采集的數(shù)據(jù)和從鄰居節(jié)點(diǎn)收集的數(shù)據(jù)進(jìn)行去噪和降低數(shù)據(jù)維數(shù)的過(guò)程是:首先對(duì)m維的列向量,即觀測(cè)矢量y1,...,yN進(jìn)行白化處理,然后通過(guò)高斯核函數(shù)對(duì)源信號(hào)進(jìn)行估計(jì):
(11)
(12)
通過(guò)最小化公式(9)可以得到最優(yōu)的混合矩陣w,然后根據(jù)xi=wyi即可以得到觀測(cè)向量y1,...,yN對(duì)應(yīng)的去噪和約簡(jiǎn)的數(shù)據(jù)向量。
基于聚類中值的節(jié)點(diǎn)故障診斷就是將節(jié)點(diǎn)的鄰居節(jié)點(diǎn)進(jìn)行聚類,選擇具有最多元素的聚類,并將該聚類的中值作為參照物,并將該節(jié)點(diǎn)與具有最多元素的聚類中值進(jìn)行比較,對(duì)相似度進(jìn)行更新,并對(duì)置信度進(jìn)行更新,當(dāng)置信度小于置信度閾值時(shí),則該傳感器節(jié)點(diǎn)發(fā)生了故障。
定義2:數(shù)據(jù)相對(duì)距離。假設(shè)傳感器節(jié)點(diǎn)Ni的觀測(cè)向量為(x1,x2,...,xm),傳感器節(jié)點(diǎn)Nj的觀測(cè)向量為(x1′,x2′,...,xm′),Ni和Nj的相對(duì)距離Dij可以表示為:
(13)
在公式(13)中,相對(duì)距離Dij表示了節(jié)點(diǎn)數(shù)據(jù)向量之間的距離,其值越小,則節(jié)點(diǎn)Ni和Nj的數(shù)據(jù)越相似。
定義3:節(jié)點(diǎn)相似度。某一時(shí)刻某相鄰節(jié)點(diǎn)Ni和Nj的相似程度可以它們采集數(shù)據(jù)的相似度來(lái)進(jìn)行衡量:
(14)
定義4:節(jié)點(diǎn)置信度。假設(shè)傳感器節(jié)點(diǎn)的初始置信度為θ=1,對(duì)任意傳感器節(jié)點(diǎn)Ni,如果不存在任意鄰居傳感器節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)Nj,使得S(i,j)>w,則對(duì)傳感器節(jié)點(diǎn)Ni對(duì)置信度進(jìn)行調(diào)整,如下所示:
(15)
其中:Δ表示置信度θi的調(diào)整步長(zhǎng)。
定義5:故障診斷。對(duì)任意傳感器節(jié)點(diǎn)Ni,如果其置信度θ<θ′,則該傳感器節(jié)點(diǎn)發(fā)生了故障,θ′為置信臨界水平。
算法:基于聚類中值的水下節(jié)點(diǎn)故障診斷。
初始化:相似度閾值N0,置信度閾值θ0;
1)對(duì)任意節(jié)點(diǎn)Ni,其接收到的n個(gè)觀測(cè)數(shù)據(jù)樣本集為S={N1′,N2′,...,Nn′};
2)根據(jù)公式(13)計(jì)算n個(gè)觀測(cè)數(shù)據(jù)樣本集為S={N1′,N2′,...,Nn′}中任意兩個(gè)元素Ni′和Nj′的距離Dij;
3)根據(jù)公式(14)計(jì)算任意兩個(gè)樣本Ni′和Nj′的相似度,當(dāng)相似度大于閾值N0時(shí),則表示它們屬于一個(gè)聚類;
4)重復(fù)3)直到所有樣本都已經(jīng)完成聚類,得到的聚類集合分別為P={P1,P2,...,Pz};
5)計(jì)算聚類集合P={P1,P2,...,Pz}具有最多元素的聚類Pi;
6)取聚類Pi的中間值作為節(jié)點(diǎn)Ni的參考值,根據(jù)公式(15)更新θi,并判斷θ<θ0是否成立,如果成立,則該節(jié)點(diǎn)Ni發(fā)生了故障,否則,該節(jié)點(diǎn)為正常節(jié)點(diǎn)。
4.1 實(shí)驗(yàn)環(huán)境
為了驗(yàn)證和比較文中算法性能,實(shí)驗(yàn)環(huán)境為模擬某水環(huán)境,輸入?yún)?shù)個(gè)數(shù)為節(jié)點(diǎn)總數(shù),首先給定節(jié)點(diǎn)故障率,根據(jù)初始化的節(jié)點(diǎn)故障率來(lái)隨機(jī)生成節(jié)點(diǎn),節(jié)點(diǎn)包含正常節(jié)點(diǎn)和故障節(jié)點(diǎn),節(jié)點(diǎn)周期性地進(jìn)行對(duì)水環(huán)境進(jìn)行監(jiān)測(cè),周期性地進(jìn)行環(huán)境監(jiān)測(cè),假設(shè)節(jié)點(diǎn)Ni所在水環(huán)境的真實(shí)值為γi=200,當(dāng)節(jié)點(diǎn)位于正常狀態(tài)時(shí),其測(cè)量的值為S(Ni)=γi+εi,當(dāng)節(jié)點(diǎn)處于測(cè)量值偏高的故障狀態(tài)時(shí),S(Ni)=γi+εh+Δ;當(dāng)節(jié)點(diǎn)出于測(cè)量值偏低的故障狀態(tài)時(shí),S(Ni)=γi+εl-Δ,Δ為常量=30,εh和εl均為服從正太分布N(u,σ)的測(cè)量噪聲,u和σ的值分別為0和20,較小的正常數(shù)K為0.5,相似度閾值N0=0.8,置信度閾值θ0=0.9。假設(shè)正常節(jié)點(diǎn)集合為VN,故障節(jié)點(diǎn)集合為VF, 下面從節(jié)點(diǎn)故障檢測(cè)率和節(jié)點(diǎn)故障誤檢率兩個(gè)指標(biāo)進(jìn)行比較:
1)節(jié)點(diǎn)故障檢測(cè)率(DetectionRate,DR):
(16)
2)節(jié)點(diǎn)故障誤檢率(FalsePositiveRate,FPR):
(17)
4.2 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證文中方法的優(yōu)越性,將文中方法與經(jīng)典的基于獨(dú)立成分分析的方法、文獻(xiàn)[11]和文獻(xiàn)[12]進(jìn)行比較,4種方法得到的節(jié)點(diǎn)故障檢測(cè)率DR隨著傳感器故障發(fā)生概率變化的情況如圖2所示。
圖2 節(jié)點(diǎn)故障檢測(cè)率比較
從圖2中可以看出,四種方法在傳感器故障發(fā)生概率逐漸增加的情況下,對(duì)應(yīng)的節(jié)點(diǎn)故障檢測(cè)率都有所減低,但文中方法降低的最慢,當(dāng)故障發(fā)生概率為1時(shí),仍能達(dá)到65%的節(jié)點(diǎn)故障檢測(cè)率,獨(dú)立成分分析方法在故障發(fā)生概率為0.8時(shí),其故障檢測(cè)率就降為39%,文獻(xiàn)[11]方法和文獻(xiàn)[12]方法對(duì)應(yīng)的故障檢測(cè)概率分別為45%和47%,顯然,文中方法的節(jié)點(diǎn)故障檢測(cè)率最高。
3種方法得到的節(jié)點(diǎn)故障誤檢率FPR隨著傳感器故障發(fā)生概率變化的情況如圖3所示。
從圖3可以看出,4種方法在傳感器故障發(fā)生概率逐漸增加的情況下,4種方法對(duì)應(yīng)的節(jié)點(diǎn)故障誤檢率逐漸增加,文中方法的節(jié)點(diǎn)故障誤檢率最低為0.28,獨(dú)立成分分析方法對(duì)應(yīng)的節(jié)點(diǎn)故障誤檢率為0.52,文獻(xiàn)[11]和文獻(xiàn)[12]方法的節(jié)點(diǎn)故障誤檢率分別為0.41和0.39,顯然,文中方法的節(jié)點(diǎn)故障誤檢率最低。
為了保證水環(huán)境監(jiān)控系統(tǒng)實(shí)時(shí)監(jiān)控系統(tǒng)的實(shí)時(shí)性和有效性,防止由于傳感器器件失效而導(dǎo)致感知數(shù)據(jù)的不準(zhǔn)確,提出了一種基于核獨(dú)立成分分析方法和聚類中值的水下傳感器故障診斷模型。首先,采用核獨(dú)立成分分析法對(duì)傳感器采集的數(shù)據(jù)和鄰居節(jié)點(diǎn)發(fā)送的數(shù)據(jù)進(jìn)行降維,從而得到具有最小屬性集的數(shù)據(jù),然后對(duì)收集的鄰居節(jié)點(diǎn)數(shù)據(jù)進(jìn)行聚類,將具有最多元素的聚類的中間值作為參考值,通過(guò)將節(jié)點(diǎn)采集數(shù)據(jù)域參考值進(jìn)行對(duì)比來(lái)判斷節(jié)點(diǎn)是否發(fā)生故障。實(shí)驗(yàn)證明了文中方法能有效實(shí)現(xiàn)水下傳感器節(jié)點(diǎn)故障診斷,且與其它方法相比,且具有故障檢測(cè)率高和誤檢率低的優(yōu)點(diǎn)。
[1] 黎作鵬,蔡紹濱,張 菁,等. 水聲傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位技術(shù)綜述[J]. 小型微型計(jì)算機(jī)系統(tǒng),2012,33(3):442-447.
[2]SunT,ChenW,LiuY,etal.Aprobability-basedapproximatealgorithmforanomalydetectioninWSNs[A].2012WorldCongressonInformationandCommunicationTechnologies[C].IEEE, 2012, 1109-1114.
[3] 王 宗,劉敬彪,蔡文郁. 基于的海洋浮標(biāo)無(wú)線通信網(wǎng)絡(luò)設(shè)計(jì)[J].電子技術(shù)應(yīng)用, 2011, 7(37):42-47.
[4]MahapatroaA,KhilarPM.Transientfaulttolerantwirelesssensornetworks[J].ProceedingTechnology, 2012, 4:97-101.
[5] 張 堯,金志剛,羅詠梅,等. 基于信任機(jī)制的水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)安全定位算法[J]. 計(jì)算機(jī)應(yīng)用,2013,33(5):1208-1211.
[6]CongYP,YangG,WeiZQ,etal.Securityinunderwatersensornetworks[A].Proceedingsof2010InternationalConferenceonCommunicationsandMobileComputing,Piscataway:IEEE, 2010:162-168.
[7] 孔德川,王建平,牛立元. 基于 層二叉樹(shù)的水下無(wú)線傳感器網(wǎng)絡(luò)路由算法的設(shè)計(jì)[J].儀表技術(shù)與傳感器, 2014,6(1):133-137.
[8] 湯 琳. 基于馬爾科夫預(yù)測(cè)的多傳感器故障檢測(cè)與診斷機(jī)制[J]. 傳感器與微系統(tǒng),2014,11(33):52-55.
[9] 陳歡歡,黃 劍,王 楷,等. 基于節(jié)點(diǎn)相似性的WSNs故障檢測(cè)方法研究[J]. 傳感器與微系統(tǒng),2014,4(33):10-13.
[10] 曹 靜, 高 英, 高惠平, 等. 基于粗糙神經(jīng)網(wǎng)絡(luò)的傳感器網(wǎng)絡(luò)故障診斷[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2012,5(29):64-66.
[11] 李 強(qiáng). 一種基于診斷融合技術(shù)的傳感器節(jié)點(diǎn)故障診斷[J].科技通報(bào), 2013,29(4):79-81.
[12] 劉 凱, 彭 力. 分簇式無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)故障診斷算法研究[J].傳感器與微系統(tǒng), 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。
三亞市院地科技合作項(xiàng)目(2014YD11)。
陳作聰(1975-),男,海南樂(lè)東人,教授,主要從事無(wú)線網(wǎng)絡(luò)技術(shù)方向的研究。
1671-4598(2017)02-0019-04
10.16526/j.cnki.11-4762/tp.2017.02.005
TP319
A