陳硯橋,孫 彤,張僑禹
(1. 海軍工程大學 動力工程學院,湖北 武漢 430033;2. 中國艦船研究設計中心,湖北 武漢 430064)
目前,隨著我國海軍艦船裝備快速發展以及海軍戰略的轉型,艦船裝備的使用環境愈發苛刻,并對在航率要求逐漸提高。動力系統是艦船的“心臟”,決定了艦船的機動性和在航率,面對新形勢,艦船智能機艙是提升動力系統整體性能的最優選擇,其具有狀態監測、健康評估、視情維修、故障診斷、輔助決策等功能,能夠提升動力系統的穩定性、可靠性,并大大降低艦員的工作量,從而起到減員增效,提升艦船戰斗力等作用。
從目前艦船智能化研究[1-3]可以得出,數據采集是機艙裝備智能化的基礎,動力系統設備的數據采集測點高達數千,測試對象眾多、分布廣,而且動力系統工況復雜運行環境苛刻,在數據采集過程中,不可避免會發生采集信號異常現象,如測試儀器松動、電磁干擾、震動、儀器故障、信號轉換出錯以及人為因素等導致的異常數據產生。因此識別和清洗傳感器異常數據是提高測試數據質量的重要手段,對于艦船動力系統,優質的數據質量對于系統裝備的健康評估、視情維修、故障診斷及輔助決策等功能具有重要意義。
傳感器異常數據的識別檢測方法一般有人工檢測、基于專家系統和基于數據驅動的方法。人工檢測法需設定閾值,從而判數據是否超限,該方法操作簡單,但閾值的設定依賴大量工程經驗和試驗確定,而且閾值難以根據系統運行工況及測試環境動態修正。基于專家系統法需要建立一套規則知識模型識別異常,其識別率優于人工檢測法,但建立規則知識的難度大,且無法識別規則知識限定外的異常數據。基于數據驅動的異常數據識別方法,其可運用統計、數據挖掘等理論對數據建模,從而識別出異常數據,其不依賴專家知識,具有自學習能力,在數據量大、工況復雜的數據識別檢測場景具有較大的優勢,是智能機艙數據識別檢測的理想方法之一。
DBSCAN算法能夠利用類的高密度連通性,發現任意形狀的類,是基于數據驅動的異常數據識別方法之一。基本原理是:對于一個類中的每個數據,在給定半徑的空間中涵蓋的數據不能少于某一給定的最小數目[4]。該算法以數據集的局部密度將數據集分類,對于非球形分布的數據集,其具有較為理想的分類效果,并對不同空間分布特征的數據集有較好的適應性,可以識別任意形狀的簇[5]。DBSCAN聚類算法的數據檢測有很多研究成果:阮嘉琨[6]利用DBSCAN聚類算法檢測高速公路交通流的異常數據,有效進行數據分類并分離出異常數據樣本;潘淵洋[7]使用DBSCAN算法提取環境特征集,并依據特征集對異常數據進行識別檢測;于重重[8]采用DBSCAN聚類分析算法,建立了橋梁健康監測預測模型,對原始數據進行分段聚類分析預處理,實現橋梁健康狀況預測功能;蔡懷宇[9]在檢測三維激光雷達障礙物應用中,采用了將距離因素引入聚類鄰域半徑的DBSCAN算法,提高了聚類的準確性;郭保青[10]提出了利用測量序列極值點作為核心對象的DBSCAN聚類方法,依據點簇的運動分布特征判斷是否為正常通過的列車。
然而,傳統的DBSCAN聚類算法對于單一傳感器信號識別有較大優勢,但動力系統工況復雜,數據之間耦合強,很難以單一數據的聚類進行異常數據識別判定。而且動力系統長時間的運行后,某些性能參數有可能會偏離設計值,此時DBSCAN算法即失去數據聚類的功能,因此,本文提出基于多源數據的DBSCAN算法的數據異常檢測方法,用以表征系統狀態的多源數據組為對象進行聚類,基于試驗數據自動獲取、校正及更新聚類參數,并可通過定期智能獲取核心點,用以監測艦船動力系統的狀態變化趨勢。
1)DBSCAN聚類算法
DBSCAN算法是一種基于密度的空間聚類算法,基本原理為對于一個聚類中的每個對象,在給定半徑的鄰域中包含的對象不能少于某一給定的最小數目[11],該算法的關鍵在于定義局部密度,即給定一個鄰域閾值Eps和密度閾值MinPts,根據樣本的鄰域數據密集程度將樣本劃分為核心點和邊界點以及離群點,如圖1所示。核心點是其半徑為Eps的鄰域內包含的對象不少于MinPts個,而邊界點的含義是其與核心點距離不大于Eps,但其Eps鄰域內包含的對象少于MinPts個,離群點的含義是與核心點的距離大于Eps。最后將所有核心點按照密度可達分類從而輸出聚類,同一聚類中任意核心點均可按照鄰域Eps的距離依次連接達到到其余所有的核心點。

圖1 DBSCAN聚類示意圖Fig. 1 The schematic of DBSCAN cluster
DBSCAN算法的執行流程如圖2所示。2)DBSCAN聚類算法參數計算

圖2 DBSACAN算法流程圖Fig. 2 The flow diagram of DBSCAN cluster algorithm
通過DBSCAN算法流程圖可以得知,MinPts和Eps為輸入參數,其選值的情況對聚類效果影響很大,本文采用K-Dist升序曲線法和數據生成及系數校核聯合方法對MinPts和Eps參數進行選取和校核,流程圖如圖3所示。

圖3 Eps,MinPts系數計算及校核流程圖Fig. 3 The flow diagram of Eps and MinPts calculaion and correction
首先利用K-Dist升序圖方法初步確定Eps和MinPts,選擇10~15組數據樣本,令MinPts=4,K取4~6,對每組數據樣本計算最鄰近K的平均距離,并將這些數據樣本的最鄰近K平均距離進行升序排序,做出K-Dist升序曲線,如圖4所示,再根據曲線的拐點確定Eps參數;之后,根據Eps值,計算數據樣本內所有點鄰域內的密度期望作為MinPts參數。

圖4 基于10組樣本數據的K-Dist升序圖Fig. 4 The K-Dist ascending sort diagram based on 10 groups data
統計所有點鄰域Eps內的密度值,求其期望值作為MinPts值:

式中:n表示樣本點數;pi表示點i在Eps鄰域內包含的數據點數。
為了驗證得出的Eps以及MinPts是否合適,采用數據生成及校核程序對參數進行驗證,首先根據樣本數據得出樣本數據的均值、方差、峰度、偏度、極值數據特征,根據這些特征生成相似的驗證數據樣本,并按照一定比例生成異常數據,利用K-Dist升序圖方法得出的Eps和MinPts參數,調用DBSCAN聚類程序,進行異常數據的算法識別,并與之前生成的異常數據進行對比,若完全識別,則選取的Eps和MinPts參數合適,若出現數據識別失敗,則重新按照K-Dist升序圖方法選取Eps值,并計算MinPts參數,直到滿足數據生成及校核程序的驗證。
3)異常識別方法設計
基于DBSCAN聚類的異常識別方法的思路是利用歷史數據識別訓練得出的核心數據點及聚類參數,對采集數據進行異常數據識別,并定期基于近期的數據庫進行數據識別更新核心數據點及聚類參數,從而優化數據識別并掌握系統性能變化情況。
基于DBSCAN聚類的異常識別程序架構如圖5所示。該架構可以根據采集數據進行數據分類,計算MinPts和Eps參數,并通過數據生成及程序自查程序,驗證修正MinPts和Eps參數。通過DBSCAN聚類程序獲取各工況核心數據點;在數據采集過程中,程序會將采集數據與核心數據點進行歐幾里得距離計算,并與閾值Eps進行對比,從而得出正常和異常數據并將數據存入數據庫中;在動力系統運行每隔一段時間,利用數據庫進行一次程序修正,修正各工況MinPts和Eps參數以及工況核心數據點;通過觀測核心數據點的變化趨勢,可計算得出動力系統部分性能的變化趨勢。

圖5 基于DBSCAN聚類的多源數據異常識別程序架構Fig. 5 The framework of multi-source data detecting method based on DBSCAN cluster algorithm
程序流程圖如圖6所示。從采集系統得到運行參數數據組,根據工況參數,選取該工況參數對應的核心數據及聚類參數MinPts及Eps,調用DBSCAN聚類程序,若該參數組不符合聚類結果,則顯示為異常參數,觸發異常報警,并在數據庫中標記該異常數據組及傳感器通道。

圖6 異常識別調度程序流程Fig. 6 The flow diagram of data detecting subprogram
對于艦船動力系統,主動力滑油系統是確保動力裝置安全、穩定運行的關鍵系統。對于監測滑油系統的性能,一般采用監測動力裝置進口滑油壓力的方式,然而該參數受工況負荷、滑油泵轉速、滑油總管溫度的影響,因此只通過監測單一滑油壓力,并不能有效地識別異常數據。因此,仿真測試以滑油系統為測試案例,測試滑油總管溫度測點和總管壓力測點的傳感器數據識別功能。
對于滑油系統,工況負荷、滑油泵轉速、滑油總管溫度、油壓為耦合關系,在工況固定情況下,滑油泵轉速固定,滑油總管溫度與油壓呈一一對應關系。給出2組滑油總管溫度與總壓力的歸一化試驗數據,第1組數據為總管溫度變化趨勢較小,因此總管壓力變化也較小,如圖7所示。第2組數據為總管溫度在一定范圍內變化,而總管壓力變化范圍也較大,如圖8所示。

圖7 第1類數據,數據分析標記及測試數據識別結果Fig. 7 The data analysis and classification and test data detection for the 1st data group

圖8 第2類數據,數據分析、生成及識別結果Fig. 8 The data analysis and classification and test data detection for the 2ed data group
首先,基于2組工況數據,進行聚類參數和核心數據計算。利用數據生成程序,分別給每類數據生成10組試驗數據,通過參數更新程序,獲得MinPts及Eps參數,并基于系數校正程序進行系數校核。通過程序計算,發現對于第1類數據組,其參數偏差較大,在進行參數校正時,發生部分正常數據被誤判為異常數據,這也映證了K-Dist升序圖法對球形數據簇聚類效果較差,不過通過本文提出的系數校正程序,對MinPts及Eps進行了自動校正,此時聚類效果明顯改善。圖7展示了程序對原始試驗數據的聚類分析,標記出了核心數據和非核心數據;對于第2類數據組(見圖8),參數更新程序獲得的MinPts及Eps參數較為合適,并通過數據生成及系數校正程序的系數校核,同時展示了程序對原始試驗數據的聚類分析,標記出了核心數據和非核心數據。
其次,圖7和圖8展示了程序對異常數據的檢驗結果。根據原始數據的數據特征(均值、方差、峰度、偏度)生成測試數據,每組數據40個,并包含5%的與正常數據相差15%以上的異常數據進行聚類分析。可以看出,程序可成功標記兩類試驗數據的正常數據和異常數據。綜上,通過本文提出的基于DBSCAN的艦船多源數據異常檢測方法,可以對測試數據進行判斷分析,標記正常數據和異常數據,且對與正常信號相差15%以上的異常數據的分析結果,識別度達到100%。
本文針對艦船動力系統的數據特征,建立了基于DBSCAN的艦船多源數據異常檢測方法,介紹了該檢測方法的程序框架、程序流程,并基于典型的滑油系統數據進行檢測測試。經過測試,該檢測方法可以對測試數據進行分析,自動得出并修正聚類參數,且對正常信號相差15%以上的異常數據檢測結果識別度達到100%,提出的異常數據檢測方法可行有效,可以作為智能機艙數據處理系統的方案之一。