中圖分類號:TP391 文獻(xiàn)標(biāo)志碼:A 文章編號:1001-3695(2025)06-029-1815-07
doi:10.19734/j.issn.1001-3695.2024.10.0426
Data-driven WSN fault detection based framework
Xu Hana, Tong Yinghuaa,bt (a.DeptofComper,.TeStateKeybooofbenItellgentIfoaionPresingamp;AcoQingiNlUesit, Xining810008,China)
Abstract:Wirelessensor network nodes typicallydeployincomplex environments,where failuresare inevitable.Toaddress thischallenge,thispaperproposedadata-drivenframeworkforreal-timefaultdetectioninWSN.Thesystemfilteredandcollectedinitialoperationaldatafromwirelesssensornetworks,usingthisdatatoconstructdatasetsfortrainingfaultdetection models,withthegoalof enhancing modelaccuracy.Theapproach segmented thedata intotime windows,alowing the fault diagnosis model to identifyandcorectsensorfaults withinthemostrecent window.The modelthenreusedtherefined dataset toretrainitself,preparingforthedetectionoffaultsintheupcoming window.Throughcontinuouscyclesof raininganddetection,thesystemensuredthereal-timeupdateof thedetectionmodeltoimproveitsperformance.Experimentalresultsdemonstratethat,whencomparedtoclassicalandstate-of-the-artmachineleamingdetectionmodels,thisapproachachievesbetter precision,accuracy,and eficiencyacrossvarious typesoffaultdatasets.Consequently,theframework offerssuperiordetection capabilities and adapts more effectively to the dynamic nature of WSN environments.
Key words:wireless sensor network;fault tolerance;faultdetection;machinelearing;datadriven;data interpolation
0 引言
在無線傳感器網(wǎng)絡(luò)(wirelesssensornetwork,WSN)中,傳感器故障會導(dǎo)致傳感器讀數(shù)不可靠和不準(zhǔn)確[1]。在較低的計算能力和受限能源的條件下如何檢測WSN中的節(jié)點故障已經(jīng)成為重要問題。
基于統(tǒng)計的方法是經(jīng)典的故障檢測方法。聚類[2、超時響應(yīng)[3]、多數(shù)投票檢測[4]是常見的統(tǒng)計方法。不少學(xué)者在此基礎(chǔ)上進(jìn)行優(yōu)化,如避免節(jié)點與故障節(jié)點通信[5],使用分布式模糊邏輯方法以提高檢測性能?;诮y(tǒng)計的方法實現(xiàn)較為容易,但缺乏學(xué)習(xí)能力以及需要人為設(shè)置參數(shù),適應(yīng)性較弱,不同環(huán)境下檢測精度難以保證。
此外,也有許多基于信念規(guī)則庫的方法[7.8],如Javaid 等人[9]采用基于信念函數(shù)的決策融合技術(shù)對分類結(jié)果進(jìn)行融合,提高分類精度。 Sun 等人[10]提出了帶有自適應(yīng)質(zhì)量因子的信念規(guī)則庫故障診斷模型。信念規(guī)則庫通過模糊化規(guī)則提高了檢測模型的適應(yīng)性和檢測精度,但信念規(guī)則庫的選取是另一個需要解決的重要問題。
在WSN故障檢測中引入機(jī)器學(xué)習(xí)方法能夠提高精度和效率[11]。K近鄰法(K-nearest neighbor,KNN)是最基本的一類學(xué)習(xí)算法,簡單高效。此外,負(fù)選擇算法和支持向量機(jī)(supportvector machine,SVM)也常用于實現(xiàn)故障診斷[12]。也有學(xué)者結(jié)合進(jìn)化算法和機(jī)器學(xué)習(xí)方法,進(jìn)一步提高檢測精度[13\~17]。使用主成分分析對數(shù)據(jù)進(jìn)行降維[18,19]或者通過神經(jīng)網(wǎng)絡(luò)對故障進(jìn)行分類[20\~22]均能提高檢測性能。Goodge等人[23]使用樣本與其局部鄰域的距離,提出了一種新穎的基于圖神經(jīng)網(wǎng)絡(luò)的異常檢測方法(learnableunifiedneighbourhood-based anomalyranking,LUNAR),然而機(jī)器學(xué)習(xí)一般具有較高的計算和存儲成本,并且可能導(dǎo)致較高的檢測延遲。
為了解決這些問題,已有不少相關(guān)研究[24],如使用主成分分析并降維實現(xiàn)故障診斷[25,26]。邊緣計算[27]輕量級機(jī)器學(xué)習(xí)分類器[28]隔離森林(isolation forest,IForest)[29]和優(yōu)化的離群值檢測算法[30]也被提出,用于緩解高成本問題。但是這些改進(jìn)后的方法一般需要大量數(shù)據(jù)預(yù)訓(xùn)練,難以滿足WSN實時檢測的需求。
綜上所述,數(shù)據(jù)量過大會導(dǎo)致現(xiàn)有方案的可行性下降,而降低數(shù)據(jù)量會影響數(shù)據(jù)質(zhì)量,也會降低方案的可行性,因此需要從數(shù)據(jù)量過大以及數(shù)據(jù)質(zhì)量低兩個方面解決問題。本文提出了一種基于數(shù)據(jù)驅(qū)動的自適應(yīng)實時故障檢測框架(adaptivereal-timefaultdetectionframework,ARTFDF),通過劃分?jǐn)?shù)據(jù)為小數(shù)據(jù)集,并對數(shù)據(jù)進(jìn)行恢復(fù)以降低單次運行時的數(shù)據(jù)量并提高數(shù)據(jù)質(zhì)量,提高故障檢測性能的同時,滿足WSN故障檢測中的實時檢測需求。本文主要貢獻(xiàn)如下:
a)提出了WSN故障檢測框架,用于實時檢測WSN運行過程中的故障。b)提出了時間窗口數(shù)據(jù)集構(gòu)造算法,用于WSN故障檢測模型的訓(xùn)練,提高故障檢測精度。c)提出了故障檢測模型更新算法,利用數(shù)據(jù)的時間相關(guān)性更新檢測模型以提高故障檢測性能。d)基于WSN數(shù)據(jù)集,在不同的時間窗口下,將提出的框架與經(jīng)典故障檢測模型和最新的故障檢測模型進(jìn)行對比,驗證了提出框架的性能
1故障模型
從數(shù)據(jù)中心的角度可將WSN故障類型分為越界故障、增益故障、卡滯故障和偏移故障四類。設(shè)真實數(shù)據(jù)用 x 表示,傳感器讀數(shù)用 x′ 表示,正常工作時兩者關(guān)系可表示為 x′=x+η ,其中 η 為允許的感知誤差。故障分類如下:
a)越界故障:一系列檢測數(shù)據(jù)中幾個離散數(shù)據(jù)點明顯偏離預(yù)期數(shù)據(jù)的故障,原因可能是短期的電磁干擾等,表示為x′gt;θ1 or x′lt;θ2 ,其中 θ1 和 θ2 分別為預(yù)定義的上下界。b)增益故障:數(shù)據(jù)序列中感測數(shù)據(jù)的變化率與預(yù)期不匹配的故障??杀硎緸?x′=β×x+η ,其中 β 為增益系數(shù)。c)卡滯故障:傳感器數(shù)據(jù)恒定,不能對環(huán)境變化作出響應(yīng)??梢员硎緸?x′=α ,其中 α 為常量。d)偏移故障:從原始感測值中增加了確定性偏差。可表示為 x′=α+x+η ,其中 α 是常量,且 αgt;gt;η 。
2自適應(yīng)實時故障檢測框架
故障檢測框架分為三部分:第一部分是初始訓(xùn)練集的構(gòu)造,用于診斷模型的初始訓(xùn)練,算法運行在WSN初期,主要是為了解決WSN運行初期數(shù)據(jù)量不足的問題,并提高模型初始檢測性能,為后續(xù)故障檢測作準(zhǔn)備;第二部分是劃分時間窗口并收集數(shù)據(jù),使用故障檢測模型對窗口內(nèi)的數(shù)據(jù)進(jìn)行故障檢測,采用時間窗口的自的是減少傳感器的內(nèi)存消耗以及能量消耗,精簡數(shù)據(jù)集能夠有效減少傳感器的內(nèi)存消耗,并提高模型訓(xùn)練的速度和檢測的速度,同時窗口內(nèi)的數(shù)據(jù)將用于第三部分的故障檢測和恢復(fù);第三部分則是對故障檢測模型的更新,對時間窗口內(nèi)檢測結(jié)果中的數(shù)據(jù)進(jìn)行二次處理,處理后的數(shù)據(jù)則再次用于模型訓(xùn)練,用于下一個時間窗口診斷。利用WSN數(shù)據(jù)的時間相關(guān)性實現(xiàn)模型的動態(tài)更新。
2.1 時間窗口劃分
WSN中的數(shù)據(jù)量龐大,直接使用機(jī)器學(xué)習(xí)方法處理全部歷史數(shù)據(jù)的內(nèi)存消耗是巨大的,同時由于采集的數(shù)據(jù)是隨著時間和環(huán)境動態(tài)變化的,數(shù)據(jù)具有時效性,所以訓(xùn)練的模型會隨著時間失效。為了實時處理WSN的流數(shù)據(jù),需要對模型進(jìn)行不斷更新,考慮到WSN數(shù)據(jù)的時間相關(guān)性,可以對數(shù)據(jù)劃分時間窗口,傳感器只需要處理最后幾個時間窗口的數(shù)據(jù)序列即可,這樣能夠減少內(nèi)存消耗并節(jié)省開銷。
時間窗口的大小是需要確定的窗口,是指一定時間間隔內(nèi)數(shù)據(jù)集的大小。窗口過大會導(dǎo)致傳感器的內(nèi)存消耗過大,同時數(shù)據(jù)的時間相關(guān)性降低,故障診斷模型的訓(xùn)練時間也會增加。窗口過小則可能由于訓(xùn)練數(shù)據(jù)的不足導(dǎo)致診斷模型的檢測性能下降。
為了保證時間相關(guān)性,需要保證時間窗口的總時間間隔不能過長也不能過短。一個時間窗口的時間間隔表示為
其中: :tend?tfirst 分別表示時間窗口內(nèi)第一個數(shù)據(jù)的采集時間和最后一個數(shù)據(jù)的采集時間。時間間隔由WSN所處環(huán)境的特性決定(本文中取 1h.2h.3h) 。時間窗口的另一個決定參數(shù)是傳感器的采集間隔,采集間隔是一個由WSN功能以及用戶需求確定的參數(shù),用 Δt 表示。于是時間窗口的大小表示確定為
2.2訓(xùn)練數(shù)據(jù)集的構(gòu)造以及初始模型訓(xùn)練
傳感器初期運行時故障較少,此時WSN的數(shù)據(jù)量很少,大部分機(jī)器學(xué)習(xí)算法都無法正常運行,但WSN初期一般不會出現(xiàn)由于時間推移設(shè)備老化導(dǎo)致的偏移故障、增益故障等故障,此時越界故障占比較大,且分布相對分散,此時統(tǒng)計方法也能得到較高的故障檢測精度,可以使用統(tǒng)計的方法檢測故障并去除故障數(shù)據(jù),得到相對可靠的初始訓(xùn)練集,并用于后續(xù)模型訓(xùn)練。算法主要思想是:當(dāng)傳感器開始運行時,傳感器不斷采集傳感數(shù)據(jù),計算 k 個最鄰近數(shù)據(jù)的均值和標(biāo)準(zhǔn)差,根據(jù)均值和標(biāo)準(zhǔn)差設(shè)定檢測閾值區(qū)間,對于區(qū)間外的數(shù)據(jù)判定為故障數(shù)據(jù)直接丟棄,否則視為正常數(shù)據(jù)并放入初始訓(xùn)練集,直到初始訓(xùn)練集達(dá)到時間窗口的大小。然后使用該數(shù)據(jù)集訓(xùn)練故障檢測模型,用于后續(xù)故障檢測。故障檢測模型的選擇將在下一節(jié)介紹。
異法1嘆陣位側(cè)俁坐初始訓(xùn)練輸入:window_size, ko (202輸出:訓(xùn)練數(shù)據(jù)集TrainingDataset。while dataset_size lt; window_size//收集初始數(shù)據(jù)采集數(shù)據(jù)dataif(dataset_size
2.3故障檢測模型
在已有的故障檢測方法中,機(jī)器學(xué)習(xí)方法和神經(jīng)網(wǎng)絡(luò)具有更好的性能表現(xiàn),其中分類器的選擇是一個重要的問題,隔離森林IForest是一種具有普遍有效性且強(qiáng)大的可擴(kuò)展性分類器。相比其他分類器,其在非結(jié)構(gòu)化、基于特征的數(shù)據(jù)上具有強(qiáng)大的性能。但如果缺乏可訓(xùn)練的參數(shù),它難以適應(yīng)特定的數(shù)據(jù)集。其線性軸并聯(lián)隔離方法會導(dǎo)致無法檢測非線性可分?jǐn)?shù)據(jù)空間中難以隔離的異常。 Xu 等人[31]提出了深度隔離森林方法(deep isolationforest,DIF),將深度神經(jīng)網(wǎng)絡(luò)引入隔離森林,解決了隔離森林由于缺乏可訓(xùn)練的參數(shù)導(dǎo)致的嚴(yán)重的算法偏差問題,并提高了模型對特定數(shù)據(jù)集的適應(yīng)性。該模型具有較好的故障檢測性能,但難以直接應(yīng)用于實時故障檢測。本文以DIF作為基本故障檢測模型,在DIF的基礎(chǔ)上劃分時間窗□,使其能夠檢測流數(shù)據(jù),并利用歷史數(shù)據(jù)的信息對檢測結(jié)果進(jìn)行矯正,提高檢測的性能。
2.3.1基本故障檢測模型—DIF
本節(jié)簡要介紹DIF的工作原理。隔離森林在診斷WSN故障時效果較好,但由于其只允許線性分區(qū),其故障診斷范圍有限。基于此,DIF使用由無優(yōu)化神經(jīng)網(wǎng)絡(luò)生成的隨機(jī)表示集合,這些神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單的隨機(jī)初始化,使其在新空間的軸平行分區(qū)中形成有效的非線性切割。將原本在原始數(shù)據(jù)空間中不容易隔離的硬異常暴露出來,提高精確度,并且減少切割次數(shù),提高了檢測速度。其算法如下:
算法2deep isolation forest
輸入:待檢測數(shù)據(jù)集。
輸出:故障檢測結(jié)果。
利用神經(jīng)網(wǎng)絡(luò)對原始數(shù)據(jù)集隨機(jī)分區(qū),構(gòu)成新數(shù)據(jù)空間;
在新空間中不斷構(gòu)造隔離樹;
利用森林中樹的劃分次數(shù)對數(shù)據(jù)評分;
利用數(shù)據(jù)的異常評分以及異常比例篩選其中的故障并標(biāo)記。
2.3.2時間窗口劃分和檢測結(jié)果矯正
為了實時檢測故障,并且提高檢測的性能,需要按照式(2)對采集到的數(shù)據(jù)劃分時間窗口,并將最新的數(shù)據(jù)放入最后的時間窗口內(nèi),時間窗口 i 內(nèi)的數(shù)據(jù)序列可以表示為
由于時間窗口內(nèi)的數(shù)據(jù)較少,故障數(shù)據(jù)對故障檢測模型的精度影響會放大,特別是越界故障和增益故障,其會導(dǎo)致數(shù)據(jù)的波動變大,體現(xiàn)在數(shù)據(jù)的標(biāo)準(zhǔn)差增加。此類故障檢測可能被故障檢測模型漏報,同時此類故障的影響較大,若用此類漏報的數(shù)據(jù)訓(xùn)練故障檢測模型,會降低故障檢測模型后續(xù)的檢測精度。而卡滯故障和偏移故障類故障,由于對數(shù)據(jù)標(biāo)準(zhǔn)差和均值影響相對較小,用此類數(shù)據(jù)訓(xùn)練檢測模型并不一定會降低檢測精度。故需要設(shè)計算法找到漏報的越界故障和增益故障,修正它們的檢測結(jié)果。
設(shè)時間窗口 i 內(nèi)越界故障、增益故障數(shù)據(jù)序列為 Fi ,其余數(shù)據(jù)序列為 Ni ,有
Xi=Fi+Ni
問題即為找到數(shù)據(jù)序列 Fi 中盡可能多的數(shù)據(jù)。首先計算Xi 的總體均值:
由于該均值包括越界故障、增益故障數(shù)據(jù),相比正常數(shù)據(jù)的均值可能存在較大偏移,不能直接用于檢測故障數(shù)據(jù)。檢測故障數(shù)據(jù)需要找到序列 Ni 的均值。首先計算數(shù)據(jù)序列 Xi 與mean(Xi) 的差值序列并取絕對值:
DIFFi=|Xi-mean(Xi)∣
通過差值序列 DIFFi 可得每個數(shù)據(jù)偏離總體均值的程度,設(shè)窗口內(nèi)正常數(shù)據(jù)序列 Di 中正常數(shù)據(jù)的數(shù)量為 dn ,且滿足dngt; window_size/2(當(dāng)正常數(shù)據(jù)量小于總數(shù)據(jù)量一半時,數(shù)據(jù)已不可信,數(shù)據(jù)不具有檢測意義),有
Di?Ni
所以序列 Ni 的大小 L 滿足 。即序列DIFFi 中最小的一半數(shù)據(jù)至少有一半數(shù)據(jù)屬于 Ni 。取序列DIFFi 中最小的
項數(shù)據(jù)( α∈[0.5,1) ),這些數(shù)據(jù)對應(yīng)于原始數(shù)據(jù)序列 Xi 中的數(shù)據(jù)可以組成新的序列 NMi {mi,o,…,mi,j,,|,該序列中的數(shù)據(jù)偏離總體均值的程度最小,所以有
NMi?Ni
參數(shù) α 取決于故障比例,故障比例越高, α 越低,需要小于實際的故障比例,本文取0.5。計算序列 NMi 的均值:
由于該序列中不包含越界故障、增益故障等對均值影響較
大的數(shù)據(jù),可近似認(rèn)為
mean(Ni)≈mean(NMi)
即求得序列 Ni 的均值。此外,考慮到故障的檢測以及恢復(fù),標(biāo)準(zhǔn)差也需要計算:
此標(biāo)準(zhǔn)差是用數(shù)據(jù)序列 Xi 而不是數(shù)據(jù)序列 NMi 計算,這是因為判斷故障需要所有數(shù)據(jù)的波動信息,而序列 NMi 不包括越界故障等故障的信息。
當(dāng)某個預(yù)測為正常的數(shù)據(jù)滿足條件:
表示該數(shù)據(jù)超過了正常范圍。極有可能是漏報數(shù)據(jù),此時對數(shù)據(jù)檢測結(jié)果進(jìn)行糾正,將其判斷為故障數(shù)據(jù),并參與后續(xù)的故障數(shù)據(jù)恢復(fù)。式中 βgt;1 為確定的參數(shù),用于控制觸發(fā)檢測結(jié)果糾正的上下界(本文中 β=3 )。
2.3.3故障數(shù)據(jù)恢復(fù)以及故障檢測模型更新
為了提高下一個時間窗口的故障檢測精度,需要利用數(shù)據(jù)的時間相關(guān)性更新模型,可以使用當(dāng)前時間窗口的數(shù)據(jù)對故障診斷模型進(jìn)行再訓(xùn)練。在模型初始訓(xùn)練階段,可以直接拋棄異常數(shù)據(jù)并通過收集新數(shù)據(jù)得到較好的訓(xùn)練集。但不能在模型正式運行階段,這是因為隨著時間的推移,傳感網(wǎng)中各種類型的故障均有可能出現(xiàn),丟棄正常數(shù)據(jù)而保留故障數(shù)據(jù)的可能性增加,訓(xùn)練集的穩(wěn)定性無法保證。同時隨時間增加的故障率會導(dǎo)致有效數(shù)據(jù)收集的效率降低,收集有效數(shù)據(jù)需要更多的時間,從而導(dǎo)致故障檢測的延遲增大。一種較好的方式是通過數(shù)據(jù)插值對故障數(shù)據(jù)進(jìn)行恢復(fù)。
常用的插值方法有線性插值、最鄰近插值、拉格朗日插值和牛頓插值等。其中線性插值、最鄰近插值數(shù)據(jù)不夠平滑,誤差可能較大。拉格朗日插值和牛頓插值方法的穩(wěn)定性相對較差,出現(xiàn)過擬合時會導(dǎo)致數(shù)據(jù)可信度急劇降低。而三次樣條插值(cubicspline interpolation)在整個數(shù)據(jù)范圍內(nèi)建立一系列三次多項式,使每個多項式在自己的區(qū)間內(nèi)精確通過數(shù)據(jù)點,并強(qiáng)制相鄰多項式的二階導(dǎo)數(shù)連續(xù),導(dǎo)致其插值結(jié)果光滑,能夠很好地適應(yīng)數(shù)據(jù)的形狀變化,避免了其他可能出現(xiàn)的振蕩現(xiàn)象,在WSN這類時間相關(guān)的數(shù)據(jù)序列中表現(xiàn)較好。所以本文選用三次樣條插值對故障數(shù)據(jù)進(jìn)行恢復(fù)。
三次樣條插值的關(guān)鍵在于構(gòu)造一系列三次多項式,將數(shù)據(jù)區(qū)間劃分為多個小區(qū)間,并在每個小區(qū)間內(nèi)構(gòu)建一個三次多項式,這些多項式在各自區(qū)間內(nèi)部精確經(jīng)過已知數(shù)據(jù)點,并且在區(qū)間邊界點處使各個多項式的二階導(dǎo)數(shù)連續(xù)(確保曲線的光滑性)。具體步驟如下:
使用當(dāng)前時間窗口 χi 內(nèi)被預(yù)測為正常數(shù)據(jù)的 ?m 個離散的數(shù)據(jù)點:
(t0,d0),…,(tm,dm)
其中:數(shù)據(jù) di∈Ni,ti 為數(shù)據(jù) di 對應(yīng)的采集時間。然后對整個數(shù)據(jù)區(qū)間分段,將數(shù)據(jù)區(qū)間按時間劃分為 m-1 個區(qū)間:
[t0,t1],[t1,t2],…,[tm-1,tm]
構(gòu)建多項式:對于每個區(qū)間 [ti-1,ti] 構(gòu)造一個三次多項式Si(x) ,要求多項式在區(qū)間端點滿足:
Si(ti-1)=di-1
Si(ti)=di
式(15)(16)分別表示強(qiáng)制多項式通過區(qū)間左側(cè)數(shù)據(jù)點和通過右側(cè)數(shù)據(jù)點,并給出連續(xù)性條件:相鄰多項式的二階導(dǎo)數(shù)在共享邊界點上需相等,即
式(17)(18)分別為多項式的一階、二階導(dǎo)數(shù)連續(xù)。
根據(jù)上述條件,可以列出一個關(guān)于各段三次多項式系數(shù)的線性方程組。通過求解線性系統(tǒng)可以獲得所有三次多項式的系數(shù),可以解得 m-1 個局部三次多項式
Si(x)=ai+bi×x+ci×x2+di×x3i∈[2,m]
將時間窗口內(nèi)被預(yù)測為故障數(shù)據(jù)的時間代入多項式可計算得 χt 時刻數(shù)據(jù)的值為
使用 d 替換原來的故障值。所有故障數(shù)據(jù)均使用插值替換后得到新的數(shù)據(jù)集,這個數(shù)據(jù)集僅由被預(yù)測為正常的數(shù)據(jù)和插補(bǔ)數(shù)據(jù)組成,使用該數(shù)據(jù)集對模型進(jìn)行再訓(xùn)練即可實現(xiàn)模型的更新。更新后的模型用于檢測下一個時間窗口的數(shù)據(jù)。
2.4框架總體流程
綜上所述,算法總體流程可總結(jié)如圖1所示。
算法3ARTFDF輸入:感知數(shù)據(jù)集;參數(shù) α,β,kc 輸出:正常數(shù)據(jù)集、故障數(shù)據(jù)集、恢復(fù)數(shù)據(jù)集。使用算法1構(gòu)造初始數(shù)據(jù)集 DataSet 并訓(xùn)練故障檢測模型;whilehasNextWindow 11 數(shù)據(jù)待處理使用DIF檢測得到FaultDataSet和NormalDataSet計算 mean(NMi) 和 std(Xi) withNormalDataSetforeachdatainNormalDataSet 11 處理正常數(shù)據(jù)if data i)-std(Xi) (20號or data gt;mean(NMi)+std(Xi); //數(shù)據(jù)異常NormalDataSet σ=σ NormalDataSet\data}FalutDataSet FalutDataSet U {data} end ifend for使用NormalDataSet和式(13) ~ (18)計算得到式(19)對FaultDataSet每個數(shù)據(jù)插值得到FaultDataSet'(式(20)DataSet Ψ=Ψ NormalDataSetUFalutDataSet'//合并數(shù)據(jù)集使用DataSet'訓(xùn)練檢測模型endwhile其中,F(xiàn)aultDataSet和NormalDataSet分別表示故障婁正常數(shù)據(jù)集,DataSet'為所有數(shù)據(jù)的集合。
2.5 時間復(fù)雜度分析
算法1處理數(shù)據(jù)時僅對采集數(shù)據(jù)進(jìn)行線性遍歷,即時間復(fù)雜度僅與window_size相關(guān)(記為 ws ),設(shè)為 O(ws) ,算法2為基于模型的DIF,時間復(fù)雜度約為 O(T×n×d) ,其中 T 是模型訓(xùn)練的迭代次數(shù), Ω,n 是樣本總數(shù)量, d 是特征數(shù)量。算法3在時間窗口數(shù)據(jù)集上使用算法2,修改樣本數(shù)量 n 為窗口大小 ws ,故時間復(fù)雜度為 O(T×ws×d) 。故單個窗口內(nèi)綜合時間復(fù)雜度為
O(T×ws×d+ws)≈O(T×ws×d)
在整個數(shù)據(jù)集上的時間復(fù)雜度為
O((n/ws)×(T×ws×d))=O(T×n×d)
綜上可知,相比原基礎(chǔ)模型,提出的框架總體時間復(fù)雜度并未增加,但由于 n 為確定的數(shù),且 wslt;
3實驗結(jié)果與討論
本章通過實驗驗證了提出框架的有效性。實驗基于WSN真實數(shù)據(jù)集,在不同時間窗口以及不同的故障率下將提出的框架與KNN、IForest和LUNAR在不同性能指標(biāo)下進(jìn)行對比。
3.1 數(shù)據(jù)集
本研究使用的原始數(shù)據(jù)集來自北卡羅來納大學(xué)格林斯博羅分校的研究人員于2010年發(fā)布的現(xiàn)有數(shù)據(jù)集[32]。該數(shù)據(jù)集使用TelosBmotes從簡單的單跳和多跳WSN收集數(shù)據(jù)。數(shù)據(jù)包括濕度和溫度測量值,每5s測量一次,持續(xù) 6h 研究人員使用熱水蒸汽來增加濕度和溫度,并且引入環(huán)境變化事件,增加了數(shù)據(jù)的可變性。
數(shù)據(jù)集的每個觀測值包括三個連續(xù)實例,對于每個實例都包含兩個溫度測量值和兩個濕度測量值。數(shù)據(jù)集包括四種故障類型(增益故障、偏移故障、卡滯故障以及越界故障),以及多種故障率,本文將對常見的三種故障率 (10%,20%,30%) 進(jìn)行實驗。
3.2 指標(biāo)
本文使用檢測精度、漏報率以及精準(zhǔn)率對提出的框架進(jìn)行評價。
檢測精度:即預(yù)測正確的樣本占總體樣本的比例,其值越大模型性能越好,表示為
其中: TP 為正類預(yù)測為正類數(shù)的個數(shù); TN 為負(fù)類預(yù)測為負(fù)類數(shù)的個數(shù); FP 為負(fù)類預(yù)測為正類數(shù)誤報的個數(shù); FN 為正類預(yù)測為負(fù)類漏報的個數(shù)。
漏報率:錯誤數(shù)據(jù)被預(yù)測為正確數(shù)據(jù)的樣本比例,其值越小模型性能越好,表示為
精準(zhǔn)率:預(yù)測結(jié)果為正例的樣本中實際為正樣本的比例,其值越大模型性能越好,表示為
3.3 實驗與分析
為了檢驗動態(tài)環(huán)境下不同模型的性能,需要對數(shù)據(jù)集進(jìn)行時間窗口限制??紤]到真實世界的時間相關(guān)性,數(shù)據(jù)采集總時間長度分別選取3 ;h,2h,1h 作為測試基準(zhǔn)。實驗所用數(shù)據(jù)集是每5s采集一次數(shù)據(jù),根據(jù)式(2)可以計算時間窗口大小。計算可知時間窗口大小分別為2160、1440以及720。接下來將在三種時間窗口的條件下對不同模型進(jìn)行實驗對比。
3.3.1 窗口大小—2160
時間窗口為2160(3h)時,各算法在不同故障率下表現(xiàn)對比如圖2\~4所示。由數(shù)據(jù)可知,對于越界故障、增益故障數(shù)據(jù)集,在不同的故障率下,故障檢測的準(zhǔn)確度和精確度均有較大提升,漏報率顯著降低,并且隨著故障率的上升,模型的性能下降趨勢更慢,這是因為提出的算法能夠有效檢測故障特征較為明顯但卻被分類器漏檢的數(shù)據(jù),降低了漏檢數(shù)據(jù)的數(shù)量。同時數(shù)據(jù)修補(bǔ)算法提高了訓(xùn)練數(shù)據(jù)集的質(zhì)量,從而提高了模型的檢測精度。
對于偏移故障、卡滯故障,由于此類故障數(shù)據(jù)的故障特征不明顯,分類器難以檢測的故障往往其他方法也難以檢測,漏檢率性能提升有限,但得益于故障修補(bǔ)算法,檢測模型自身的檢測得到了提高,所以準(zhǔn)確度和精確度均有所提高,漏檢率有所降低。相比其他模型,總體性能仍然更好。
3.3.2 窗口大小—1440
時間窗口設(shè)置為1440(2h)時,各算法在不同故障率下表現(xiàn)對比如圖5\~7所示。隨著時間窗口的縮小,由于數(shù)據(jù)的時間相關(guān)性更強(qiáng),各類模型的性能均有所提高,本文提出的框架由于能夠有效降低漏報數(shù)據(jù)量,提高檢測精度的同時還能提高模型本身的性能,所以總體性能提升相對更大,表明框架比其他模型更加適合時間序列數(shù)據(jù)檢測。不過在高故障率情況下,對卡滯故障的檢測效率有所降低,這是因為對于特征不明顯的數(shù)據(jù),隨著故障率的提高,數(shù)據(jù)的修補(bǔ)難度增加,框架的性能提升幅度會降低,但總體性能仍高于其他模型。
3.3.3 窗口大小—720
當(dāng)時間窗口進(jìn)一步減少到720時,數(shù)據(jù)的時間相關(guān)性進(jìn)一步加強(qiáng)。由圖8\~10可知,在總體性能上,相比其他模型,框架仍能保持一定的性能優(yōu)勢,在檢測精度上,提出的框架仍有較好的表現(xiàn),高故障率下也能保證較好的檢測精度,同時虛警率也有效降低。
在精確率方面,偏移故障數(shù)據(jù)集集上表現(xiàn)較好。在增益故障和越界故障數(shù)據(jù)集上故障率為0.1時性能略有提升,故障率為0.2時性能略有降低,在故障率較高為0.3時,增益故障、越界故障和卡滯故障數(shù)據(jù)集上表現(xiàn)均有所降低,這是因為短時間窗口下,高故障會導(dǎo)致數(shù)據(jù)的修補(bǔ)效果更差甚至失效,但故障的再檢測機(jī)制仍在運行,能夠有效降低漏報率,雖然也會一定程度降低精確率,但這是值得的,這是因為在大部分情況下,漏報率更能影響事件的處理,更加重要。
3.4 實驗結(jié)論
由上述不同時間窗口下的實驗可知,當(dāng)傳感器計算能力和內(nèi)存受限時,相比其他模型,提出的框架具有更加高效的故障檢測性能。即使在可使用的數(shù)據(jù)量較少以及故障率較高時,提出的框架也優(yōu)于同類模型,并且能夠有效減少漏報的故障數(shù),提高了網(wǎng)絡(luò)的安全性。由于數(shù)據(jù)集的窗口劃分處理方式,而不是一次性使用所有數(shù)據(jù)進(jìn)行故障檢測,使得故障檢測更加接近真實傳感器運行環(huán)境,能夠更好地適應(yīng)故障的在線檢測。
4結(jié)束語
為了實時檢測WSN數(shù)據(jù)中的故障,并提高故障檢測的精度,本文提出了一種數(shù)據(jù)驅(qū)動的故障檢測框架??蚣芡ㄟ^初始訓(xùn)練集的構(gòu)建并對檢測模型進(jìn)行訓(xùn)練提高了網(wǎng)絡(luò)運行初期的故障檢測精度。然后通過劃分時間窗口以及改進(jìn)現(xiàn)有故障檢測模型實現(xiàn)了故障的實時檢測。最后通過對故障數(shù)據(jù)的恢復(fù)并使用恢復(fù)后的數(shù)據(jù)對故障檢測模型更新提高了故障檢測模型的性能。實驗結(jié)果表明,提出的框架能夠有效檢測流數(shù)據(jù)中的故障數(shù)據(jù),相比現(xiàn)有的故障檢測模型具有更高的檢測精度以及更低的漏報率,綜合性能更好。
此外,在實驗中發(fā)現(xiàn)不同的插值方法對檢測結(jié)果有較大影響,插值方法的選擇和實際數(shù)據(jù)集存在關(guān)聯(lián)性,因此,如何設(shè)計更貼合數(shù)據(jù)的插值方法是下一步的研究方向。
參考文獻(xiàn):
[1]Chander B,Kumaravelan G. Outlier detection strategies for WSNs:a survey[J]. Journal of King Saud University-Computer and Information Sciences,2022,34(8): 5684-5707.
[2]Zhang Tianyu,Zhao Qian,Shin Y,et al.An unsupervised local outlier detection method for wireless sensor networks [J]. International Journal of Advanced Computer Science and Applications, 2017,8(8):386-393.
[3]Swain RR,Dash T,Khilar PM.Lightweight approach to automated faultdiagnosis in WSNs[J]. Institution of Engineering and Technology Networks,2020,9(3):110-119.
[4]Swain RR,Khilar PM,Dash T.Fault diagnosis and its prediction in wireless sensor networks using regressional learning to achieve fault tolerance [J]. International Journal of Communication Systems, 2018,31(14):1-17.
[5].Jia Shuang,Ma Lin,Qin Danyang.Fault detection modeling and analysis in a wireless sensor network [J].Sensors,2018,2018 (1): 1-9.
[6]Masdari M,Ozdemir S. Towards coverage-aware fuzzy logic-based faulty node detection in heterogeneous wireless sensor networks [J]. Wireless Personal Communications,2020,2020(11):581- 610.
[7]He Wei,Qiao Peili,Zhou Zhijie,et al.A new belief-rule-based method for fault diagnosis ofwirelesssensor network[J]. IEEEAccess,2018,2018(6):9404-9419.
[8]WangNa,WangJiacun,ChenXuemin.A trust-based formal model forfault detectionin wirelesssensor networks[J].Sensors,2019, 19(8):1-20.
[9]JavaidA,JavaidN,WadudZ,etal.Machine learningalgorithmsand fault detection for improved belief function based decision fusion in wireless sensor networks[J].Sensors,2019,19(6):1-28.
[10]Sun Guowen, Xiang Gang,He Wei,et al. A WSN node fault diagnosis model based on BRB with self-adaptive quality factor[J].Computers,Materialsamp; Continua,2023,75(1):1157-1177.
[11]JanSU,LeeYD,KooIS.Adistributed sensor-faultdetectionand diagnosis framework using machine learning[J]. Information Sciences,2021,2021(547):777-796.
[12]Mohapatra S,Khilar P M.Fault diagnosis in wireless sensor network using negative selection algorithm and support vector machine[J]. Computational Intelligence,2020,36(3):1374-1393.
[13]Gupta D,Sundaram S,Khanna A,et al.An improved fault detection crow search algorithm for wireless sensor network [J].Communication Systems,2023,36(12):1-12.
[14]Karmarkar A,Chanak P,Kumar N. An optimized SVM based fault diagnosis scheme for wireless sensor networks [C]/′ Proc of IEEE International Students’Conference on Electrical,Electronicsand Computer Science. Piscataway,NJ:IEEE Press,2020:1-7.
[15]Dao TK,Nguyen T T,Pan JS,et al.Identification failure data for SVM[J]. IEEE Access,2020,2020(8):61070-61084.
[16]Fan Fang,Chu Shuchuan,PanJS,et al.An optimized machine learning technology scheme and itsapplication in fault detection in wireless sensor networks [J]. Journal of Applied Statistics,2021, 50(3):592-609.
[17]Gui Weixia,Lu Qian,Su Meili,et al.Wireless sensor network fault sensor recognition algorithm based on MM* diagnostic model[J]. IEEE Access,2020,2020(8):127084-127093.
[18]Gaddam A,Wilkin T,Angelova M,et al.Detecting sensor faults, anomalies and outliers in the Internet of things:a survey on the challenges and solutions[J]. Electronics,2020,9(3):1-15.
[19]Mohamed B,Abdou E K T,Jorge H T,et al. Towards an accurate faults detection approach in Internet of medical things using advanced machine learning techniques [J]. Sensors,2022,22(15):1-14.
[20]Swain RR,Khilar PM,Dash T.Multifault diagnosis in WSN using a hybrid metaheuristic trained neural network[J]. Digital Communications and Networks,2020,6(1) : 86-100.
[21]Mario M O.Outlier detection in wearable sensor data for human activity recognition(HAR)based on DRNNs[J]. IEEE Access, 2019,2019(7) : 74422-74436.
[22]Emperuman M, Chandrasekaran S. Hybridcontinuous density HMMbased ensemble neural networks for sensor fault detection and classification in wireless sensor network[J]. Sensors,2020,20(3):1- 24.
[23] Goodge A, Hoo B, Ng S K,et al. LUNAR: unifying local outlier detection methods via graph neural networks[C]//Proc of AAAI Conference on Artificial Intelligence.Palo Alto,CA:AAAI Press,2022: 6737-6745.
[24]Safaei M,Ismail A S,Chizari H,et al. Standalone noise and anomaly detection in wireless sensor networks:a novel time-series and adaptive Bayesian-network-based approach[J].Software,2020,50(4): 428-446.
[25] Sun Qiaoyan,Sun Yumei,Liu Xuejiao,et al. Study on fault diagnosis algorithm in WSN nodes based on RPCA model and SVDD for multiclass classfication[J].Cluster Computing,2019,2019(22): 6043-6057.
[26]Poornima G A,Paramasivan B.Anomaly detection in wireless sensor network using machine learning algorithm [J]. Computer Communications,2020,2020(151):331-337.
[27]Bharti S,Pattanaik KK,Pandey A.Contextual outlier detection for wireless sensor networks [J]. Ambient Intelligence and Humanized Computing,2020,2020(11): 1511-1530.
[28] Saeed U,LeeYD,Jan S U,et al. CAFD: context-aware fault diagnostic scheme towards sensor faults utilizing machine learning [J]. Sensors,2021,21(2):1-15.
[29]Liu F,Ting K M, Zhou Zhihua,et al.Isolation forest[C]//Proc of the8th IEEE International Conference on Data Mining.Piscataway, NJ:IEEE Press,2008:413-422.
[30]Cheng Hua,SchaefferRD,Liao Yuxing,et al.ECOD:an evolutionary classification of protein domains [J].PLoS Computational Biology,2014,10(12):1-18.
[31]Xu Hongzuo,Pang Guansong,Wang Yongjun,et al.Deep isolation forest for anomaly detection [J]. IEEE Trans on Knowledge and Data Engineering,2022,2020(35):12591-12604.
[32]Shan S,Mohammed A,Sutharshan R,et al.Labelled data collection for anomaly detection in wireless sensor networks[C]//Proc of the 6th International Conference on Intelligent Sensors,Sensor Networks and Information Processing. 2010. 269-274.