一種傳感器網絡異常檢測方法
2023-05-27 18:24:01
專利名稱::一種傳感器網絡異常檢測方法
技術領域:
:本發明涉及無線傳感器網絡,特別是涉及無線傳感器網絡異常檢測的方法。
背景技術:
:在無線傳感器網絡中,大量的原始傳感器數據之間一般都有高度的空間或時間相關性,把所有這些數據完全傳輸到基站節點(Sink)既浪費能量也沒有必要。數據融合(dataaggregation,或稱為數據匯聚)的主要思想就是傳輸路徑上的節點之間進行交互式的協同合作,通過去除相關性冗餘來大大壓縮數據量,從而以更少的數據表達同樣或相當的信息量。當前基於傳感器網絡節點數據空間相關性或時間相關性進行的數據融合已有部分的研究成果,但是並未形成一個理論體系。尤其針對空間相關性和時間相關性的利用都是割裂開來的,沒有將空間相關性和時間相關性有機的、系統的結合在一起,從而阻礙了數據融合效率的進一步提高;現有的數據融合模型都是局部獨立的,對各個局部之間的關係和多層次信息融合沒有一個科學的解釋和建模。實際上數據之間的相關性是具有層次性的,而且是隨著距離的增加而逐漸減弱的,各個局部之間還具有相關性,現有研究都是確定性的劃定一個區域或界限為局部,只認定為這部分的數據擁有局部相關性。現有的數據融合處理模型首先是關注傳感器數據,對於數據反映的被探測事件建模只是進行了簡單的處理,這就如同語音編碼中的幅值編碼和模型編碼的差距;另外,現有的數據處理模型對高級應用特性支持不足,如同樣是表現溫度數據,需要拓撲信息的數據融合研究(如等高線求取)和僅需要統計信息的數據融合研究採用的方法完全不同,沒有統一的數學模型形式。此外針對多重傳感數據(如同時表現溫度、溼度)的統一數據融合的研究還沒有有意義的成果。而這些數據處理的理論、方法,往往需要把原始的低維數據集轉化為高維數據集,目前的研究主要局限在低維應用場合,高維數據集的分析和建模工作尚未完全展開;最後,現有的數據處理模型主要集中在使用線性系統來分析和處理數據的空間和時間相關性,例如使用線性預測模型來進行預測從而減少數據傳輸,但現實的系統往往較為複雜,線性系統模型往往不具有通用性。有很多異常值檢測算法都是判斷傳感器節點數據和其相鄰節點數據的差值來決定是否是異常值,這樣需要的時間較長而且不能保證其準確性。利用數據融合的架構,將異常值檢測問題轉化成給定數據融合的構架的推理問題,即對於給定序列,根據已有的數據融合的構架推測出其對應的最大可能的狀態序列,如果根據己有的模型使用現有的狀態序列得到的似然函數值來判斷,結果將更實用。
發明內容本發明的目的在於提供一種無線傳感器網絡異常檢測方法,充分考慮數據在時間上和空間上的相關性,有效減少數據冗餘及通信開銷,延長傳感器節點的壽命,達到異常檢測的目的。一種傳感器網絡異常檢測方法,對網絡進行分簇,各簇按照如下方法進行異常檢測步驟1)簇頭匯聚簇內第i個單位時間內所有節點的高維數據序列,以該高維數據序列為訓練樣本,採用隱馬爾科夫模型構建方法構建第i個單位時間的節點高維數據變遷模型,i=l,2,…,N,N為提取的單位時間數量;步驟2)以變遷模型相似性為分類基準,將第l,2,,N個單位時間的節點高維數據變遷模型進行分類;步驟3)對於屬於第j類的節點高維數據初始變遷模型,將其對應單位時間內的所有高維數據序列匯聚,構成新的訓練樣本,採用隱馬爾科夫模型構建方法構建第j類節點高維數據變遷模型,j=l,2,…,Nl,Nl為步驟2)得到的分類數;步驟4)利用第j類節點高維數據變遷模型對簇中所有節點採集的數據進行異常檢測。本發明的技術效果體現在(1)多維數據融合。對網絡中的高維數據集(如同時包含溫度、溼度)進行數據融合,採用HMM模型對高維數據集進行建模,建立適合任何維數的一般數據集的數據融合模型;(2)減少冗餘,減少開銷。本發明充分利用傳感器網絡採集到數據時間和空間上的相關性,首先通過分簇算法,由空間上的相關性,簇內節點採集到的數據差異不大,以簇為單位進行建模,減少了模型的冗餘,也方便對簇內節點採集到的後續數據進行異常檢測;考慮時間上的相關性,對模型分類,重新構建新訓練樣本構建新模型,進一步減少模型的冗餘;採用隱馬爾科夫模型對高維數據集變遷進行建模,使得在異常檢測的過程中從節點無需將採集到的所有數據發送給簇頭節點,只需將變遷序列(即採樣後的序列)發送給簇頭節點,從而大大減少了通信開銷。圖1為本發明無線傳感器網絡結構示意圖;圖2為本發明異常檢測方法總體流程圖;圖3為無線傳感器網絡分簇結果示意圖;圖4為訓練樣本示意圖;圖5為異常檢測結果示意圖圖5(a)為3月17號簇中節點二維數據變遷圖;圖5(b)為3月18號簇中節點二維數據變遷圖;圖5(c)為3月17號簇中節點二維數據圖(不包括節點3,粗線為節點4的變遷曲線);圖5(d),5(e),5(f)為3月18號簇中節點二維數據圖(不包括節點3,圖中的粗線分6別為節點2,7,9的變遷曲線)。具體實施例方式為了更加清楚的表明本專利的目的、技術方案和優點,下面結合附圖及具體實例對本方法做出詳細說明。本發明針對無線傳感器網絡中的異常檢測問題,能夠對網絡中的高維數據集(同時包含溫度和溼度的讀數)進行數據融合,提取出有用信息,最終得出異常檢測結果。圖1描述了實施例所用傳感器網絡的布局,實施例中所用的傳感器數據,是由英特爾伯克利研究實驗室(IntelBerkeleyResearchlab)採集到l54個節點從2004年2月28號到4月5號的數據。單位時間為12小時的整數倍,實例中以單位時間為一天(24小時)舉例說明。圖2是實施例的流程示意圖,包括以下步驟步驟l根據空間位置的相鄰性,對網絡進行分簇。對於圖1所示的網絡結構,我們通過以下方法對網絡進行分簇每個節點有一個狀態標記位,初始化為0,0表示節點未確定狀態,l表示節點己確定自己是簇頭節點或者從節點;每個節點有一個層次(leval)標記位,初始化為°°;每個節點還有標記父節點的parent標記位。每個節點在(0,W3)內隨機選擇自己的臨時ID號,其中N表示網絡中節點的總數。步驟ll節點間進行通信,每個節點得到h跳以及h跳以內鄰居節點的信息,h可以隨意取值,本實驗中h取為2。狀態標記為O的節點將自己的ID號與標記號為0的h跳以及h跳以內鄰居節點的ID號作比較,如果自己的ID號最大,則確認自己為簇頭節點,即將leval標記位置為0,表示簇頭節點在第O層,並且將自己的狀態標記位置為1,進入步驟12。步驟12狀態標記位為0的所有節點比較自己與間距h跳以及h跳以內的簇頭節點的相似性,本發明中我們用相關係數來表示兩個節點的相似性,即假設h,x!分別為節點Sk,Si在一天中讀到的序列樣本,相關係數^定義為,r—五to)-取)五")其中E為取均值符號。如果相關係數大於相關性閾值,兩條曲線相似性越大,相關係數趨近於1,本實驗中我們設相關係數大於0.97,節點將自己的狀態標記位置為1,節點為從節點。步驟13重複步驟11、步驟12,直到網絡中的所有節點的狀態標記位全為l。步驟14每個從節點計算自己和間距一跳範圍內所有簇頭節點的相似性,找到相關係數最大的簇頭節點,如果該相關係數大於相關性閾值,如相關係數大於0.97,則將該從節點的leval標記置為1,該從節點的parent標記置為簇頭節點的ID號。步驟15leval二oo的節點得到h及h跳以內範圍內leval^^的所有節點的信息,選擇相似性最大且節點的leval《h-1的節點S,將該節點的leval豐示記置為節點s的leval豐示i己+l,該節點的parent豐示i己置為s。以上即為簇頭節點選舉的過程,至此,網絡中的節點屬於且只屬於一個簇,每個簇的最大跳數為h,其中h的大小在程序運行之初可以調整。分簇後的結果圖如圖3所示。接下來,每個簇以簇頭為中心,對簇中的數據進行分析處理,得出該簇中的異常檢測結果。步驟2每個簇採集樣本訓練隱馬爾科夫模型(HMM),樣本包括N天簇中所有節點的數據序列。每個節點隔兩個小時採集一個數據值(數據為該節點在兩個小時採集到的所有數據的平均值),一天就有12個值,把這12個值組成的序列作為樣本,為了保證訓練的穩定性,我們把一個簇中所有節點的序列匯聚到簇頭節點訓練。用鮑姆-韋爾奇(BaunrWelch)算法迭代計算出這些隱馬爾科夫模型的各項參數,包括初始概率向量,狀'態轉移概率矩陣,混合高斯模型的各項參數,混合矩陣等。由附圖4(表示3月l號由節點4,6,7,8,9,10,11,12,13所組成的簇),我們可以看到同一個簇中數據的變遷曲線基本上是一致的。我們所用的訓練序列為多序列,Baum-Welch迭代的結果是使得多個序列在模型中出現概率的總和最大。步驟3為了進一步減少模型的冗餘,需要把相似的模型進行分類。由於時間上的相關性,即相鄰夭數簇中一天內高維非線性數據集變遷的曲線相似,可以用K均值算法對以天為單位訓練的隱馬爾科夫模型進行分類,分類後,將同屬一類的模型對應天數的數據匯聚,形成新的訓練樣本以重新訓練隱馬爾科夫模型。實驗中採用的是用15天的數據用K均值算法分為4類。步驟4給定任何一個簇中所有節點某一天的數據集的所有變遷序列,運用隱馬爾科夫裡面的前向算法,算出該所有序列分別在步驟3中訓練的隱馬爾科夫模型中出現概率,取使概率和最小的隱馬爾科夫模型,如果某個節點的變遷序列在該模型中出現的概率小於設定的異常判斷閾值,則判定該節點的數據為異常。概率越小,跟模型擬合越差,為異常的可能性越大,本實驗中設異常判斷閾值為0.1。mj表示第j個隱馬爾科夫模型,設標號為i的序列在mj中出現的概率為P(ilmj),該序列長度為Ti,用"flm刀-(l/7;)k)g(P(/l/n/》表示歸一化概率對數所對應的值。我們用3月17號,3月18號的數據去檢驗步驟三中訓練的四個模型的準確性,以由節點4,6,7,8,9,10,11,12,13所構成的簇為例,擬合的結果如表1所示。其中如附圖5所示,表一中的數據表示該簇中9個節點2天的數據分別在在模型I,2,3,4中的L(ilmj)。從該表中我們可以看出3月17號的數據跟模型3擬合的最好,3月18號的數據跟模型4擬合的最好。這兩天中節點3的溫度讀數都不正常,為100多度,曲線分別如附圖5(a),附圖5(b)所示(實線表示溫度曲線,虛線表示電壓曲線,加粗的線表示節點3的溫度和電壓值);為了便於觀察,我們去掉節點3。3月17號,剩下的節點中,節點4的L(iimj)最小,觀察它的曲線變遷圖,發現節點4的電壓比其它節點高,如附圖5(c)所示;3月18號,剩下的節點中,節點2,7,9的L(ilmj)比其他節點小很多,它們的曲線變遷圖如附圖5(d),附圖5(e),附圖5(f)所示,可以確定為異常節點。9模型一tableseeoriginaldocumentpage10表一模型擬合0317,0318三天數據結果綜上所述,一種基於層次決策和隱馬爾科夫模型的傳感器網絡異常檢測方法是有效的。權利要求1、一種傳感器網絡異常檢測方法,對網絡進行分簇,各簇按照如下方法進行異常檢測步驟1)簇頭匯聚簇內第i個單位時間內所有節點的高維數據序列,以該高維數據序列為訓練樣本,採用隱馬爾科夫模型構建方法構建第i個單位時間的節點高維數據變遷模型,i=1,2,…,N,N為提取的單位時間數量;步驟2)以變遷模型相似性為分類基準,將第1,2,…,N個單位時間的節點高維數據變遷模型進行分類;步驟3)對於屬於第j類的節點高維數據初始變遷模型,將其對應單位時間內的所有高維數據序列匯聚,構成新的訓練樣本,採用隱馬爾科夫模型構建方法構建第j類節點高維數據變遷模型,j=1,2,…,N1,N1為步驟2)得到的分類數;步驟4)利用第j類節點高維數據變遷模型對簇中所有節點採集的數據進行異常檢測。2、根據權利要求1所述的一種傳感器網絡異常檢測方法,所述步驟2)採用K均值算法分類。3、根據權利要求1所述的一種傳感器網絡異常檢測方法,其特徵在於,所述單位時間為12小時的整數倍。4、根據權利要求1所述的一種傳感器網絡異常檢測方法,其特徵在於,按照如下方式對網絡進行分簇步驟Ol未身份標識的節點比較自己與間隔h跳以及h跳以內的鄰居節點的ID號,若自身的ID號最大,則將自身身份標識為簇頭,層次標記置0;步驟02未身份標識的節點計算自己與間距h跳以及h跳以內的簇頭的相似性,若存在相似性大於相關性閾值,則將該節點身份標識為從節點;步驟03重複步驟0102,直到所有節點的身份被標識;步驟04從節點計算自己與間距一跳的所有簇頭的相似性,找到相似性最大的簇頭T,如果最大相似性大於相關性閾值,則確認該從節點為簇頭T的子節點,並將該從節點的層次標記置l;步驟05未作層次標記的從節點計算自身與間距h及h跳以內已作層次標記的所有從節點的相似性,選擇相似性最大且層次標記《h-l的從節點S,該從節點的層次標記等於從節點S的層次標記+1,確認該從節點為從節點S的子節點;步驟06重複步驟05,直到所有從節點的層次標記被賦值;所述相似性按照如下方式計算令Xk,Xi分別為節點Sk,Si在一個單位時間內採集的高維數據序列,相似性、,定義為其中EO表示取均值。全文摘要一種傳感器網絡異常檢測方法,對網絡進行分簇,各簇中簇頭匯聚簇內各單位時間內所有節點的高維數據序列,採用隱馬爾科夫模型構建方法構建各單位時間的節點高維數據變遷模型,以模型相似性為分類基準,將各節點高維數據變遷模型進行分類,對於每一類的節點高維數據初始變遷模型,將其包含單位時間內的所有高維數據序列匯聚,再次採用隱馬爾科夫模型構建方法構建新的節點高維數據變遷模型,利用新的高維數據變遷模型對簇中進行異常檢測。本發明充分利用傳感器網絡中數據時間和空間相關性,有效減少數據冗餘及通信開銷,延長傳感器節點的壽命,達到異常檢測的目的。文檔編號H04W84/18GK101516099SQ20091006153公開日2009年8月26日申請日期2009年4月7日優先權日2009年4月7日發明者軍劉,劉文予,劉文平,張松濤,樂舒,蔣洪波,陳金華申請人:華中科技大學