趙 嬌
(綿陽職業(yè)技術學院電子與信息學院,四川 綿陽 621000)
將傳感器節(jié)點分布在目標范圍中,利用節(jié)點收集的周邊環(huán)境參數(shù)[1],能有效挖掘自然環(huán)境內的突發(fā)事件和傳感器網絡的運行狀態(tài)。高維傳感器數(shù)據流具有數(shù)據量大、無法準確估測的特點,為增強無線傳感網絡的可靠性,對其采集的傳感器數(shù)據實施異常檢測變得格外重要[2]。和處理一般低維數(shù)據不同,高維數(shù)據處理具有更高的時間復雜度[3],異常檢測時會面臨極大挑戰(zhàn)。
相關學者對此問題的研究內容如下:神顯豪等[4]在歸一化處理數(shù)據后,將其擬作卷積神經網絡輸入值,改進卷積層特征面與全連接層參數(shù),通過卷積層學習異常數(shù)據特征。此方法在數(shù)據量采集時需要消耗大量時間,無法完成實時檢測預期目標。席亮等[5]使用無向圖結構提取樣本關聯(lián)特征,利用雙路自編碼器融合樣本初始特征和關聯(lián)特征,提出基于高斯混合模型的估計網絡,通過閾值計算實現(xiàn)數(shù)據異常檢測。但方法融合樣本特征時沒有消除冗余數(shù)據,異常檢測結果精度不高。Kim D 等[6]提出無監(jiān)督異常檢測方法,該方法使用來自船用發(fā)動機的傳感器流來檢測異常系統(tǒng)行為,基于集成的異常檢測方法,并行訓練幾個具有不同超參數(shù)的異常檢測器,然后在異常檢測階段組合其結果。該方法的準確性較高,但耗時較長。
針對上述方法存在的問題,提出一種基于使用層次結構的平衡迭代約簡和聚類(Balanced Iterative Reducing and Clustering using Hierarchies,BIRCH)的高維傳感器數(shù)據異常檢測方案。使用線性回歸法采集高維傳感器數(shù)據并實施歸一化處理,通過BIRCH聚類分析數(shù)據屬性特征,將傳感器數(shù)據序列轉變成球形簇單元,獲得高質量異常檢測結果。
高維傳感器數(shù)據采集即傳感器從待測目標環(huán)境中得到數(shù)據并安置在節(jié)點存儲器內,節(jié)點處理器利用某種方法在存儲器中獲取數(shù)據的流程。具體來說,數(shù)據采集就是在節(jié)點處理器傳遞采集指令后,智能傳感器板塊接收采集指令并實施采集工作。在此過程中,使用線性回歸法采集數(shù)據,經過如下:
部署于監(jiān)控區(qū)域的傳感器節(jié)點,可按照節(jié)點信息的關聯(lián)性分割為多個簇,并假設處于相同簇內的兩個隨機節(jié)點數(shù)據為顯著線性關聯(lián)。設定傳感器網絡一個簇中涵蓋i個節(jié)點,每個節(jié)點同時采集,采集獲得長度是N的信號矢量,則節(jié)點相對的一階差分信號序列為:
式中,xi(k)代表節(jié)點i第k個時段的信號,Δxi(k)表示節(jié)點i第k個時段的一階差分信號。
若節(jié)點i、j為處在相同簇的節(jié)點,因相同簇內隨機兩個節(jié)點的數(shù)據為顯著線性關聯(lián),節(jié)點j的一階差分信號序列和節(jié)點i的完全相等,記作:
式中,α0、α1均表示回歸指數(shù),b是節(jié)點元素順從均值為0 的高斯分布。
節(jié)點i使用等間隔策略[7]采集高維傳感器數(shù)據,將采集后的信號矢量xi通過多跳路由傳輸?shù)骄W關節(jié)點,使用高斯隨機矩陣Φ投影節(jié)點j的一階差分信號,計算公式為:
式中,zj是針對采集值組成的矢量。
倘若處于監(jiān)控范圍的傳感器節(jié)點數(shù)量為B,則網關節(jié)點接收的數(shù)據可采用N×B矩陣來描述:
矩陣X的各列代表一個傳感器節(jié)點采集獲取的信號矢量,矩陣X的各行代表全部傳感器節(jié)點相同時段采集值組成的信號矢量。網關節(jié)點接收到數(shù)據后,可得到隨機兩個節(jié)點間的相關指數(shù)[8],記作:
為驗證節(jié)點i、j之間是否存在線性關聯(lián),使用樣本的相關指數(shù)dij創(chuàng)建一個驗證統(tǒng)計指標:
使用平均相關度衡量節(jié)點i和多個節(jié)點集合D={d1,d2,…,dn}的相關程度:
將節(jié)點i、j依次劃分至2 個簇內,空間相關性強的傳感器節(jié)點被分割在相同簇中,執(zhí)行以上步驟就能夠將一個規(guī)模較大的簇分割成若干個小簇,直至各個簇中節(jié)點之間符合相關性需求為止,以此完成高維傳感器數(shù)據采集任務。
采集傳感器節(jié)點數(shù)據后,通常會對數(shù)據實施預處理,預處理涵蓋數(shù)據清洗、特征提取、歸一化等操作。歸一化是數(shù)據分析領域中的核心技術,能去除特征屬性之間的量綱影響,本文使用分割點選擇與區(qū)間標準化兩個步驟完成傳感器數(shù)據歸一化處理[9]。
利用分割點預設獲取傳感器數(shù)據特征屬性內的u-1 個候選分割點,利用式(8)推算候選分割點聯(lián)合信息增益,信息增益最大值所對應的分割點為最佳分割點,提升歸一化整體質量。
式中,γ表示信息增益系數(shù),H′()是連續(xù)特征屬性tx分割前的數(shù)據集信息熵,η是某數(shù)據集在全部數(shù)據集中的占比,H′(|left)是分割點左側信息熵,H′(|right)為分割點右側信息熵。
對傳感器網絡異常數(shù)據的不同屬性特征實施標準化,記作:
式中,f是離散值,K(Q)是數(shù)據信息熵,K(Q|f)代表離散值是f時,數(shù)據集類型的條件熵。
選取分割點后,使用式(10)進行區(qū)間變換[10],完成數(shù)據歸一化全過程。
完成相關數(shù)據采集與處理工作后,將高維傳感器數(shù)據時間序列分割成多個時序組合,挑選出傳感器數(shù)據序列的孤立異常值[11],同時在檢測時剔除初始篩查異常中涵蓋的正常數(shù)據,得到所有異常數(shù)據。傳感器數(shù)據內的顯性異常一般在時間序列的離心邊緣,運用分層聚類策略研究數(shù)據性質,以最快速率挖掘異常數(shù)據。
高維傳感器異常值通常為極大異常和極小異常,傳感器數(shù)據序列較高的觀測值證明數(shù)據內存在異?,F(xiàn)象,較低的觀測值為正常數(shù)據。極大異常對分割小型數(shù)據集合的數(shù)據擾動較大,但中位數(shù)不會受到分布數(shù)列的極值影響,更能呈現(xiàn)小型集合的數(shù)據特點。將傳感器數(shù)據序列的中位數(shù)異常作為異常檢測的判定條件,計算過程為:
式中,Wlmp表示第m個子集內隨機p點的觀測值,MI(wlm)是第m個子集的中位數(shù)。若p點的觀測值高于中位數(shù),則傳感器節(jié)點數(shù)據存在異常;反之無異?,F(xiàn)象發(fā)生。
為實現(xiàn)準確快速的高維傳感器數(shù)據異常檢測目標,提出基于BIRCH 聚類[12]的高維傳感器數(shù)據異常檢測方法。BIRCH 算法僅需一次掃描數(shù)據集即可達到聚類目標,聚類特征(Clustering Feature,CF)與聚類特征樹(CF 樹)是該算法最為重要的計算步驟。
BIRCH 算法通過CF 描述不同節(jié)點簇的數(shù)據,假設某個簇內涵蓋F個N維數(shù)據點,此簇的聚類特征被設定為如下三元組:
式中,F(xiàn)是此簇內數(shù)據點的總和,LC 表示數(shù)據點的線性總和,SST 為數(shù)據點的平方和。
CF 樹保存了不同層次的聚類簇特征,是一棵高度平衡樹,CF 樹內包含根節(jié)點、枝節(jié)點與葉節(jié)點,樹的各節(jié)點是通過多個聚類特征構成。
將傳感器數(shù)據序列Wl分割成P個簇:
式中,wli表示簇內的因子,wlij是第i個簇的第j個觀測值。
進一步拓展式(12),將線性總和與平方和分別記作:
CF 樹內含三個參數(shù),依次為內部節(jié)點均衡因子B′、葉節(jié)點均衡因子L′與簇半徑臨界值R。第g個特征樹節(jié)點被定義成CFTg,如式(17)所示。
式中,H表示子節(jié)點最大值,CFi是特征節(jié)點第i個聚類屬性,Childi代表當前節(jié)點的下個子節(jié)點。
將簇半徑臨界值R表示為:
通常情況下,數(shù)據聚類的結果被展現(xiàn)為球形簇狀架構,球形簇表示在數(shù)據空間內的s個數(shù)據因素勻稱分布且呈球狀。但高維傳感器數(shù)據序列無球形簇特征,因此要將其變換為球狀計算形式,創(chuàng)建中時特征矢量概念,將傳感器數(shù)據序列變換為球形簇單元,變換過程如式(19)~式(21)所示,進而輸出準確的異常檢測結果。
式中,表示第i個聚類內第j個因素相對的方位角,J為聚類簇內的因素總和,是球形簇的質心,為簇半徑,即時間序列子集內的觀測值,Wlij是傳感器時序內各數(shù)據的特征矢量,由時序值wlij、簇質心與方位角共同構成。
綜上可得,基于BIRCH 聚類算法的高維傳感器數(shù)據異常檢測流程圖如圖1 所示。
圖1 基于BIRCH 聚類算法的高維傳感器數(shù)據異常檢測流程圖
分析圖1 可知,通于BIRCH 聚類算法中的聚類特征樹描述不同節(jié)點簇的數(shù)據,獲取CF 樹內部節(jié)點均衡因子、葉節(jié)點均衡因子與簇半徑臨界值。將高維傳感器數(shù)據序列變換為球狀計算形式,實現(xiàn)高維傳感器數(shù)據序列均勻分布,再將傳感器數(shù)據序列的中位數(shù)異常作為異常檢測的判定條件,通過分層聚類挖掘異常數(shù)據,實現(xiàn)準確的高維傳感器數(shù)據異常檢測。
為驗證本文方法的有效性,設計高維傳感器數(shù)據異常檢測仿真實驗。仿真平臺為MATLAB R2010a,對比方法為文獻[4]方法、文獻[5]方法及文獻[6]方法。設網絡簇首壓縮比是0.3,節(jié)點分布范圍為300 m×700 m 的矩形區(qū)域,匯聚節(jié)點坐標是(150 m,350 m),實驗參數(shù)設定如表1 所示。
表1 傳感網絡仿真實驗參數(shù)
實驗采用車聯(lián)網高維數(shù)據M1,人工設定故障節(jié)點與誤差節(jié)點數(shù)據集,讓故障節(jié)點數(shù)據在較長時段內維持不變,誤差節(jié)點數(shù)據保持變化并和相同采集時間的正常節(jié)點數(shù)據有顯著偏差。為直觀展現(xiàn)方法對異常數(shù)據檢測的性能優(yōu)劣,從檢出率、誤報率、檢測時間三個方面在不同數(shù)據規(guī)模下進行測驗。檢出率是方法準確評估異常節(jié)點的概率,計算過程為:
式中,C表示檢測輸出的異常節(jié)點個數(shù),r是異常節(jié)點的實際數(shù)量。
誤報率是正常節(jié)點被判斷成異常節(jié)點的數(shù)量和傳感網絡正常節(jié)點的比值,記作:
式中,S′是無線傳感網絡的全部節(jié)點,A′表示異常節(jié)點數(shù)量。
將節(jié)點異常概率作為檢出率與誤報率的衡量指標,從現(xiàn)實意義而言,在保證無線傳感網絡正常使用前提下,節(jié)點異常概率值通常為10%~30%。四種方法伴隨節(jié)點異常概率變化得到的異常數(shù)據檢出率結果如圖2 所示。
圖2 四種方法異常檢測的檢出率對比
從圖2 看出,隨著節(jié)點異常率的持續(xù)升高,四種方法均不同程度出現(xiàn)檢出率下降趨勢,在節(jié)點異常概率為30%時,本文方法的異常檢出率為95%,高于文獻方法,證明其受到外部節(jié)點異常干擾的影響較小,計算穩(wěn)定性強。
圖3 為四種方法異常檢測誤報率對比。
圖3 四種方法異常檢測的誤報率對比
觀察圖3 可知,隨著節(jié)點異常概率的增多,誤報率也隨之升高,本文方法誤報率最小,最終穩(wěn)定在0.35%。文獻[4]方法在卷積層學習時會產生一定數(shù)量邊緣節(jié)點,并將部分邊緣點誤報成異常值,導致其誤報率偏高。文獻[5]方法利用無向圖結構提取樣本關聯(lián)特征時,沒有考慮樣本時間序列特征,無法完成預期檢測精度。文獻[6]方法的誤報率相對較低,但仍高于本文方法。
圖4 為四種方法異常檢測時長對比的仿真結果,實驗次數(shù)為1 000 次,每200 次記錄一次數(shù)據。
圖4 四種方法異常檢測耗時對比
從圖4 能夠看出,相同實驗環(huán)境下,當數(shù)據量達到1 000 Mbyte 時,本文方法耗時為1.5 min,低于文獻對比方法。分析其原因為,本文方法通過分割點選擇與和區(qū)間標準化步驟歸一化處理傳感數(shù)據,能夠降低數(shù)據檢測計算量,從而縮減運算時間。
針對當前高維傳感器數(shù)據異常檢測效率慢、精度差等問題,提出基于BIRCH 聚類算法的高維傳感器數(shù)據異常檢測方法。所提方法在精準采集高維傳感器數(shù)據的同時,運用歸一化處理降低計算復雜度,使用BIRCH 聚類將數(shù)據特征分類,得到高維傳感器數(shù)據序列異常數(shù)據。實驗結果表明,本文方法對異常節(jié)點檢測的檢出率為95%,誤報率為0.35%,數(shù)據量為1 000 Mbyte 時本文方法耗時為1.5 min,與文獻對比方法相比,本文方法對高維傳感器數(shù)據異常檢測的性能更優(yōu),能夠實現(xiàn)預期的異常檢測目標。