馮尚聰,楊保華,黃 冬
(1.北京機電工程研究所,北京 100074;2.奔牛機場,江蘇 常州 213000)
導(dǎo)彈裝備研制、生產(chǎn)、使用等壽命周期內(nèi)產(chǎn)生、積累大量的數(shù)據(jù)信息,這些數(shù)據(jù)信息是工程應(yīng)用的基礎(chǔ),能夠為機器學(xué)習(xí)模型提供可靠的數(shù)據(jù)集,對于裝備故障預(yù)測、質(zhì)量判別、壽命預(yù)測等技術(shù)研究至關(guān)重要。由于在數(shù)據(jù)采集過程中測量精度、測量方法等因素引起的誤差、數(shù)據(jù)變異、錯誤信息等,導(dǎo)致數(shù)據(jù)信息含有不同程度的異常數(shù)據(jù),為數(shù)據(jù)精準(zhǔn)應(yīng)用帶來困擾;數(shù)據(jù)預(yù)處理包括數(shù)據(jù)清理、數(shù)據(jù)集成、變換以及數(shù)據(jù)規(guī)約3個部分,其中過濾掉奇異點、錯誤干擾項、噪音數(shù)據(jù)、不一致數(shù)據(jù)等,獲得高質(zhì)量的數(shù)據(jù)是數(shù)據(jù)清理的一項重要任務(wù)。針對導(dǎo)彈測試數(shù)據(jù)的預(yù)處理研究,空軍勤務(wù)學(xué)院王茜教授基于某型導(dǎo)彈測試流程,提出了測試數(shù)據(jù)奇異項和趨勢項的方法,設(shè)計數(shù)據(jù)預(yù)處理模塊并進行了仿真驗證。海軍航空大學(xué)周璐等人為了研究基于測試數(shù)據(jù)的導(dǎo)彈質(zhì)量評估工作,將測試數(shù)據(jù)進行篩選并調(diào)整測試模塊數(shù)據(jù)權(quán)重,最后進行歸一化處理。中國船舶工業(yè)綜合技術(shù)經(jīng)濟研究院吳立金等人在研究基于深度學(xué)習(xí)的裝備故障預(yù)測技術(shù)時,對數(shù)據(jù)處理提出通過故障數(shù)據(jù)特點分析進行數(shù)據(jù)的參數(shù)化研究,形成訓(xùn)練樣本和識別樣本,從而刪除原始數(shù)據(jù)中的偽信息。
武器系統(tǒng)的測試數(shù)據(jù)異常域包括異常點、異常曲線和異常簇等,當(dāng)前對異常數(shù)據(jù)的常見識別與處理方法主要包括統(tǒng)計模型方法、距離/密度檢測方法、聚類方法等,對異常數(shù)據(jù)點的檢測通常采用均方差、盒圖模型、曲線擬合等統(tǒng)計模型的方法,對異常數(shù)據(jù)曲線的檢測采用距離模型、深度學(xué)習(xí)模型等方法,對異常數(shù)據(jù)簇的檢測采用ITree(隔離樹)、聚類模型等深度學(xué)習(xí)方法。對于數(shù)據(jù)奇異點的算法研究,燕山大學(xué)張寧等人分別對基于統(tǒng)計、距離、密度、偏移等離群點檢測算法進行了歸納綜述,分析了其中的優(yōu)缺點。晉中學(xué)院信息技術(shù)與工程學(xué)院的李俊麗等人研究了高維數(shù)據(jù)的離群點檢測算法,描述了不確定數(shù)據(jù)和數(shù)據(jù)流離群檢測算法,提出了離群組合技術(shù)用于解決高維數(shù)據(jù)的關(guān)聯(lián)性。廣州珠江職業(yè)技術(shù)學(xué)院黃富平等人對現(xiàn)有的異常數(shù)據(jù)檢測邏輯進行改進,利用 Hadoop平臺作為異常數(shù)據(jù)檢測組的運行平臺,提出利用動態(tài)反饋模組對運算后輸出結(jié)果數(shù)據(jù)進行數(shù)據(jù)異常檢測,能夠?qū)﹄[性異常數(shù)據(jù)進行深度檢測。本文針對裝備數(shù)據(jù)異常域檢測方法能否適用于導(dǎo)彈裝備的測試數(shù)據(jù)進行詳細探討,充分吸收各算法優(yōu)勢,圍繞導(dǎo)彈測試數(shù)據(jù)的特點分類提出異常域檢測模型,滿足導(dǎo)彈測試數(shù)據(jù)在多場景工程應(yīng)用中的需求。
IQR
)將數(shù)據(jù)分為3個點和4個區(qū)間,表征第3個四分位數(shù)和第一個四分位數(shù)的差 (IQR
=Q
-Q
),異常點被定義為低于箱形圖下限(或Q
-1.
5x
IQR
)或高于箱形圖上限(或Q
+1.
5x
IQR
)的觀測值,考慮把上下限作為數(shù)據(jù)分布的邊界,任何高于上限或低于下限的數(shù)據(jù)點判定為異常點;任意一組數(shù)據(jù)集或觀測值都可以根據(jù)數(shù)據(jù)的值以及它們與整個數(shù)據(jù)集的比較情況被劃分為4個確定的間隔,如圖2所示。最小二乘法將數(shù)據(jù)集或觀測數(shù)據(jù)擬合成曲線,根據(jù)最小二乘原理,將實際值與利用曲線擬合計算值的離差的平方和最小為優(yōu)化判據(jù),回歸的關(guān)聯(lián)式不可能全部通過每個回歸數(shù)據(jù)點,借助相關(guān)系數(shù)“R”,剩余標(biāo)準(zhǔn)偏差“S”進行判斷;將“R”越偏離于 1且“S”越偏離于 0的值判定為異常點,算法原理如圖3所示。圖1 標(biāo)準(zhǔn)差法異常點檢測原理圖
圖2 盒圖模型異常點檢測原理圖
圖3 最小二乘法異常點檢測原理圖
k
的取值較為依賴,如果k
的取值太小,則少量的相鄰異常點容易計算出較低的臨近性度量值;如果k
的取值太大,而數(shù)據(jù)集點數(shù)偏少,則k
的簇中全部的數(shù)據(jù)點都有可能成為異常點,在工程實施過程中,通常取k
個最近鄰的平均距離作為鄰近性度量的基準(zhǔn),在計算過程中能夠規(guī)避上述問題。基于密度的異常檢測方法核心思想可以理解為將距離偏離度映射至異常點的密度分布區(qū)域,即異常點在低密度區(qū)域的分布,因此基于密度的異常點檢測與鄰近度的關(guān)系密切相關(guān),通常定義鄰域密度為到k
個最近鄰的平均距離的倒數(shù),如果該距離小,則鄰域密度高,偏離度亦小?;诿芏鹊漠惓|c檢測方法在定義密度概念的時候可根據(jù)數(shù)據(jù)屬性進行變換,可定義為一個數(shù)據(jù)對象周圍的密度等于該數(shù)據(jù)對象指定距離d
內(nèi)對象的個數(shù),該方法依賴于d
值的選取,如果d
取值太小,則許多正常數(shù)據(jù)對象可能具有較低密度,從而具有很高的異常點度量值;如果d
取值太大,則許多異常點可能具有與正常數(shù)據(jù)對象類似的密度值,因此,d
值的選取影響異常點檢測的準(zhǔn)確度;為了正確的識別數(shù)據(jù)集對象中的異常點,需要充分利用數(shù)據(jù)集鄰域相關(guān)的密度概念,通過定義點x
的密度與它的最近鄰y
的平均密度比值作為相對密度進行度量鄰域異常狀態(tài),使用相對密度的異常點檢測步驟如下。步驟1:對于指定的近鄰個數(shù)k
,基于數(shù)據(jù)集的最近鄰計算對象的密度d
(x
,k
);步驟2:依據(jù)d
(x
,k
)計算每個對象的異常點度量值;步驟3:計算點的鄰近平均密度和平均相對密度。相對密度指示點是否在比它的近鄰更稠密或更稀疏的鄰域內(nèi),并取作點的異常點度量比。
基于密度的檢測方法最具代表性的是局部離群因子檢測方法(LOF,local outlier factor),在LOF方法中,為每個數(shù)據(jù)點都分配一個依賴于鄰域密度的離群因子 LOF,判斷該數(shù)據(jù)點是否為離群點。判別規(guī)則為若LOF遠大于1,則該數(shù)據(jù)點為異常點;若 LOF 接近于 1,則該數(shù)據(jù)點為正常數(shù)據(jù)點,LOF值計算如公式(1)~(3)所示。
d
(o
,p
)=max{d
(o
,p
),d
(o
)}(1)
(2)
(3)
其中:K
為距離鄰域中的樣本點數(shù),d
(o
,p
)表示數(shù)據(jù)點o
到數(shù)據(jù)點p
的第k
可達距離;p
(o
)表示數(shù)據(jù)點p
的第k
局部可達密度,LOF
(p
)表示數(shù)據(jù)點p
的第k
局部離群因子。基于隔離樹(iTree)模型檢測方法是一種通過隔離實現(xiàn)異常檢測的方法,算法原理為用一個隨機平面來分區(qū)數(shù)據(jù)空間,一次可以生成兩個數(shù)據(jù)子空間,再繼續(xù)用一個隨機平面來分區(qū)每個數(shù)據(jù)子空間,循環(huán)分區(qū)直到每個數(shù)據(jù)子空間里面只有一個數(shù)據(jù)點為止,能夠發(fā)現(xiàn)那些密度很高的簇被隨機平面分區(qū)很多次是可以停止分區(qū)的,但是那些密度很低的點很容易被分割停到一個子空間中,從而實現(xiàn)將一個異類數(shù)據(jù)點從其他數(shù)據(jù)實例中隔離出來的效果。由于異常數(shù)據(jù)“少而不同”,因此這些異常數(shù)據(jù)更容易被檢測,隔離樹模型對異常產(chǎn)生明顯的較短路徑,因為異常的實例越少,導(dǎo)致分區(qū)數(shù)量越少,樹結(jié)構(gòu)中的路徑越短;具有可區(qū)分屬性值的實例容易在早期分區(qū)中被分離。因此,當(dāng)一個隔離樹對某些特定點產(chǎn)生較短的路徑長度時,這些點存在很大的異??赡苄浴?/p>隔離樹的表示方法為設(shè)
T
為隔離樹的一個節(jié)點,T
要么是沒有子節(jié)點的外部節(jié)點,要么是有一個測試和兩個子節(jié)點(T
,T
)的內(nèi)部節(jié)點,一個測試由一個屬性q
和一個分割值p
組成,這樣測試就可以將數(shù)據(jù)點劃分為T
和T
。如給定來自某變量分布的N
個實例的數(shù)據(jù)樣本X
={X
,…X
},在構(gòu)建隔離樹的過程中,通過隨機選擇屬性q
和分割值p
遞歸地劃分X
,直到滿足:樹達到高度極限、路徑為1或X
中的所有數(shù)據(jù)都具有相同的值。隔離樹隸屬于二叉樹,其中樹中的每個節(jié)點為零或兩個子節(jié)點。假設(shè)所有實例都是不同的,當(dāng)一個隔離樹完全增長時,每個實例都被孤立到一個外部節(jié)點,在這種情況下,外部節(jié)點的數(shù)量為N
,內(nèi)部節(jié)點的數(shù)量為N
-1;全部隔離樹的節(jié)點總數(shù)為2N
-1;異常檢測的任務(wù)是提供一個反映異常程度的排序,因此,可根據(jù)數(shù)據(jù)點的路徑長度或異常分?jǐn)?shù)對數(shù)據(jù)點進行排序,并由此可以看出異常域是排在列表頂部的區(qū)域。基于隔離樹模型檢測異常的實現(xiàn)步驟如下。步驟1:隔離樹模型訓(xùn)練。
①構(gòu)建一個孤立樹,選擇N
個數(shù)據(jù)集對象作為樣本集,放入樹的根節(jié)點;②設(shè)定樹的生長高度,隨機指定一個屬性,在當(dāng)前節(jié)點數(shù)據(jù)集范圍內(nèi),隨機產(chǎn)生一個切割點P
;切割點滿足在當(dāng)前節(jié)點屬性數(shù)據(jù)中的最大值與最小值范圍內(nèi);③切割點P
的選取生成了一個平面分割邏輯,將當(dāng)前節(jié)點數(shù)據(jù)空間切分為二個可度量子空間:把當(dāng)前所選屬性下小于P
的點放在節(jié)點的左分支,把大于等于P
的點放在節(jié)點的右分支;④在節(jié)點的左分支和右分支節(jié)點遞歸步驟②、③,不斷構(gòu)造新的葉子節(jié)點,直到葉子節(jié)點上只有一個數(shù)據(jù)點或孤立樹已經(jīng)生長到了所設(shè)定的高度。
步驟2:隔離樹模型檢測。
由步驟1獲得t
個隔離樹,將全部隔離樹統(tǒng)一起來形成隔離樹集,即孤立森林(iForest),然后可以用生成的孤立森林來評估測試數(shù)據(jù)了。對于一組訓(xùn)練數(shù)據(jù)X
,我們令其遍歷每一棵孤立樹,計算X
在孤立樹中的高度值(X
從根節(jié)點穿過隔離樹的邊數(shù)來衡量,直到遍歷在外部節(jié)點結(jié)束),并可以計算得出X
在每棵孤立樹中的高度平均值。獲得每個測試數(shù)據(jù)的高度平均值后,設(shè)置一個閾值,高度平均值低于此閾值的測試數(shù)據(jù)即為異常,說明異常點在這些樹中只有很短的平均高度。對于每個樣本X
,需要對其綜合計算每棵樹的結(jié)果,通過公式(4)計算測試數(shù)據(jù)的異常分?jǐn)?shù):S
(X
,n
)=2-(())()(4)
其中:E
(h
(x
)) 為隔離樹集合中的高度h
(x
)的平均值,c
(n
) 為給定樣本數(shù)n
的路徑長度的平均值,用來對樣本x
的路徑長度h
(x
) 進行標(biāo)準(zhǔn)化處理。由公式(2)可以得出當(dāng)E
(h
(x
))→c
(n
),異常得分接近 0.
5,認(rèn)為樣本中可能不存在異常點;當(dāng)E
(h
(x
))→0,異常得分接近 1,認(rèn)為x
為異常點;以及當(dāng)E
(h
(x
))→n
-1,異常得分s
遠小于0.
5,認(rèn)為x
為非異常點。K
個簇,讓簇內(nèi)的點盡量緊密的連在一起,而讓簇間的距離盡量的大。層次聚類把每個樣本值都視為一個類,計算各類之間的距離,選取最相近的兩個類,并為一個類;新類加入進樣本繼續(xù)計算距離,再合并最近的兩個類,循環(huán)歸類。DBSCAN是一種基于密度的聚類算法,通過從數(shù)據(jù)樣本集中隨機選擇核心點,以一個核心點為圓心,做半徑為r
的圓,選擇圓內(nèi)圈入點的數(shù)滿足密度閾值的核心點,且將圈內(nèi)的點形成一個簇,其中核心點直接密度可達周圍的其他實心原點,合并相互重合的簇區(qū)分類別。設(shè)輸入為樣本集為D
={X
,X
,…X
},聚類簇數(shù)為k
,最大迭代次數(shù)N
;輸出聚類簇為C
={C
,C
,…C
},則k-means聚類算法步驟如下:①從數(shù)據(jù)集D
中隨機選擇k
個樣本作為初始的k
個中心向量:μ
={μ
,μ
,…μ
};②初始化簇分類C
=φ
(1≤t
≤k
);C
={C
,C
,…,C
}。設(shè)輸入為樣本集為D
={X
,X
,…,X
},聚類簇距離度量函數(shù)為d
,聚類簇數(shù)為k
;層次聚類可用樹圖表示聚類過程,其算法流程為:①計算類與類之間的距離,用鄰近度矩陣表示;
②將距離最近的兩個類合并為一個新的類;
③根據(jù)新的類,更新鄰近度矩陣;
④重復(fù)步驟②、③,至剩下滿足K條件的類為止;層次聚類過程如圖4所示。
圖4 鄰近度矩陣表示層次聚類過程示意圖
設(shè)輸入為樣本集為D
={X
,X
,…,X
},鄰域半徑r
,鄰域中數(shù)據(jù)樣本數(shù)目閾值t
,鄰域半徑r
內(nèi)樣本點的數(shù)量大于等于t
的點叫做核心點,不屬于核心點但在某個核心點的鄰域內(nèi)的點叫做邊界點,既不是核心點也不是邊界點的是噪聲點。樣本距離度量方式d
,可選用歐式距離計算;輸出聚類簇為C
={C
,C
,…,C
};則DBSCAN聚類算法步驟如下:①從樣本集中任意選取一個數(shù)據(jù)樣本點p
,計算出其它樣本點到P
的距離;②根據(jù)每個樣本點到p
的距離,計算出p
的r
鄰域;如果鄰域內(nèi)樣本數(shù)目大于t
,則對于參數(shù)r
和t
,所選取的數(shù)據(jù)樣本點p
為核心點,可找出所有從p
密度可達的數(shù)據(jù)對象點,形成一個簇;③如果選取的數(shù)據(jù)樣本點p
是邊緣點,繼續(xù)選取另一個數(shù)據(jù)樣本點;④重復(fù)步驟②、③,直到所有樣本點被處理,輸出聚類簇。
通過k-means聚類、層次聚類、DBSCAN聚類等聚類方法獲取數(shù)據(jù)樣本的聚類簇后,根據(jù)數(shù)據(jù)特點進一步處理,將遠離數(shù)據(jù)簇中心數(shù)據(jù)樣本、與平均中心距離值偏差較大的數(shù)據(jù)樣本或簇密度低下的數(shù)據(jù)進行異常識別和判斷,以達到檢測異常的目的。
裝備測試數(shù)據(jù)包含系統(tǒng)、分系統(tǒng)及部件的測試數(shù)據(jù),某種程度上能夠反映裝備的故障情況或健康狀態(tài),在裝備使用過程中,部件或分系統(tǒng)的測試數(shù)據(jù)能夠通過裝備的分系統(tǒng)單元測試獲取,根據(jù)不同裝備的測試性設(shè)計要求,在全部的測試項目中每項測試信號異常均能表征裝備的若干故障模式;當(dāng)測試信號數(shù)據(jù)值在技術(shù)指標(biāo)范圍內(nèi)時,其與技術(shù)指標(biāo)標(biāo)準(zhǔn)中心值之間的偏離程度在數(shù)據(jù)量可信的情況下可以度量狀態(tài)的健康狀態(tài),甚至可以預(yù)測裝備的故障發(fā)生趨勢。測試項目為數(shù)字量信號的,其異常值一目了然,無需過多解讀,本文以測試信號模擬量為研究對象,針對裝備對測試數(shù)據(jù)不同依賴需求下的異常域進行分析,將分系統(tǒng)或部件的測試數(shù)據(jù)異常域分為如下3類:
1)某特征參數(shù)x
在測試序列中的異常點分布情況,即X
={X
,X
,…,X
},其中X
表示第i
次測試所產(chǎn)生的特征參數(shù)值,從數(shù)據(jù)序列中區(qū)分出異常點是一件較為容易的事,基于統(tǒng)計模型的方法、基于密度的檢測方法、基于聚類的檢測方法等均能檢測異常點分布,其中基于統(tǒng)計模型的方法在測試序列異常點的檢測中較為簡潔且常用的方法;此需求場景多為判斷分系統(tǒng)或部件中某特性參量在試驗或長期服役后是否仍滿足使用要求。2)某特征參數(shù)X
在一次測試過程中隨單元測試時間變化的異常曲線分布情況,即X
=f
(t
),如某參數(shù)在每次測試中均滿足區(qū)間內(nèi)指數(shù)分布或線性分布,用f
(t
)=wt
-或f
(t
)=wt
+b
表示,則會出現(xiàn)在某測試過程中隨著時序變化某測試時刻出現(xiàn)曲線異常情況,在樣本量充足的前提下基于曲線間距離偏移度、神經(jīng)網(wǎng)絡(luò)模型等均可以快速檢測異常曲線,其中基于曲線間距離偏離度的方法較為常用;表1 參數(shù)原始測試數(shù)據(jù)
此需求滿足特定器件、電路特定參數(shù)隨通電時間相關(guān)性較大的性能變化趨勢分析。
根據(jù)裝備測試數(shù)據(jù)特性及異常點的判別方法論述,在工程應(yīng)用中具體的實現(xiàn)步驟可參考如下:①利用自動測試系統(tǒng)進行進行測試特征參數(shù)值采集;②采集的特征參數(shù)值進行數(shù)據(jù)處理并進行在線比對分析,直觀判別超差參數(shù);③在參數(shù)無明顯超差的情況下,進行測試特征數(shù)據(jù)一致性分析,尋找特征參數(shù)、參數(shù)序列之間的關(guān)系或變化規(guī)律,確認(rèn)參數(shù)是否符合某種分布;④基于特征參數(shù)的規(guī)律特性選擇合適的異常點檢測方法,評估與預(yù)測裝備的狀態(tài)。可結(jié)合裝備的信息化管理,建設(shè)裝備參數(shù)模型庫、異常域檢測算法模型庫,模型庫嵌入測試系統(tǒng)軟件或裝備信息管理系統(tǒng)軟件,將測試結(jié)果數(shù)據(jù)分別進行自動數(shù)據(jù)處理、自主數(shù)據(jù)融合、自適應(yīng)模型判別、自生成輔助決策,提升裝備在大數(shù)據(jù)條件下的智能化自診斷水平。
對于復(fù)雜的導(dǎo)彈裝備,判斷其異常域往往涉及較多分系統(tǒng),如結(jié)構(gòu)、動力、制導(dǎo)、控制、雷達、電氣等,而表征各分系統(tǒng)的性能參數(shù)無論是參數(shù)數(shù)量、度量單位、技術(shù)指標(biāo)均存在較大差異,提取各分系統(tǒng)特征參數(shù)綜合形成一個較大的特征參數(shù)滿足整體導(dǎo)彈裝備的性能需求,特征參數(shù)構(gòu)成的異常域?qū)儆诟呔S數(shù)據(jù),進而演變成關(guān)于高維數(shù)據(jù)中異常點的挖掘研究,通過高維異常域的檢測判別裝備的性能狀態(tài)存在較大的難度,因此當(dāng)前對于裝備異常域的檢測仍集中于分系統(tǒng)及部件參數(shù),通過各分系統(tǒng)的異常域的檢測及分布情況,結(jié)合分系統(tǒng)在導(dǎo)彈裝備中的綜合權(quán)重,度量整個導(dǎo)彈裝備的測試數(shù)據(jù)異常域分布,進而評估導(dǎo)彈裝備的健康狀態(tài)或故障發(fā)生趨勢。
x
,y
分別為兩項測試信號,測試信號序列表征該分系統(tǒng)某部件當(dāng)前工作狀態(tài),從表中可以看出該數(shù)據(jù)序列每個參數(shù)項數(shù)據(jù)較為平滑,分別應(yīng)用局部離群因子檢測方法及DBSCAN檢測方法檢測數(shù)據(jù)序列{x
,y
}中的異常簇,檢測結(jié)果如圖5所示,均能將數(shù)據(jù)序列異常簇檢測隔離。圖5 局部離群因子與DBSCAN方法異常域檢測圖
本文詳細描述了導(dǎo)彈裝備在使用過程中的測試數(shù)據(jù)異常域分布及檢測需求,分析了基于統(tǒng)計模型、基于密度模型、基于隔離樹模型以及基于聚類模型等算法檢測異常域的基本原理與實現(xiàn)步驟,模擬了部分算法在檢測某測試序列異常簇的應(yīng)用,驗證了文中所描述異常域檢測方法在導(dǎo)彈裝備測試數(shù)據(jù)處理中的應(yīng)用;但由于各類算法在收斂性、調(diào)參情況、復(fù)雜度、樣本數(shù)據(jù)量需求等方面各不相同,以及模擬數(shù)據(jù)與實際數(shù)據(jù)之間的差異性,算法并不完全適用于多種條件下的數(shù)據(jù)異常域檢測,因此在導(dǎo)彈裝備更多復(fù)雜數(shù)據(jù)異常域檢測的應(yīng)用中,算法的實際運用效果仍需進一步探討與工程應(yīng)用。