錢(qián)宗斌
(安徽工業(yè)經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院,安徽 合肥 230051)
近年來(lái),國(guó)家對(duì)信息產(chǎn)業(yè)的大力扶持,使得人們的通信方式發(fā)生翻天覆地的變化,無(wú)線通信技術(shù)大范圍普及,無(wú)線傳感網(wǎng)絡(luò)應(yīng)時(shí)而生。首先傳感網(wǎng)絡(luò)作為1種新興的數(shù)據(jù)采集和通信傳輸技術(shù),已經(jīng)被廣泛應(yīng)用在多個(gè)領(lǐng)域,并取得了飛速的發(fā)展。
隨著無(wú)線傳感網(wǎng)絡(luò)應(yīng)用范圍越來(lái)越廣,通信數(shù)據(jù)的異常檢測(cè)就顯得尤為重要。尤其是發(fā)生緊急情況時(shí),例如火災(zāi)、天然氣泄露等情況,需要及時(shí)預(yù)警提醒并進(jìn)行通信傳輸。由于無(wú)線傳感網(wǎng)絡(luò)部署環(huán)境的復(fù)雜性和多樣性,再加上傳感器自身參數(shù)畸變等因素,導(dǎo)致通信數(shù)據(jù)會(huì)發(fā)生異常,為保證及時(shí)通信,需對(duì)這些異常數(shù)據(jù)進(jìn)行檢測(cè)。
對(duì)此,文獻(xiàn)[1]針對(duì)物聯(lián)網(wǎng)環(huán)境,提出1種通信異常檢測(cè)系統(tǒng)設(shè)計(jì)方案。首先,選取IPv6協(xié)議為系統(tǒng)硬件提供數(shù)據(jù)節(jié)點(diǎn)和底層數(shù)據(jù)流交互功能;然后,在數(shù)據(jù)交互鏈路層中添加異常數(shù)據(jù)檢測(cè)單元,利用異常節(jié)點(diǎn)流量識(shí)別算法為整個(gè)系統(tǒng)提供物聯(lián)網(wǎng)環(huán)境下的異常數(shù)據(jù)檢測(cè)功能。文獻(xiàn)[2]利用熵目標(biāo)函數(shù)最優(yōu)化方法實(shí)現(xiàn)對(duì)異常數(shù)據(jù)的檢測(cè)。首先,根據(jù)屬性的不同將數(shù)據(jù)進(jìn)行分類(lèi)劃分,以異常數(shù)據(jù)特征密度指標(biāo)為標(biāo)準(zhǔn),確定相鄰2個(gè)類(lèi)之間的半徑;然后,對(duì)高階統(tǒng)計(jì)量大數(shù)據(jù)聚類(lèi)度進(jìn)行迭代計(jì)算,對(duì)數(shù)據(jù)特征提取參數(shù)進(jìn)行優(yōu)化;最后,利用樣本屬性概率對(duì)熵目標(biāo)函數(shù)的最優(yōu)值進(jìn)行計(jì)算,并根據(jù)最優(yōu)值的計(jì)算結(jié)果實(shí)現(xiàn)對(duì)異常數(shù)據(jù)的檢測(cè)。
上述2種算法在傳感器采樣值差異較大或者故障節(jié)點(diǎn)較多時(shí)無(wú)法實(shí)現(xiàn)精準(zhǔn)檢測(cè),因此,本文從無(wú)線傳感網(wǎng)絡(luò)的時(shí)間屬性角度出發(fā),以分布式檢測(cè)的方式對(duì)整個(gè)通信網(wǎng)絡(luò)進(jìn)行異常檢測(cè),再與其他方法進(jìn)行對(duì)比仿真實(shí)驗(yàn),并以檢測(cè)率和誤報(bào)率作為算法的評(píng)價(jià)指標(biāo),最終得出結(jié)論,本文方法具有最低的誤報(bào)率和最高的檢測(cè)率。
傳感器在持續(xù)運(yùn)行一段時(shí)間后,由于內(nèi)壁附著層和環(huán)境條件的變化,內(nèi)部參數(shù)會(huì)發(fā)生一定的畸變,導(dǎo)致采集到的數(shù)據(jù)與實(shí)際數(shù)據(jù)之間出現(xiàn)誤差,使通信數(shù)據(jù)發(fā)生異常。異常發(fā)生的原因有很多,在特定區(qū)域范圍內(nèi)發(fā)生的事件稱(chēng)為事件異常[3],由傳感器自身故障引起的異常則稱(chēng)之為節(jié)點(diǎn)異?;虬l(fā)生異常。
在無(wú)線傳感網(wǎng)絡(luò)空間內(nèi),參數(shù)屬性是影響節(jié)點(diǎn)能量消耗的主要因素。當(dāng)無(wú)線傳感網(wǎng)絡(luò)故障節(jié)點(diǎn)不斷增加時(shí),事件檢出率會(huì)出現(xiàn)下降的趨勢(shì)。因此,本文從無(wú)線傳感網(wǎng)絡(luò)時(shí)間序列[4]的角度出發(fā),通過(guò)不斷改變置信區(qū)間的范圍,對(duì)區(qū)間的數(shù)據(jù)樣本波動(dòng)情況進(jìn)行分析,實(shí)現(xiàn)對(duì)通信異常數(shù)據(jù)的檢測(cè)。
首先,構(gòu)建無(wú)線傳感網(wǎng)絡(luò)通信數(shù)據(jù)時(shí)間序列模型,假設(shè)在當(dāng)前時(shí)段通信區(qū)間內(nèi),共安裝n個(gè)傳感器進(jìn)行數(shù)據(jù)采集和通信傳輸,在底層時(shí)間同步機(jī)制[5]的作用下,傳感器的采集頻率和傳輸頻率保持一致。
受傳感器節(jié)點(diǎn)存儲(chǔ)容量限制的影響,當(dāng)時(shí)間序列中的大規(guī)模數(shù)據(jù)處于無(wú)限增長(zhǎng)階段時(shí),無(wú)法滿足其存儲(chǔ)要求。因此,本文利用滑動(dòng)窗口僅對(duì)更新后的k個(gè)數(shù)據(jù)進(jìn)行存儲(chǔ)。在傳感器采樣周期內(nèi),將采樣數(shù)據(jù)集定義為R(ti)={r(t1),r(t2),…,r(tn)},其中,t1,t2,…,tn表示傳感器節(jié)點(diǎn)采樣時(shí)刻。假設(shè)在當(dāng)前時(shí)刻采集到的傳感器節(jié)點(diǎn)數(shù)據(jù)為{r(t1),r(t2),…,r(tp)},當(dāng)產(chǎn)生新的數(shù)據(jù)r(tp+1)并且為正常數(shù)據(jù)時(shí),窗口開(kāi)始逐漸向前滑動(dòng),同時(shí)更新窗口中的數(shù)據(jù),得到{r(t2),r(t3),…,r(tp+1)},其他數(shù)據(jù)的操作方法相類(lèi)似。
對(duì)于t時(shí)刻下傳感器采集到的數(shù)據(jù)r(t),如何判定其為異常數(shù)據(jù),不同環(huán)境要具體分析。如果傳感器被安裝在溫差較大的環(huán)境中,即使讀數(shù)發(fā)生較大的改變,數(shù)據(jù)也都認(rèn)為是正常的;而當(dāng)傳感器被安裝在相對(duì)穩(wěn)定的環(huán)境中時(shí),很小的波動(dòng)都有可能存在異常。為了精準(zhǔn)分析,本文從置信區(qū)間著手,根據(jù)數(shù)據(jù)特點(diǎn)判斷其是否為異常數(shù)據(jù)。
在理想環(huán)境下,假設(shè)正常數(shù)據(jù)的區(qū)間為[a,b],而異常數(shù)據(jù)與正常數(shù)據(jù)之間存在較大的差異,通常體現(xiàn)為樣本極值。異常數(shù)據(jù)對(duì)于無(wú)線傳感網(wǎng)絡(luò)的通信傳輸具有不良的影響,而樣本的中位數(shù)[6]可以很好地抑制這種影響,越靠近中位數(shù)的樣本數(shù)據(jù)影響程度就越低,基于此,本文利用中位數(shù)來(lái)構(gòu)建樞軸量。
將X1,X2,…,Xn定義為均勻分布在總體X~U(a,b)中,獨(dú)立存在的同分布[7]樣本數(shù)據(jù),d為的中位數(shù),X1,X2,…,Xn計(jì)算公式為
(1)
式中X[n/2]為樣本數(shù)據(jù)總體數(shù)量。
在不確定方差δ的前提下,利用樣本方差s計(jì)算med(時(shí)間序列)的置信區(qū)間:
(2)
通過(guò)上述計(jì)算,可得到樞軸量T:
(3)
式中μ為中位數(shù)系數(shù)值。
給定1個(gè)置信度α,令
(4)
即
(5)
進(jìn)一步計(jì)算得到置信度為1-α的置信區(qū)間:
(6)
式(6)的置信區(qū)間是總體樣本中位數(shù)的1個(gè)估計(jì)區(qū)間,對(duì)其作出部分改進(jìn),得到如式(7)所示的總體樣本估計(jì)區(qū)間:
(7)
為了對(duì)t時(shí)刻下的傳感器讀數(shù)r(t)與窗口數(shù)據(jù){r(t1),r(t2),…,r(tp)}之間的關(guān)系進(jìn)行描述,即r(t)與置信區(qū)間[L,Z]之間的差異,本文從距離度量[8]的角度出發(fā),利用區(qū)間差異度對(duì)其進(jìn)行描述。
區(qū)間差異度γ是用來(lái)描述樣本ri(i)的空間點(diǎn)與置信區(qū)間之間的差異程度,計(jì)算公式為
(8)
式中:rt(i)為t(i)時(shí)刻下的傳感器讀數(shù);Z、L分別為置信區(qū)間的上限和下限;γ為t(i)時(shí)刻下,傳感器讀數(shù)與置信區(qū)間之間的差異程度,值越大,說(shuō)明二者之間的差異程度就越高,傳感器讀數(shù)為異常數(shù)據(jù)的概率就越高。
本文只考慮異常數(shù)據(jù)比正常數(shù)據(jù)大的情況,當(dāng) 異常數(shù)據(jù)小于正常數(shù)據(jù)時(shí),需要將式(8)轉(zhuǎn)換為式(9):
(9)
當(dāng)有異常數(shù)據(jù)出現(xiàn)時(shí),需判斷其為節(jié)點(diǎn)異?;驎r(shí)間異常,判斷條件如式(10)所示:
(10)
式中:R(t)為判斷條件的閾值函數(shù);c(t)為正常工 作的傳感器在正常區(qū)間范圍內(nèi)讀數(shù)的期望函數(shù)[9];e(t)為正常工作的傳感器在異常區(qū)間范圍內(nèi)讀數(shù)的期望函數(shù);ξ為判斷條件的主要參考指標(biāo),當(dāng)ξ小于 區(qū)間差異度時(shí),即可認(rèn)定該區(qū)間范圍內(nèi)存在異常數(shù)據(jù)。
綜上所述,置信區(qū)間和區(qū)間差異度實(shí)現(xiàn)了樣本數(shù)據(jù)參數(shù)估計(jì)[10]和計(jì)算類(lèi)間差異度,為接下來(lái)的通信數(shù)據(jù)異常檢測(cè)做好了基礎(chǔ)準(zhǔn)備工作。
由于傳感器讀數(shù)受環(huán)境影響較大,在穩(wěn)定的環(huán)境下,rt(i)會(huì)有輕微的波動(dòng),但當(dāng)出現(xiàn)異常時(shí),rt(i)會(huì)有較大的波動(dòng)。當(dāng)滿足式(11)條件時(shí),即可認(rèn)定其為異常數(shù)據(jù):
(11)
式中:V(t)為正常工作的傳感器在事件區(qū)域內(nèi)讀數(shù)的數(shù)學(xué)期望;K(t)為正常工作的傳感器在正常區(qū)域內(nèi)讀數(shù)的數(shù)學(xué)期望。在自然環(huán)境下,K(t)是一個(gè)常數(shù)。不同環(huán)境中的V(t)和K(t)存在一定的差異性,需要根據(jù)實(shí)際情況確定。
傳感器自身參數(shù)畸變而導(dǎo)致的故障,使得連續(xù)采樣時(shí)刻下讀數(shù)可能是相同的,即
rt(i)=rt-1(i)。
(12)
當(dāng)出現(xiàn)上述2種情況時(shí),即可認(rèn)定無(wú)線傳感網(wǎng)絡(luò)內(nèi)的通信數(shù)據(jù)出現(xiàn)異常。
為驗(yàn)證本文方法在實(shí)際應(yīng)用中是否同樣合理有效,把本文方法與文獻(xiàn)[1]、文獻(xiàn)[2]中的2種方法進(jìn)行對(duì)比仿真實(shí)驗(yàn)。為保證實(shí)驗(yàn)的公平性與合理性,引入節(jié)點(diǎn)檢測(cè)率和誤報(bào)率作為評(píng)判指標(biāo),衡量3種算法異常數(shù)據(jù)檢測(cè)的性能。
正常節(jié)點(diǎn)檢測(cè)率P1(x):
(13)
式中,x為事件節(jié)點(diǎn),Ev為實(shí)際正常節(jié)點(diǎn)集合。
正常節(jié)點(diǎn)誤報(bào)率P2(x):
(14)
式中,G為事件區(qū)間內(nèi)的所有節(jié)點(diǎn),Er為實(shí)際異常節(jié)點(diǎn)集合。
異常節(jié)點(diǎn)檢測(cè)率P3(x):
(15)
異常節(jié)點(diǎn)誤報(bào)率P4(x):
(16)
實(shí)驗(yàn)的實(shí)現(xiàn)平臺(tái)選擇Python 2.7,共安裝n個(gè)無(wú)線傳感器,分別安裝在32α×32α的區(qū)域范圍內(nèi),將所有傳感器的采樣頻率設(shè)置為10 Hz,即△T=0.1 s,Tth=1 s。
在無(wú)線傳感器節(jié)點(diǎn)數(shù)量相同的實(shí)驗(yàn)環(huán)境下,對(duì)3種算法的異常通信數(shù)據(jù)檢測(cè)性能進(jìn)行對(duì)比,結(jié)果如圖2所示,圖1為實(shí)驗(yàn)結(jié)果,其中的圓點(diǎn)為通信異常節(jié)點(diǎn),橫、縱坐標(biāo)值均為樣本數(shù)據(jù)。
由圖2可知,本文方法正常節(jié)點(diǎn)和異常節(jié)點(diǎn)檢測(cè)率取得最高值,正常節(jié)點(diǎn)和異常節(jié)點(diǎn)誤報(bào)率結(jié)果最低。由此可以說(shuō)明,本文方法在通信數(shù)據(jù)異常檢測(cè)方面有著卓越的性能。這是由于本文方法通過(guò)對(duì)無(wú)線傳感網(wǎng)絡(luò)時(shí)間序列屬性進(jìn)行分析,有效避免了因無(wú)線傳感網(wǎng)絡(luò)自身節(jié)點(diǎn)故障導(dǎo)致算法出現(xiàn)誤判的情況,保證算法具有較高的穩(wěn)定性和精準(zhǔn)性。
無(wú)線傳感網(wǎng)絡(luò)在通信時(shí)易受周?chē)h(huán)境的影響,產(chǎn)生異常數(shù)據(jù),導(dǎo)致通信出現(xiàn)異常,為解決該問(wèn)題,本文研究了基于無(wú)線傳感網(wǎng)絡(luò)的通信數(shù)據(jù)異常檢測(cè)方法。該方法從無(wú)線傳感網(wǎng)絡(luò)時(shí)間序列的角度出發(fā),構(gòu)建通信數(shù)據(jù)時(shí)間序列模型,采用中位數(shù)構(gòu)建樞軸量,進(jìn)而構(gòu)建時(shí)間序列置信區(qū)間,計(jì)算區(qū)間之間的差異度,根據(jù)計(jì)算結(jié)果判斷其為節(jié)點(diǎn)異常還是時(shí)間異常,結(jié)合無(wú)線傳感網(wǎng)絡(luò)異常條件,判定無(wú)線傳感網(wǎng)絡(luò)通信數(shù)據(jù)是否出現(xiàn)異常,實(shí)現(xiàn)異常數(shù)據(jù)檢測(cè)。通過(guò)對(duì)比實(shí)驗(yàn),結(jié)果表明,本文方法具有較高的檢測(cè)率和較低的誤報(bào)率,具備更高的應(yīng)用價(jià)值。