陳硯橋,孫 彤,張僑禹
(1. 海軍工程大學 動力工程學院,湖北 武漢 430033;2. 中國艦船研究設(shè)計中心,湖北 武漢 430064)
目前,隨著我國海軍艦船裝備快速發(fā)展以及海軍戰(zhàn)略的轉(zhuǎn)型,艦船裝備的使用環(huán)境愈發(fā)苛刻,并對在航率要求逐漸提高。動力系統(tǒng)是艦船的“心臟”,決定了艦船的機動性和在航率,面對新形勢,艦船智能機艙是提升動力系統(tǒng)整體性能的最優(yōu)選擇,其具有狀態(tài)監(jiān)測、健康評估、視情維修、故障診斷、輔助決策等功能,能夠提升動力系統(tǒng)的穩(wěn)定性、可靠性,并大大降低艦員的工作量,從而起到減員增效,提升艦船戰(zhàn)斗力等作用。
從目前艦船智能化研究[1-3]可以得出,數(shù)據(jù)采集是機艙裝備智能化的基礎(chǔ),動力系統(tǒng)設(shè)備的數(shù)據(jù)采集測點高達數(shù)千,測試對象眾多、分布廣,而且動力系統(tǒng)工況復雜運行環(huán)境苛刻,在數(shù)據(jù)采集過程中,不可避免會發(fā)生采集信號異?,F(xiàn)象,如測試儀器松動、電磁干擾、震動、儀器故障、信號轉(zhuǎn)換出錯以及人為因素等導致的異常數(shù)據(jù)產(chǎn)生。因此識別和清洗傳感器異常數(shù)據(jù)是提高測試數(shù)據(jù)質(zhì)量的重要手段,對于艦船動力系統(tǒng),優(yōu)質(zhì)的數(shù)據(jù)質(zhì)量對于系統(tǒng)裝備的健康評估、視情維修、故障診斷及輔助決策等功能具有重要意義。
傳感器異常數(shù)據(jù)的識別檢測方法一般有人工檢測、基于專家系統(tǒng)和基于數(shù)據(jù)驅(qū)動的方法。人工檢測法需設(shè)定閾值,從而判數(shù)據(jù)是否超限,該方法操作簡單,但閾值的設(shè)定依賴大量工程經(jīng)驗和試驗確定,而且閾值難以根據(jù)系統(tǒng)運行工況及測試環(huán)境動態(tài)修正。基于專家系統(tǒng)法需要建立一套規(guī)則知識模型識別異常,其識別率優(yōu)于人工檢測法,但建立規(guī)則知識的難度大,且無法識別規(guī)則知識限定外的異常數(shù)據(jù)。基于數(shù)據(jù)驅(qū)動的異常數(shù)據(jù)識別方法,其可運用統(tǒng)計、數(shù)據(jù)挖掘等理論對數(shù)據(jù)建模,從而識別出異常數(shù)據(jù),其不依賴專家知識,具有自學習能力,在數(shù)據(jù)量大、工況復雜的數(shù)據(jù)識別檢測場景具有較大的優(yōu)勢,是智能機艙數(shù)據(jù)識別檢測的理想方法之一。
DBSCAN算法能夠利用類的高密度連通性,發(fā)現(xiàn)任意形狀的類,是基于數(shù)據(jù)驅(qū)動的異常數(shù)據(jù)識別方法之一?;驹硎牵簩τ谝粋€類中的每個數(shù)據(jù),在給定半徑的空間中涵蓋的數(shù)據(jù)不能少于某一給定的最小數(shù)目[4]。該算法以數(shù)據(jù)集的局部密度將數(shù)據(jù)集分類,對于非球形分布的數(shù)據(jù)集,其具有較為理想的分類效果,并對不同空間分布特征的數(shù)據(jù)集有較好的適應(yīng)性,可以識別任意形狀的簇[5]。DBSCAN聚類算法的數(shù)據(jù)檢測有很多研究成果:阮嘉琨[6]利用DBSCAN聚類算法檢測高速公路交通流的異常數(shù)據(jù),有效進行數(shù)據(jù)分類并分離出異常數(shù)據(jù)樣本;潘淵洋[7]使用DBSCAN算法提取環(huán)境特征集,并依據(jù)特征集對異常數(shù)據(jù)進行識別檢測;于重重[8]采用DBSCAN聚類分析算法,建立了橋梁健康監(jiān)測預測模型,對原始數(shù)據(jù)進行分段聚類分析預處理,實現(xiàn)橋梁健康狀況預測功能;蔡懷宇[9]在檢測三維激光雷達障礙物應(yīng)用中,采用了將距離因素引入聚類鄰域半徑的DBSCAN算法,提高了聚類的準確性;郭保青[10]提出了利用測量序列極值點作為核心對象的DBSCAN聚類方法,依據(jù)點簇的運動分布特征判斷是否為正常通過的列車。
然而,傳統(tǒng)的DBSCAN聚類算法對于單一傳感器信號識別有較大優(yōu)勢,但動力系統(tǒng)工況復雜,數(shù)據(jù)之間耦合強,很難以單一數(shù)據(jù)的聚類進行異常數(shù)據(jù)識別判定。而且動力系統(tǒng)長時間的運行后,某些性能參數(shù)有可能會偏離設(shè)計值,此時DBSCAN算法即失去數(shù)據(jù)聚類的功能,因此,本文提出基于多源數(shù)據(jù)的DBSCAN算法的數(shù)據(jù)異常檢測方法,用以表征系統(tǒng)狀態(tài)的多源數(shù)據(jù)組為對象進行聚類,基于試驗數(shù)據(jù)自動獲取、校正及更新聚類參數(shù),并可通過定期智能獲取核心點,用以監(jiān)測艦船動力系統(tǒng)的狀態(tài)變化趨勢。
1)DBSCAN聚類算法
DBSCAN算法是一種基于密度的空間聚類算法,基本原理為對于一個聚類中的每個對象,在給定半徑的鄰域中包含的對象不能少于某一給定的最小數(shù)目[11],該算法的關(guān)鍵在于定義局部密度,即給定一個鄰域閾值Eps和密度閾值MinPts,根據(jù)樣本的鄰域數(shù)據(jù)密集程度將樣本劃分為核心點和邊界點以及離群點,如圖1所示。核心點是其半徑為Eps的鄰域內(nèi)包含的對象不少于MinPts個,而邊界點的含義是其與核心點距離不大于Eps,但其Eps鄰域內(nèi)包含的對象少于MinPts個,離群點的含義是與核心點的距離大于Eps。最后將所有核心點按照密度可達分類從而輸出聚類,同一聚類中任意核心點均可按照鄰域Eps的距離依次連接達到到其余所有的核心點。
圖1 DBSCAN聚類示意圖Fig. 1 The schematic of DBSCAN cluster
DBSCAN算法的執(zhí)行流程如圖2所示。2)DBSCAN聚類算法參數(shù)計算
圖2 DBSACAN算法流程圖Fig. 2 The flow diagram of DBSCAN cluster algorithm
通過DBSCAN算法流程圖可以得知,MinPts和Eps為輸入?yún)?shù),其選值的情況對聚類效果影響很大,本文采用K-Dist升序曲線法和數(shù)據(jù)生成及系數(shù)校核聯(lián)合方法對MinPts和Eps參數(shù)進行選取和校核,流程圖如圖3所示。
圖3 Eps,MinPts系數(shù)計算及校核流程圖Fig. 3 The flow diagram of Eps and MinPts calculaion and correction
首先利用K-Dist升序圖方法初步確定Eps和MinPts,選擇10~15組數(shù)據(jù)樣本,令MinPts=4,K取4~6,對每組數(shù)據(jù)樣本計算最鄰近K的平均距離,并將這些數(shù)據(jù)樣本的最鄰近K平均距離進行升序排序,做出K-Dist升序曲線,如圖4所示,再根據(jù)曲線的拐點確定Eps參數(shù);之后,根據(jù)Eps值,計算數(shù)據(jù)樣本內(nèi)所有點鄰域內(nèi)的密度期望作為MinPts參數(shù)。
圖4 基于10組樣本數(shù)據(jù)的K-Dist升序圖Fig. 4 The K-Dist ascending sort diagram based on 10 groups data
統(tǒng)計所有點鄰域Eps內(nèi)的密度值,求其期望值作為MinPts值:
式中:n表示樣本點數(shù);pi表示點i在Eps鄰域內(nèi)包含的數(shù)據(jù)點數(shù)。
為了驗證得出的Eps以及MinPts是否合適,采用數(shù)據(jù)生成及校核程序?qū)?shù)進行驗證,首先根據(jù)樣本數(shù)據(jù)得出樣本數(shù)據(jù)的均值、方差、峰度、偏度、極值數(shù)據(jù)特征,根據(jù)這些特征生成相似的驗證數(shù)據(jù)樣本,并按照一定比例生成異常數(shù)據(jù),利用K-Dist升序圖方法得出的Eps和MinPts參數(shù),調(diào)用DBSCAN聚類程序,進行異常數(shù)據(jù)的算法識別,并與之前生成的異常數(shù)據(jù)進行對比,若完全識別,則選取的Eps和MinPts參數(shù)合適,若出現(xiàn)數(shù)據(jù)識別失敗,則重新按照K-Dist升序圖方法選取Eps值,并計算MinPts參數(shù),直到滿足數(shù)據(jù)生成及校核程序的驗證。
3)異常識別方法設(shè)計
基于DBSCAN聚類的異常識別方法的思路是利用歷史數(shù)據(jù)識別訓練得出的核心數(shù)據(jù)點及聚類參數(shù),對采集數(shù)據(jù)進行異常數(shù)據(jù)識別,并定期基于近期的數(shù)據(jù)庫進行數(shù)據(jù)識別更新核心數(shù)據(jù)點及聚類參數(shù),從而優(yōu)化數(shù)據(jù)識別并掌握系統(tǒng)性能變化情況。
基于DBSCAN聚類的異常識別程序架構(gòu)如圖5所示。該架構(gòu)可以根據(jù)采集數(shù)據(jù)進行數(shù)據(jù)分類,計算MinPts和Eps參數(shù),并通過數(shù)據(jù)生成及程序自查程序,驗證修正MinPts和Eps參數(shù)。通過DBSCAN聚類程序獲取各工況核心數(shù)據(jù)點;在數(shù)據(jù)采集過程中,程序會將采集數(shù)據(jù)與核心數(shù)據(jù)點進行歐幾里得距離計算,并與閾值Eps進行對比,從而得出正常和異常數(shù)據(jù)并將數(shù)據(jù)存入數(shù)據(jù)庫中;在動力系統(tǒng)運行每隔一段時間,利用數(shù)據(jù)庫進行一次程序修正,修正各工況MinPts和Eps參數(shù)以及工況核心數(shù)據(jù)點;通過觀測核心數(shù)據(jù)點的變化趨勢,可計算得出動力系統(tǒng)部分性能的變化趨勢。
圖5 基于DBSCAN聚類的多源數(shù)據(jù)異常識別程序架構(gòu)Fig. 5 The framework of multi-source data detecting method based on DBSCAN cluster algorithm
程序流程圖如圖6所示。從采集系統(tǒng)得到運行參數(shù)數(shù)據(jù)組,根據(jù)工況參數(shù),選取該工況參數(shù)對應(yīng)的核心數(shù)據(jù)及聚類參數(shù)MinPts及Eps,調(diào)用DBSCAN聚類程序,若該參數(shù)組不符合聚類結(jié)果,則顯示為異常參數(shù),觸發(fā)異常報警,并在數(shù)據(jù)庫中標記該異常數(shù)據(jù)組及傳感器通道。
圖6 異常識別調(diào)度程序流程Fig. 6 The flow diagram of data detecting subprogram
對于艦船動力系統(tǒng),主動力滑油系統(tǒng)是確保動力裝置安全、穩(wěn)定運行的關(guān)鍵系統(tǒng)。對于監(jiān)測滑油系統(tǒng)的性能,一般采用監(jiān)測動力裝置進口滑油壓力的方式,然而該參數(shù)受工況負荷、滑油泵轉(zhuǎn)速、滑油總管溫度的影響,因此只通過監(jiān)測單一滑油壓力,并不能有效地識別異常數(shù)據(jù)。因此,仿真測試以滑油系統(tǒng)為測試案例,測試滑油總管溫度測點和總管壓力測點的傳感器數(shù)據(jù)識別功能。
對于滑油系統(tǒng),工況負荷、滑油泵轉(zhuǎn)速、滑油總管溫度、油壓為耦合關(guān)系,在工況固定情況下,滑油泵轉(zhuǎn)速固定,滑油總管溫度與油壓呈一一對應(yīng)關(guān)系。給出2組滑油總管溫度與總壓力的歸一化試驗數(shù)據(jù),第1組數(shù)據(jù)為總管溫度變化趨勢較小,因此總管壓力變化也較小,如圖7所示。第2組數(shù)據(jù)為總管溫度在一定范圍內(nèi)變化,而總管壓力變化范圍也較大,如圖8所示。
圖7 第1類數(shù)據(jù),數(shù)據(jù)分析標記及測試數(shù)據(jù)識別結(jié)果Fig. 7 The data analysis and classification and test data detection for the 1st data group
圖8 第2類數(shù)據(jù),數(shù)據(jù)分析、生成及識別結(jié)果Fig. 8 The data analysis and classification and test data detection for the 2ed data group
首先,基于2組工況數(shù)據(jù),進行聚類參數(shù)和核心數(shù)據(jù)計算。利用數(shù)據(jù)生成程序,分別給每類數(shù)據(jù)生成10組試驗數(shù)據(jù),通過參數(shù)更新程序,獲得MinPts及Eps參數(shù),并基于系數(shù)校正程序進行系數(shù)校核。通過程序計算,發(fā)現(xiàn)對于第1類數(shù)據(jù)組,其參數(shù)偏差較大,在進行參數(shù)校正時,發(fā)生部分正常數(shù)據(jù)被誤判為異常數(shù)據(jù),這也映證了K-Dist升序圖法對球形數(shù)據(jù)簇聚類效果較差,不過通過本文提出的系數(shù)校正程序,對MinPts及Eps進行了自動校正,此時聚類效果明顯改善。圖7展示了程序?qū)υ荚囼灁?shù)據(jù)的聚類分析,標記出了核心數(shù)據(jù)和非核心數(shù)據(jù);對于第2類數(shù)據(jù)組(見圖8),參數(shù)更新程序獲得的MinPts及Eps參數(shù)較為合適,并通過數(shù)據(jù)生成及系數(shù)校正程序的系數(shù)校核,同時展示了程序?qū)υ荚囼灁?shù)據(jù)的聚類分析,標記出了核心數(shù)據(jù)和非核心數(shù)據(jù)。
其次,圖7和圖8展示了程序?qū)Ξ惓?shù)據(jù)的檢驗結(jié)果。根據(jù)原始數(shù)據(jù)的數(shù)據(jù)特征(均值、方差、峰度、偏度)生成測試數(shù)據(jù),每組數(shù)據(jù)40個,并包含5%的與正常數(shù)據(jù)相差15%以上的異常數(shù)據(jù)進行聚類分析。可以看出,程序可成功標記兩類試驗數(shù)據(jù)的正常數(shù)據(jù)和異常數(shù)據(jù)。綜上,通過本文提出的基于DBSCAN的艦船多源數(shù)據(jù)異常檢測方法,可以對測試數(shù)據(jù)進行判斷分析,標記正常數(shù)據(jù)和異常數(shù)據(jù),且對與正常信號相差15%以上的異常數(shù)據(jù)的分析結(jié)果,識別度達到100%。
本文針對艦船動力系統(tǒng)的數(shù)據(jù)特征,建立了基于DBSCAN的艦船多源數(shù)據(jù)異常檢測方法,介紹了該檢測方法的程序框架、程序流程,并基于典型的滑油系統(tǒng)數(shù)據(jù)進行檢測測試。經(jīng)過測試,該檢測方法可以對測試數(shù)據(jù)進行分析,自動得出并修正聚類參數(shù),且對正常信號相差15%以上的異常數(shù)據(jù)檢測結(jié)果識別度達到100%,提出的異常數(shù)據(jù)檢測方法可行有效,可以作為智能機艙數(shù)據(jù)處理系統(tǒng)的方案之一。