石 磊,楊超宇
(1.阜陽職業(yè)技術(shù)學院工程科技學院,安徽 阜陽 236031;2.安徽理工大學經(jīng)濟與管理學院,安徽 淮南 232001)
無線傳感器網(wǎng)絡(luò)能夠進行酒窖內(nèi)溫濕度、微生物等信息檢測,在白酒生產(chǎn)制作環(huán)節(jié)中經(jīng)常被部署在封閉的酒窖環(huán)境內(nèi)。在白酒發(fā)酵過程中,傳感器節(jié)點由于長期受到高溫,高濕度等因素的影響,其采樣數(shù)據(jù)會參雜越來越多的噪聲,且傳感器節(jié)點的能量消耗也會很快,傳感器節(jié)點的工作性能可能發(fā)生變化,甚至出現(xiàn)軟硬件故障。同時在封閉的工作環(huán)境內(nèi),生產(chǎn)工作人員也無法方便的檢測傳感器節(jié)點的工作運行狀態(tài)是否正常,所以需要一個能夠及時檢測出傳感器節(jié)點故障的算法。
目前已有的對傳感器節(jié)點進行故障診斷的方法主要有粗糙集、貝葉斯網(wǎng)絡(luò)、支持向量機的方法等[1-3]。這些方法主要通過節(jié)點與其鄰居節(jié)點交換的數(shù)據(jù),或者在分簇之后、收集鄰接簇成員節(jié)點的數(shù)據(jù)后,實現(xiàn)節(jié)點的故障診斷。但是都沒有充分考慮傳感器節(jié)點在一定時空維環(huán)境下,采集數(shù)據(jù)的變化規(guī)律。尤其針對酒窖內(nèi)監(jiān)測數(shù)據(jù)在正常狀態(tài)下是緩和線性變化的過程,當傳感器節(jié)點出現(xiàn)故障時,監(jiān)測數(shù)據(jù)會在時空維上出現(xiàn)不規(guī)則變化。針對以上提出的問題,本文提出了一種基于時空馬爾可夫隨機場的傳感器節(jié)點故障檢測算法[4-6]。
基于統(tǒng)計學能夠?qū)陀^世界的關(guān)系進行描述,使用隨機場數(shù)學理論模型是一種常用的分割方法,其中,基于馬爾可夫隨機場(Markov Random Field,MRF)的節(jié)點鄰域關(guān)系的研究最受關(guān)注[7-9]。MRF是一個較為成熟的描述現(xiàn)實世界對象空間對應關(guān)系的方法體系,這個理論由S.Geman與D.Geman共同提出。
MRF首先有一系列的隨機變量X={X1,X2,…,Xn}存在于S中,每個隨機變量Xi取值xi范圍為0-L,全部的隨機變量構(gòu)成一個整體,定義為隨機場。聯(lián)合概率密度P(x)可以采用P(X=x)=P(X1=x1,…,Xn=xn)表達。
在具有鄰域系統(tǒng)N的網(wǎng)格集合S上定義的隨機場X稱為MRF,能且僅能滿足如下的兩個約束條件:
(1) 正定型:P(x)>0,?x∈Ω;
(2) Markov特性:P(xi|xS/i)=P(xi|xNi)。
網(wǎng)格S當前所在位置之外的其他位置網(wǎng)格元素集合記為S/i,其標記值構(gòu)成的集合xNi采用公式xNi={xj|j∈Ni,j≠i}表示。
MRF體系的應用首先需要確定目標函數(shù),確定的原則通常采用最大后驗概率(MAP)為最優(yōu)標準。MRF因此需要結(jié)合統(tǒng)計學及概率估計方法共同完成實際應用。其中,MRF-MAPD的結(jié)合就是一種常用的應用體系結(jié)構(gòu)。
MRF算法首先根據(jù)物理空間結(jié)構(gòu)節(jié)點的分布構(gòu)建標記場,并初始化單團似然度分布值。之后計算當前時刻標記場與前一時刻標記場的全局能量差,只要全局能量沒有趨于平衡,就迭代循環(huán)計算。在每次迭代過程中,依次遍歷當前標記場的每個節(jié)點的局部能量值并累加、歸一化,作為全局能量值計算的依據(jù)[10-12],MRF算法流程如圖1所示。
圖1 MRF算法流程圖
近幾年來,對于利用Gibbs分布定義的MRF已經(jīng)廣泛應用于無線傳感器網(wǎng)絡(luò)中。本節(jié)提出一種新的基于時空馬爾可夫隨機場(Spatial-Temporal Markov Random Field,STMRF)的酒窖環(huán)境監(jiān)測無線傳感器網(wǎng)絡(luò)節(jié)點故障診斷方法。酒窖環(huán)境監(jiān)測過程中,節(jié)點隨機分布在酒窖內(nèi),每個節(jié)點采集的數(shù)據(jù)與其空間上距離最近的鄰域節(jié)點采集數(shù)據(jù),差別不會很大,傳感器節(jié)點間具有關(guān)聯(lián)性。其次,酒窖內(nèi)環(huán)境是平緩的變化過程,因此在節(jié)點正常時,采集數(shù)據(jù)不會出現(xiàn)劇烈的變化差,傳感器節(jié)點監(jiān)測數(shù)據(jù)與前面t-n時刻節(jié)點監(jiān)測數(shù)據(jù)有一定的變化關(guān)系。而當節(jié)點出現(xiàn)故障時,比如,節(jié)點損壞、斷電等問題,節(jié)點采集數(shù)據(jù)與其空間鄰域的節(jié)點、節(jié)點與它自身在前t-n時刻采集數(shù)據(jù)可能就會出現(xiàn)異常變化。因此在每個時刻t,依據(jù)節(jié)點空間分布標記場建立時空馬爾可夫隨機場模型[13-14]。
首先根據(jù)酒窖傳感器網(wǎng)絡(luò)獲取全部節(jié)點采集數(shù)據(jù)當前值,作為初始化標記場的數(shù)值。對Gibbs能量函數(shù)進行優(yōu)化改進,將酒窖傳感器當前狀態(tài)的前t-n時間段數(shù)據(jù)保存,與當前采集數(shù)據(jù)進行均值融合,從而構(gòu)建時空馬爾可夫隨機場,從而對采集數(shù)據(jù)序列中數(shù)據(jù)分布進行分析,從而判斷出節(jié)點狀態(tài),算法流程如圖2所示。
圖2 STMRF算法流程
STMRF同時考慮酒窖傳感器節(jié)點的空間位置相關(guān)性及時間連續(xù)性。通過二階時空鄰域體系,定義時間域與空間域上的二元基團集合。針對空間分布的傳感器節(jié)點node在時刻t采集的數(shù)據(jù),建立二維平面空間,考慮其8個空間域鄰點的標記值,從時間維上考慮前k個時刻的采集數(shù)據(jù)標記場中與當前時刻節(jié)點nodet相對應位置的鄰域節(jié)點nodet-1,以及這兩個酒窖傳感器附近的8個空間鄰域傳感器,共有時空關(guān)系上的18個傳感器節(jié)點。將能量勢團c的定義擴展到節(jié)點node的時空二階鄰域系統(tǒng)中所有時間域二元基團與空間域二元基團的集合[15-16],如圖3所示。
(a)空間鄰域系統(tǒng)
(b)時間鄰域系統(tǒng)圖3 二階鄰域系統(tǒng)
本節(jié)提出一種基于STMRF的無線傳感器網(wǎng)絡(luò)節(jié)點故障檢測算法。將酒窖WSN傳感器節(jié)點投影到平面上,傳感器節(jié)點的總個數(shù)為M×N,設(shè)t時刻,節(jié)點集合為S,S={s1,s2,…,sM×N},假定我們得到采集數(shù)據(jù)為F,記為f={f1,f2,…,fM×N},節(jié)點集合為n={n1,n2,…,nM×N},節(jié)點故障問題求解得到的各節(jié)點分類標記場記為ω={ωs1,ωs2,…,ωsM×N},ωs∈Λ={1,2,…,L-1},L是類別的總數(shù),在本文中,對節(jié)點狀態(tài)的判斷,就可以分為正常和故障兩種,L的值取2。
為了滿足下列公式最大化條件,基于Bayes后驗概率,進行MAP估計,即最大后驗概率估計。
(1)
在數(shù)據(jù)確定的情況下,P(F)為先驗分布,為固定常數(shù)值,在此簡化略去。
P(ω|F)∝P(ω)P(F|ω)
(2)
在先驗概率P(ω)及似然函數(shù)P(F|ω)確定的情況下,酒窖傳感器節(jié)點故障檢測的現(xiàn)實問題,即為求解下列公式的最優(yōu)化值。
(3)
公式(3)由均值μλ及方差σλ確定P(F|ω)高斯分布狀態(tài),其中γ∈Λ。
(4)
對其取對數(shù)可以得到
(5)
(6)
|It-μi,t-1|≤Dσi,t-1
(7)
其中,第i個高斯函數(shù)均值為μi,t-1,式中,根據(jù)實際環(huán)境測試,D自定義取值2.6,為固定常系數(shù)。在t-1時刻,第i個高斯函數(shù)的標準差取值為σi,t-1。
由于大多數(shù)的酒窖傳感器標記場值能夠依據(jù)其時空鄰域傳感器節(jié)點的標記場值決定,因此先驗概率P(ω)符合MRF模型。利用MRF與Gibbs隨機場的等價性,根據(jù)能量函數(shù)即可計算先驗概率P(ω)。
假如在鄰域系統(tǒng)S上的馬爾可夫隨機場設(shè)為F,當且僅符合如下條件時,其聯(lián)合分布滿足與M相關(guān)基團Gibbs分布,
(8)
(9)
如果只考慮一階和二階的鄰域系統(tǒng),上式中的能量函數(shù)表示為
(10)
模型中設(shè)定的參數(shù)為β,即耦合系數(shù),一般取值范圍為0.2~2.6,耦合系數(shù)能夠確定系統(tǒng)區(qū)域相同構(gòu)造性。傳感器節(jié)點r為當前節(jié)點c的鄰域節(jié)點。
一般馬爾可夫隨機場僅僅依賴于空間位置鄰域標記場確定勢函數(shù),而在本文中,構(gòu)建了一種新的同時考慮時間及空間相關(guān)性的時空馬爾可夫隨機場。因此對勢函數(shù)取值時,需要同時判斷時間序列上相鄰節(jié)點標記場值[17-19]。本算法中考慮酒窖內(nèi)環(huán)境采集數(shù)據(jù)的連續(xù)性,并且由于其值會對當前傳感器節(jié)點采集數(shù)據(jù)是否正確有很大的影響,因此,首先計算前k時刻酒窖內(nèi)傳感器分區(qū)域節(jié)點標記場均值,根據(jù)當前時刻傳感器節(jié)點標記場值與均值的差值是否在閾值范圍內(nèi),判斷該節(jié)點標記場是否為可信任,即,傳感器節(jié)點是否出現(xiàn)故障,如圖4所示。
圖4 時空域團標記場
設(shè)定向量?p={?p1,?p2,…,?pn}存放前k相鄰時刻傳感器采集數(shù)據(jù)標記場值的均值,計算公式如(10)式。
(11)
勢函數(shù)形式修改為:
V(ωc)=V{s,r}(ωc,ωr)=
β是定義在空間和時間鄰域關(guān)系上的基團參數(shù),將β依據(jù)空間以及時間的鄰域關(guān)系,分別取值βs,βt。空間鄰域傳感器節(jié)點相關(guān)性通過βs表示,時間序列上相鄰傳感器節(jié)點相關(guān)性則通過βt表示。
算法采用最大后驗概率估計方法求解該模型,綜合公式(6)和公式(14)可得如公式(13)。
(13)
MRF-MAP理論體系下的目標最優(yōu)化問題,能夠通過代入先驗分布及似然函數(shù)后,計算上式最大值ω估計值?得到
(14)
對上式取對數(shù)后,得到目標函數(shù)為
(15)
對標記場估計值進行閾值比較,判斷得出傳感器節(jié)點采集數(shù)據(jù)是否正常,從而診斷得出傳感器結(jié)點是否存在故障。
在阜陽職業(yè)技術(shù)學院的實踐工廠白酒發(fā)酵環(huán)境中,在酒窖內(nèi)布置分別部署50~150個傳感器,在運行120d后,采用本文故障診斷算法,檢測酒窖內(nèi)無線傳感器節(jié)點運行狀態(tài)。酒窖實際環(huán)境如圖5所示。隨著傳感器節(jié)點數(shù)量越來越多,節(jié)點故障率相對也會增加,其關(guān)聯(lián)如圖6所示。
圖5 酒窖實驗環(huán)境
圖6 節(jié)點故障率
采用本文算法與貝葉斯算法(BAYES)、支持向量機算法(SVM)同時進行節(jié)點故障檢測,然后對檢測診斷正確率進行比較,如圖7所示,本文算法在節(jié)點數(shù)較少時,無法充分利用節(jié)點空間和時間鄰域的采集數(shù)據(jù)信息,因此檢測正確率不高,與BAYES、SVM算法檢測率相當,當節(jié)點數(shù)增加,利用隨機場鄰域信息能夠極大提高故障診斷率。圖8中顯示了不同算法在檢測過程中的運行時間,可以看出本文算法在提高診斷正確率的同時,算法運行時間沒有額外增加,與其他算法運行耗費時間相當。
圖7 故障診斷正確率
圖8 算法運行時間比較
本文提出了一種基于STMRF的酒窖無線傳感器節(jié)點故障診斷方法,方法在馬爾可夫隨機場訓練計算U1(ω,F(xiàn))過程中,對傳感器節(jié)點空間分布進行區(qū)域劃分,對所劃分區(qū)域的實時采集數(shù)據(jù)計算均值和方差,從而進一步計算MRF標記場值。其次,對能量函數(shù)U2(ω)進行優(yōu)化改進,將時間維上前k個時刻的標記場均值作為能量函數(shù)判斷參考依據(jù),并設(shè)定不同的能量函數(shù)值βs,βt。最后,在阜陽職業(yè)技術(shù)學院酒窖環(huán)境下進行實驗驗證,通過與其他故障診斷算法進行比較,驗證出本算法在保持較低運行時間復雜度的同時提高了故障節(jié)點的檢出率,可以有效提升無線傳感網(wǎng)的可靠性,延長網(wǎng)絡(luò)生存周期。