廖棟森,祝長鴻,余琪琦,任君玉,黃福瑩,覃團發(fā)+
(1.廣西大學(xué) 計算機與電子信息學(xué)院,廣西 南寧 530004;2.廣西大學(xué) 多媒體通信與網(wǎng)絡(luò)技術(shù)重點實驗室,廣西 南寧 530004)
無線體域網(wǎng)[1](wireless body area networks,WBAN)是由人體攜帶的傳感器節(jié)點、匯聚節(jié)點和遠程服務(wù)器組成的網(wǎng)絡(luò)。WBAN根據(jù)節(jié)點觀測的異常數(shù)據(jù)獲知人體健康狀態(tài)的變化和節(jié)點的工作狀態(tài)?,F(xiàn)有的WBAN異常數(shù)據(jù)檢測方法可分為兩類:①基于數(shù)據(jù)統(tǒng)計特性的異常數(shù)據(jù)檢測方法。這類方法根據(jù)距離和信息熵來檢測異常數(shù)據(jù)。②基于機器學(xué)習(xí)的異常數(shù)據(jù)檢測方法。這類方法使用已有的數(shù)據(jù)訓(xùn)練模型,將數(shù)據(jù)分類而得到異常數(shù)據(jù)。然而這兩類檢測方法對數(shù)據(jù)點逐一分類,得到的異常數(shù)據(jù)是非連續(xù)數(shù)據(jù)點的集合,忽視了人體健康狀態(tài)發(fā)生變化時,異常數(shù)據(jù)應(yīng)呈連續(xù)分布,檢測的結(jié)果應(yīng)按時間段分布,而這兩類方法只反映了人體在離散時間點的狀態(tài),缺乏對人體健康狀態(tài)發(fā)生變化時間段的準確定位。由此本文將異常數(shù)據(jù)分為偶然性的異常數(shù)據(jù)點和連續(xù)性的異常數(shù)據(jù)集兩部分,并提出了基于Hampel濾波器和DBSCAN分層的異常數(shù)據(jù)檢測方法。該方法首先根據(jù)Hampel濾波器檢測并替換偶然性的異常數(shù)據(jù)點,保證數(shù)據(jù)的連續(xù)性;其次,基于滑動時間窗,將時間窗中的數(shù)據(jù)全部視為異常數(shù)據(jù)或正常數(shù)據(jù);然后根據(jù)DBSCAN本質(zhì)為劃分高密度區(qū)域的特征,將DBSCAN對數(shù)據(jù)聚類的結(jié)果轉(zhuǎn)換為每一個時間窗中數(shù)據(jù)能否聚類的問題;最后依據(jù)人體生理參數(shù)的相關(guān)性標注出異常數(shù)據(jù)集。
基于數(shù)據(jù)統(tǒng)計特性的異常數(shù)據(jù)檢測方法使用數(shù)據(jù)的中心趨勢統(tǒng)計量、散布程度統(tǒng)計量和分布統(tǒng)計量檢測異常數(shù)據(jù)。Chang等[2]提出了基于時間窗的滑動平均模型,在時間窗截取數(shù)據(jù)的基礎(chǔ)上,使用滑動平均模型預(yù)測下一數(shù)據(jù)點是否為異常數(shù)據(jù)點,其模型簡單并提供了較好的檢測精度;在文獻[3,4]中,研究者提出了基于馬氏距離和信息熵的異常數(shù)據(jù)檢測方法,這些方法通過計算數(shù)據(jù)點之間的馬氏距離和信息熵作為判定異常數(shù)據(jù)點的依據(jù),計算復(fù)雜度低,但需要訪問所有待檢測的數(shù)據(jù),不滿足WBAN的實時性要求。
在基于機器學(xué)習(xí)的異常數(shù)據(jù)檢測方面,文獻[5-8]提出了基于監(jiān)督學(xué)習(xí)的異常數(shù)據(jù)檢測方法,采用的監(jiān)督學(xué)習(xí)方法有One-Class SVM(support vector machine)、k-NN(k-nearest neighbors)、貝葉斯網(wǎng)絡(luò)等,這些方法根據(jù)已有數(shù)據(jù)建立模型,利用數(shù)據(jù)的內(nèi)在特征訓(xùn)練模型,提高了異常數(shù)據(jù)檢測的精度,但存在使用的數(shù)據(jù)需預(yù)標簽,WBAN異常數(shù)據(jù)占比較小,模型訓(xùn)練困難,且每個人健康狀態(tài)不同,訓(xùn)練的模型不能泛化,以及One-Class SVM時間復(fù)雜度高,K-NN檢測精度不足,貝葉斯網(wǎng)絡(luò)適應(yīng)度低等問題。文獻[9-12]提出了基于無監(jiān)督學(xué)習(xí)的異常數(shù)據(jù)檢測方法,采用的無監(jiān)督學(xué)習(xí)方法有主成分分析法、k-means、高斯混合模型、多層次聚類等,這些方法根據(jù)人體處于正常狀態(tài)時數(shù)據(jù)相對集中而異常數(shù)據(jù)較少的分布特征進行聚類或降維,無需對數(shù)據(jù)進行預(yù)標簽,提高了算法的泛化能力,但存在需采集較長時間段的數(shù)據(jù)進行學(xué)習(xí),限制了WBAN系統(tǒng)的實時性,以及主成分分析法效率不高,k-means和高斯混合模型需根據(jù)不同個體獲取先驗知識等問題。
WBAN網(wǎng)絡(luò)模型如圖1所示。被監(jiān)護人員攜帶n個傳感器節(jié)點 {p1,p2,…,pi,…,pn},pi表示其中第i個傳感器節(jié)點。傳感器節(jié)點由于攜帶的能量、計算能力受限,對采集的數(shù)據(jù)進行一定處理后,將其傳輸至匯聚節(jié)點,匯聚節(jié)點一般具有較高的運算和存儲能力,可以承擔(dān)復(fù)雜的計算任務(wù),數(shù)據(jù)在匯聚節(jié)點處理后通過互聯(lián)網(wǎng)傳輸至醫(yī)院并備份于數(shù)據(jù)中心。
圖2為本文提出的異常數(shù)據(jù)檢測模型。由于偶然性的異常數(shù)據(jù)點來源于環(huán)境噪聲和偶然的軟件或硬件錯誤等因素,連續(xù)性的異常數(shù)據(jù)集產(chǎn)生于人體健康狀態(tài)的變化和連續(xù)的軟件或硬件錯誤等因素,因此模型根據(jù)異常數(shù)據(jù)的來源分為兩個部分。①模型先通過Hampel濾波器檢測并替換偶然性的異常數(shù)據(jù)點,保證數(shù)據(jù)的連續(xù)性;②模型將異常數(shù)據(jù)集檢測分解為基于DBSCAN的異常數(shù)據(jù)集檢測和異常數(shù)據(jù)集驗證?;贒BSCAN的異常數(shù)據(jù)集檢測找出異常數(shù)據(jù)集所在的位置,在驗證異常數(shù)據(jù)集的來源后,若數(shù)據(jù)集證實為人體健康狀態(tài)發(fā)生了變化,則向有關(guān)人員發(fā)出警報。最后更新數(shù)據(jù)庫和時間節(jié)點。
異常數(shù)據(jù)點由于破壞了數(shù)據(jù)的連續(xù)性,對提取數(shù)據(jù)的特征具有較大的影響?;跀?shù)據(jù)序列時間相關(guān)性的Hampel濾波器是中值濾波器的改進,能夠有效地分辨并替換異常數(shù)據(jù)點。Hampel濾波器使用被檢測數(shù)據(jù)點對應(yīng)時間窗數(shù)據(jù)序列的中值和中值絕對偏移量(median absolute deviation,MAD)作為判斷被檢測數(shù)據(jù)點是否為異常數(shù)據(jù)點的依據(jù)。當時間窗口大小為g時,第i個數(shù)據(jù)點ri對應(yīng)的時間窗序列表示為Ri={ri-g,…,ri-1,ri,ri+1,…,ri+g} 根據(jù)Ri可得中值和MAD的計算公式
Mi=median(Ri)
(1)
Swi=1.4826×median{|Ri-Mi|}
(2)
其中,Mi表示ri對應(yīng)Ri的中值,Swi表示ri對應(yīng)Ri的MAD,常量1.4826表示該偏移量在數(shù)據(jù)序列呈正態(tài)分布時等于標準偏移量。
Hampel濾波器根據(jù)ri、Mi和Swi三者之間的關(guān)系來判斷ri是否為異常數(shù)據(jù)點,判決公式如下所示
|ri-Mi|≥k×Swi
(3)
其中,k為可變參量,如果式(3)成立則認為ri為異常點并將Mi替換ri,否則為正常點。
由于k和Swi決定了異常數(shù)據(jù)點的篩選,須根據(jù)人體特征選取。在文獻[13]中詳細討論了k的選取,一般為2~5。對于Swi,由式(1)、式(2)可得,Hampel濾波器不能處理時間窗序列中含有連續(xù)w個數(shù)據(jù)點為相同數(shù)值時的情形。而人體處于穩(wěn)定狀態(tài)時,節(jié)點測量精度不足可能會產(chǎn)生上述錯誤,MAD近于0,k和Swi對異常數(shù)據(jù)點判決影響過??;同時,偶然丟失的數(shù)據(jù)須通過k和Swi恢復(fù)。因此,本文對Swi進行了如下改進
Swi=max(Swi,d)
(4)
其中,d是預(yù)定義大于0的常數(shù),根據(jù)觀測數(shù)據(jù)的方差選取,max表示取Swi和d的最大值。
由式(1)~式(4)可得,Hampel 濾波器依次處理傳感器的觀測數(shù)據(jù),保證了數(shù)據(jù)的連續(xù)性,時間窗包含了數(shù)據(jù)點前后各g個數(shù)據(jù)點,具有一定的滯后性,可根據(jù)任務(wù)的實時性要求選取g的大小。Hampel濾波器的時間復(fù)雜度為O(n)。
本小節(jié)所使用的變量含義見表1。
表1 變量說明
設(shè)單個傳感器可觀測m個生理參數(shù),一次觀測的時間點個數(shù)為t,則單個傳感器采集的數(shù)據(jù)可用矩陣G表示
其中,Xi=(xi1,xi2,…,xim) 表示傳感器節(jié)點在時間點i對m個生理參數(shù)的觀測值集合,Si=(x1i,x2i,…,xti) 表示傳感器節(jié)點對第i個生理參數(shù)在t個時間點的觀測值集合。異常數(shù)據(jù)集檢測的結(jié)果為準確地標識出異常數(shù)據(jù)集開始和結(jié)束時間點,可表示為 [t1,t2]=f(S1,S2,…,St)。 其中 [t1,t2] 表示異常數(shù)據(jù)集開始和結(jié)束的時間點,f(S1,S2,…,St) 表示對矩陣G進行的某種變換。
DBSCAN算法根據(jù)數(shù)據(jù)之間的密度連通性發(fā)現(xiàn)簇和噪聲點,包含Eps(指定數(shù)據(jù)集G中任一點的周圍半徑)和minPts(在指定的Eps下數(shù)據(jù)點成為核對象至少包含的對象個數(shù))兩個參數(shù),根據(jù)以上參數(shù)可有如下定義。
定義1 鄰域:任意數(shù)據(jù)點p在G中的鄰域NbEps(P) 可通過如下定義獲得NEps={p|dist(p,q)≤Eps,q∈G}, 其中dist(p,q) 表示p和q之間的距離。
定義3 直接密度可達:若p,q∈G,NEps(q)≥minPts,p∈NEps(q), 則對象q從對象p直接密度。
定義4 密度可達:若D={d1,d2,…,dn},d1=q,dn=p, 任意di,di+1,NEps(di)≥minPts,di+1∈NEps(q), 則p和q密度可達,其中D為一串相鄰對象直接密度可達的序列。
定義5 密度相連:若G中存在一個對象O,使得對象p和q都從O密度可達,則稱對象p和q密度相連。
DBSCAN算法無需預(yù)標記數(shù)據(jù),可實現(xiàn)任意形狀和大小的集群,能夠檢測出噪聲。DBSCAN聚類的結(jié)果是非連續(xù)數(shù)據(jù)點的集合,而人體生理參數(shù)在一段時間內(nèi)具有連續(xù)性,前一時刻的生理狀態(tài)影響著后一時刻,數(shù)據(jù)點之間的相關(guān)性決定了異常數(shù)據(jù)呈連續(xù)分布,因此直接使用DBSCAN檢測異常數(shù)據(jù)不能準確標識出異常數(shù)據(jù)集的起始和結(jié)束位置,且Eps和minPts是具有全局作用的參數(shù),決定了DBSCAN的聚類結(jié)果的好壞,這限制了DBSCAN對于不同異常數(shù)據(jù)的適應(yīng)能力。因此,本文從Eps和minPts的定義出發(fā),設(shè)置滑動時間窗,某一時間窗內(nèi)的數(shù)據(jù)被認為全部是異常數(shù)據(jù)或正常數(shù)據(jù),這樣將整個數(shù)據(jù)集聚類的結(jié)果變換為每一個時間窗中的數(shù)據(jù)能否聚為一個類的問題。圖3表示滑動時間窗,時間窗的寬度是可調(diào)的參數(shù),當傳感器節(jié)點采集的數(shù)據(jù)充滿第一個時間窗時,即可對時間窗中的數(shù)據(jù)進行分析。
圖3 滑動時間窗
Eps和minPts的選取:時間窗中的數(shù)據(jù)一旦采集完畢,數(shù)據(jù)點之間的距離不再變化。因此,對于任意數(shù)據(jù)點,若minPts為1,Eps為數(shù)據(jù)點的最近鄰距離,則該數(shù)據(jù)點為核心點。單獨一個數(shù)據(jù)點的最近鄰距離不具有代表性,本文將每一個數(shù)據(jù)點的最近鄰距離相加后平均得平均最近鄰距離,平均最近鄰距離作為Eps的候選值。同理,當minPts為k時,Eps為數(shù)據(jù)點與第k個最近鄰數(shù)據(jù)點之間的距離,將每一個數(shù)據(jù)點的第k個最近鄰數(shù)據(jù)點之間的距離平均得第k個Eps的候選值。設(shè)時間窗寬度為n,則Eps存在n個候選值,由此可得Eps候選值的計算步驟為:
步驟1 計算時間窗數(shù)據(jù)的距離分布矩陣Dn×n={Dist(i,j)|1≤i≤n,1≤j≤n}, 其中n為時間窗包含的數(shù)據(jù)點個數(shù),Dist(i,j) 為第i個數(shù)據(jù)點到第j個數(shù)據(jù)點之間的距離。
步驟2 對距離分布矩陣進行升序排序,第一列為數(shù)據(jù)點到自身距離為0,第k列表示所有數(shù)據(jù)點與其對應(yīng)第k個最近鄰數(shù)據(jù)點之間的距離。
步驟3 對每一列求平均,將其作為Eps的候選值。
在得出Eps候選值的過程中,假設(shè)minPts為固定數(shù)值,這樣的限制不能代表數(shù)據(jù)自身的特征。minPts是在指定的Eps下數(shù)據(jù)點成為核對象至少包含的對象個數(shù),應(yīng)由Eps的候選值確定minPts的個數(shù)。因此,對于每一個Eps候選值,依次求出所有數(shù)據(jù)點的鄰域?qū)ο髷?shù)量,所有數(shù)據(jù)點鄰域?qū)ο蟮钠谕底鳛閙inPts的候選值。計算方法為
(5)
其中,Qi表示第i個數(shù)據(jù)點的鄰域數(shù)據(jù)點個數(shù)。這樣每一個minPts對應(yīng)于一個Eps,但minPts和Eps對于聚類算法是二維隨機變量,因此,本文將minPts和Eps合為一個變量,其公式如下所示
Density=minPts/Eps2
(6)
其中,Density表示以Eps為半徑的圓內(nèi)存在minPts個數(shù)據(jù)點。Eps和Density一一對應(yīng),故Density有n個候選值。由于Eps第一個候選值為數(shù)據(jù)點到自身的距離0,Density從第二個值開始計算。
Density候選值趨勢分析:平均最近鄰距離表示數(shù)據(jù)的緊密程度,Eps候選值不斷增大表示數(shù)據(jù)的緊密程度不斷減小,因此Density呈不斷減小的趨勢。本文將時間窗中的數(shù)據(jù)全部認定為異常數(shù)據(jù)或正常數(shù)據(jù)。若為正常數(shù)據(jù),則時間窗內(nèi)的數(shù)據(jù)被視為一個類,不同數(shù)據(jù)點之間的相關(guān)性可用平均最近鄰距離衡量,因此平均最近鄰距離對應(yīng)的Density應(yīng)遠大于其它Eps候選值對應(yīng)的Density,同時隨著Eps的不斷增加,時間窗中數(shù)據(jù)點的個數(shù)是不變的,Density逐漸趨于水平。若為異常數(shù)據(jù),數(shù)據(jù)點之間的緊密程度小,平均最近鄰距離和其它Eps候選值對應(yīng)的Density不具有顯著差別。
根據(jù)Density的變化趨勢,本文提出以下準則作為判斷時間窗中的數(shù)據(jù)是否正常數(shù)據(jù)的標準。
準則1:平均最近鄰距離對應(yīng)的Density應(yīng)遠大于其它Eps候選值對應(yīng)的Density即Density(2)>k×Density(3), 其中k>10。
準則2:Density應(yīng)在起始處快速下降,并隨著數(shù)據(jù)點的增長趨于水平,即Density(i)-Density(i-1) 不斷減小并趨近于0,其中0
這樣通過劃分時間窗的方式將DBSCAN直接聚類的結(jié)果轉(zhuǎn)換為Density趨勢的變化,由此判斷時間窗中的數(shù)據(jù)是否為異常數(shù)據(jù)。
WBAN通常有多個功能不同的傳感器節(jié)點對人體健康狀態(tài)進行監(jiān)護,人體作為一個有機的系統(tǒng),各種生理參數(shù)之間具有強相關(guān)性。本文使用協(xié)方差系數(shù)來描述不同生理參數(shù)之間的相關(guān)性。生理參數(shù)X和Y之間的協(xié)方差系數(shù)可表示為
(7)
由于人體生理參數(shù)具有波動性,協(xié)方差系數(shù)應(yīng)在一定的范圍內(nèi)波動,本文采用3σ原則對其判定,其中σ表示協(xié)方差系數(shù)的標準差。如果某一節(jié)點測量的人體生理參數(shù)和其它節(jié)點測量的生理參數(shù)的協(xié)方差系數(shù)和人體處于正常健康狀態(tài)測得的協(xié)方差系數(shù)不超過3σ,則認為異常數(shù)據(jù)來源于人體健康狀態(tài)。由于涉及到多個節(jié)點,單獨一個節(jié)點不能承擔(dān)驗證分析,需將多個節(jié)點的數(shù)據(jù)傳輸至匯聚節(jié)點處。異常數(shù)據(jù)集檢測已明確標出了異常數(shù)據(jù)集所在的時間窗,其它時間窗中的數(shù)據(jù)對于異常數(shù)據(jù)集沒有提供有效信息,可直接忽略。因此,只需將異常數(shù)據(jù)集所在時間窗的數(shù)據(jù)傳輸至匯聚節(jié)點。
異常數(shù)據(jù)集檢測方法流程為:
步驟1 初始化時間窗的大小n。
步驟2 當時間窗中數(shù)據(jù)點個數(shù)達到n時,根據(jù)時間窗中的數(shù)據(jù)點得距離分布矩陣Dn×n。
步驟3 計算Eps和minPts的候選值。
步驟4 由式(6)得Density向量。
步驟5 根據(jù)準則1和準則2判斷時間窗中的數(shù)據(jù)是否為異常數(shù)據(jù)集。
步驟6 若時間窗中的數(shù)據(jù)為異常數(shù)據(jù),將異常數(shù)據(jù)傳輸至匯聚節(jié)點,匯聚節(jié)點根據(jù)式(7)計算不同生理參數(shù)之間的協(xié)方差系數(shù)。
步驟7 比較人體健康狀態(tài)下的協(xié)方差系數(shù)和計算得到的協(xié)方差系數(shù),驗證異常數(shù)據(jù)集后標注出異常數(shù)據(jù)集所在的時間窗,并發(fā)出警報。
數(shù)據(jù)集G中數(shù)據(jù)點個數(shù)為n,時間窗寬度為w,則存在n/w個時間窗,異常數(shù)據(jù)集檢測方法在每個時間窗運行的時間復(fù)雜度為O(w2), 則總體時間復(fù)雜度為O(nw)。 每次算法只需存儲w個數(shù)據(jù)點,其空間復(fù)雜度為O(w)。
為保證實驗結(jié)果的有效性和真實性,本次仿真實驗使用的醫(yī)療數(shù)據(jù)來源于Physionet[14]的數(shù)據(jù)庫MIMIC(multiparameter intelligent monitoring in intensive care)中編號為221患者的生理數(shù)據(jù),其包括以下生理參數(shù)、心跳頻率(heart rate,HR)、呼吸頻率(respiration,RESP)、血氧飽和度(SpO2)、平均動脈血壓(mean arterial blood pressure,ABPmean)。圖4表示患者生理參數(shù)在0到20 000個時間點的變化圖。
圖4 人體生理參數(shù)
圖5為ABPmean異常數(shù)據(jù)點檢測的結(jié)果。其中時間窗w取值為50,k為3,d在Hampel濾波器中作用為抑制常數(shù)錯誤,在本次實驗中選取為4。圖中豎線標出的點為Hampel濾波器檢測出的異常數(shù)據(jù)點,主要為常數(shù)錯誤的數(shù)據(jù)點和相對于周圍數(shù)據(jù)具有顯著變化的點。
圖5 ABPmean異常數(shù)據(jù)點
在不失一般性的條件下,本文選取ABPmean和HR作為同一個節(jié)點觀測的人體生理參數(shù)。由于時間窗的大小對實驗結(jié)果有著顯著影響,本文在4.3節(jié)進行了詳細分析。圖6為不同時間窗密度曲線圖,時間窗寬度為400,其中“win”表示時間窗,圖中圈出的位置為Density曲線橫坐標2到10的放大圖,其中win1和win6的橫坐標為2的數(shù)據(jù)超過了圓圈范圍,進行了截取,由圖可知Density趨勢符合上文的分析。通過準則1和準則2可知,第五和第六個時間窗是異常數(shù)據(jù)集所在的時間窗。圖7為異常數(shù)據(jù)集標注圖,通過對20 000個數(shù)據(jù)進行時間窗劃分并判定每一個時間窗數(shù)據(jù)是否為連續(xù)的異常數(shù)據(jù)集得到的結(jié)果,圖中每兩個豎線之間的時間窗中的數(shù)據(jù)為異常數(shù)據(jù)集,和文獻[14]相比,標準的異常數(shù)據(jù)集具有一致性,較好地反映了異常數(shù)據(jù)集所在的位置。
圖6 不同時間窗密度曲線
圖7 異常數(shù)據(jù)集標注
本文使用檢測精度DR(detection rate)和虛警率FPR(false positive rate)來量化所提方法的有效性,并用受試者工作特征曲線(receiver operating characteristic curver,ROC)表示FPR和DR之間的關(guān)系[15]。下述定義中正常數(shù)據(jù)表示人體處于健康狀態(tài)時的觀測數(shù)據(jù),異常數(shù)據(jù)表示受到環(huán)境噪聲影響或人體健康狀態(tài)發(fā)生變化時的觀測數(shù)據(jù)。檢測率DR可通過如下公式表示
(8)
其中,F(xiàn)D表示檢測的異常數(shù)據(jù)點個數(shù),TN表示總體異常數(shù)據(jù)點個數(shù)。與之相應(yīng)的,虛警率可通過如下公式表示
(9)
其中,F(xiàn)P表示正常數(shù)據(jù)點被檢測為異常數(shù)據(jù)點的個數(shù),TF表示正常數(shù)據(jù)點的個數(shù)。
圖8為時間窗的大小對DR和FPR的影響。當時間窗較小時,由于人體生理參數(shù)具有連續(xù)性,無法區(qū)分一個時間窗內(nèi)的數(shù)據(jù)是否為異常數(shù)據(jù),由于異常數(shù)據(jù)占比較小,本文將每一個時間窗中的數(shù)據(jù)均視為正常數(shù)據(jù),得到DR=0,F(xiàn)PR=0;當時間窗寬度增至一個時間窗寬度內(nèi)的數(shù)據(jù)能夠表示人體處于異常狀態(tài)時,即某些時間窗內(nèi)的數(shù)據(jù)不能夠聚類時,異常數(shù)據(jù)檢測算法工作于正常區(qū)間的起始點,得到DR=81.82%,F(xiàn)PR =0;在時間窗寬度增加至最長異常數(shù)據(jù)集時間長度時,一部分正常數(shù)據(jù)被視為異常數(shù)據(jù),另一部分在時間窗長度較小時檢測為異常數(shù)據(jù)集的數(shù)據(jù)被視為正常數(shù)據(jù),F(xiàn)PR和DR呈非線性上升直至DR=100%,F(xiàn)PR=11%,異常數(shù)據(jù)檢測算法工作于正常區(qū)間的截止點;當時間窗增大到最長異常數(shù)據(jù)集被視為正常數(shù)據(jù)時,DR=0,F(xiàn)PR=0,此時本方法失去實際應(yīng)用價值。
圖8 FPR和DR隨時間窗寬度變化
本文在文獻[14]基礎(chǔ)上將所提出的方法和基于SVM、KNN、MD的異常數(shù)據(jù)檢測方法進行對比,如圖9和表2所示。圖9為不同檢測方法的ROC圖,表2為不同檢測方法的對比圖。由9圖可知,基于SVM的檢測方法有效性最好,當DR=100%時,F(xiàn)PR=5.2%,但由表2可知其空間和時間復(fù)雜度達到了O(n2)和O(n3),在對比的方法中計算復(fù)雜度最高,因此不適用節(jié)點資源有限的WBAN;基于KNN、MD方法和本文提出的方法在DR=100%時,F(xiàn)PR分別為6.8%、15%、11%。因此,本文提出的方法相比于基于MD的方法具有更好的檢測精度,但差于KNN,主要因為本文提出的方法為達到100%檢測精度,選用的時間窗過大。但由圖8和圖9可知,當時間窗處于正常工作區(qū)間時,本文提出的方法的ROC曲線在KNN之上,因此在檢測精度和虛警率上優(yōu)于KNN,同時由表2可知,基于KNN和MD的方法和本文提出的方法的時間復(fù)雜度分別為O(n*k)、O(n)、O(wn), 其中k為特征維度,w為時間窗寬度,因此這3種方法在時間復(fù)雜度上不具有明顯差距,在空間復(fù)雜度上分別為O(n*k),O(n2),O(w), 因此本文提出的方法空間復(fù)雜度為常數(shù),顯著優(yōu)于其它方法,且基于SVM、KNN和MD的檢測方法均需在傳感器獲取所有數(shù)據(jù)后再檢測異常數(shù)據(jù),因此不滿足WBAN的實時性要求。而本文提出的方法只需存儲時間窗內(nèi)的數(shù)據(jù),可根據(jù)任務(wù)的實時性調(diào)整時間窗的大小,當時間窗內(nèi)的數(shù)據(jù)為異常數(shù)據(jù)集時,只需將時間窗內(nèi)的數(shù)據(jù)傳輸至匯聚節(jié)點,有效地降低了傳感器節(jié)點由于頻繁通信產(chǎn)生的能量損耗。因此,本文提出的方法與基于SVM、KNN和MD的方法相比更適合用于傳感器側(cè)檢測異常數(shù)據(jù)。
表2 不同檢測方法復(fù)雜度對比
圖9 不同檢測方法ROC
本文提出了一種分層的異常數(shù)據(jù)檢測方法。Hampel濾波器檢測異常數(shù)據(jù)點,在此基礎(chǔ)上異常數(shù)據(jù)集檢測方法通過劃分時間窗的方式將聚類的結(jié)果轉(zhuǎn)換為每一個時間窗中的數(shù)據(jù)能否聚類的問題,并與其它方法相比,本文的方法考慮了人體健康狀態(tài)發(fā)生變化時異常數(shù)據(jù)具有連續(xù)性的特征,空間復(fù)雜度更小,在檢測出異常數(shù)據(jù)集后,只需將異常數(shù)據(jù)集所在時間窗的數(shù)據(jù)傳輸至匯聚節(jié)點,降低了節(jié)點的能量損耗。但所提出的方法固定了時間窗的寬度,降低了系統(tǒng)性能。因此,設(shè)計可變的時間窗,提高異常數(shù)據(jù)集的標注準確性是下一步改進方向。