王鵬宇 卞光浪 秦 剛
(中國(guó)人民解放軍91550部隊(duì) 大連 116023)
飛行器測(cè)控系統(tǒng)在實(shí)時(shí)數(shù)據(jù)處理過程中,需完成對(duì)目標(biāo)外測(cè)及傳感器參數(shù)采集、傳輸、量化、解算與存儲(chǔ)。解算的結(jié)果數(shù)據(jù)包括飛行器的軌跡信息、關(guān)鍵動(dòng)力系統(tǒng)和電子系統(tǒng)的傳感器參數(shù)及指令信息、氣象及環(huán)境信息等。綜合分析以上信息,可以判定目標(biāo)整次飛行狀態(tài)是否正常[1]。
然而,直接利用未經(jīng)任何分析與處理的解算結(jié)果數(shù)據(jù)進(jìn)行狀態(tài)預(yù)測(cè),受數(shù)據(jù)質(zhì)量影響,預(yù)測(cè)結(jié)果與真實(shí)情況存在較大偏差。對(duì)數(shù)據(jù)質(zhì)量的影響主要來自以下方面:1)飛行器系統(tǒng)內(nèi)傳感器精度受限、傳感器特定條件下工作故障及元器件間電磁兼容性不好帶來的噪聲影響;2)數(shù)據(jù)在無線信道傳輸過程中受雜波干擾、大型屏蔽物遮擋反射產(chǎn)生多徑效應(yīng)造成接收端誤碼率顯著提高;3)測(cè)量設(shè)備自身精度問題及解算軟件數(shù)學(xué)模型系統(tǒng)誤差帶來的干擾。
針對(duì)以上問題,在利用實(shí)時(shí)解算出的結(jié)果數(shù)據(jù)進(jìn)行狀態(tài)預(yù)測(cè)前,需提高數(shù)據(jù)質(zhì)量,盡量消除異常數(shù)據(jù)干擾并降低誤差數(shù)據(jù)的影響。本文針對(duì)工程需求,提出了一套適合測(cè)控系統(tǒng)的數(shù)據(jù)分析處理方法,在實(shí)際應(yīng)用中取得了良好效果。
飛行器作為被測(cè)單元,在飛行過程中,多臺(tái)次多類型測(cè)量設(shè)備遠(yuǎn)程接收無線信號(hào),經(jīng)過整合處理后,通過網(wǎng)絡(luò)進(jìn)入實(shí)時(shí)處理軟件單元。軟件單元作為整個(gè)測(cè)控系統(tǒng)的一個(gè)核心部件,實(shí)時(shí)解算被測(cè)單元的軌跡信息、單元內(nèi)部各分系統(tǒng)傳感器參數(shù)及指令信息、被測(cè)單元工作的環(huán)境信息等。這些解算信息用于評(píng)價(jià)被測(cè)對(duì)象整體工作是否正常,尤其是被測(cè)對(duì)象存在異常時(shí),需要利用解算信息快速對(duì)工作狀態(tài)定量評(píng)估。
本文研究重點(diǎn)為圖1中虛線框圖內(nèi)的分析與處理單元。對(duì)狀態(tài)的預(yù)測(cè)一般采用智能算法中的機(jī)器學(xué)習(xí)模型,本文主要采用帶有標(biāo)簽的機(jī)器學(xué)習(xí)模型,模型使用前需要利用歷史數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,歷次數(shù)據(jù)的質(zhì)量直接影響模型分類預(yù)測(cè)的效果。所以需要對(duì)存儲(chǔ)于數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行可視化分析、質(zhì)量清洗,消除噪聲干擾和異常數(shù)據(jù),進(jìn)一步分析數(shù)據(jù)特征,在高維度數(shù)據(jù)中提取有價(jià)值的特征,以上步驟作為數(shù)據(jù)的分析部分。而后對(duì)數(shù)據(jù)進(jìn)行處理:為整合好的數(shù)據(jù)選取適合的分類或預(yù)測(cè)模型進(jìn)行訓(xùn)練,分別在訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集中選取樣本對(duì)模型預(yù)測(cè)效果進(jìn)行測(cè)試,評(píng)價(jià)模型關(guān)鍵指標(biāo)。在應(yīng)用中,需要依據(jù)模型評(píng)估結(jié)果重新分析并選取訓(xùn)練數(shù)據(jù)集,多次迭代、更新模型參數(shù),最終確定可以上線應(yīng)用的模型。下節(jié)將著重介紹適用于測(cè)控系統(tǒng)領(lǐng)域的數(shù)據(jù)分析與處理方法[2~5]。
圖1 測(cè)控系統(tǒng)數(shù)據(jù)處理流程圖
在接觸海量數(shù)據(jù)之后,首先總體掌握樣本數(shù)量、維度,每個(gè)維度存在的缺失值;分析每個(gè)特征的統(tǒng)計(jì)特性,一般包括特征的數(shù)據(jù)類型、均值、方差、數(shù)據(jù)概率分布、中位數(shù)、百分比位數(shù)、極值、樣本分類等;借助曲線、圖形工具,對(duì)數(shù)據(jù)特性進(jìn)行展示,用柱狀圖或餅圖展示離散型特征的分布、使用直方圖展示特征概率分布、使用箱圖展示數(shù)據(jù)異常分布等。
在本系統(tǒng)中,數(shù)據(jù)缺失包括某一時(shí)刻整條樣本缺失或單獨(dú)一個(gè)特征缺失。整條樣本缺失是由于測(cè)量設(shè)備受外部干擾未能正常捕捉被測(cè)目標(biāo)或?qū)崟r(shí)處理軟件所在服務(wù)器網(wǎng)絡(luò)端數(shù)據(jù)阻塞造成數(shù)據(jù)丟失;單獨(dú)特征缺失是由于被測(cè)目標(biāo)傳感器異?;?qū)崟r(shí)處理軟件輸入數(shù)據(jù)不滿足解算條件造成的。本系統(tǒng)每條樣本在被實(shí)時(shí)處理軟件采集時(shí),軟件程序會(huì)主動(dòng)添加采樣時(shí)刻的絕對(duì)時(shí)間作為標(biāo)簽,數(shù)據(jù)分析時(shí)通過比較前后點(diǎn)標(biāo)簽時(shí)間差,當(dāng)差值超過一個(gè)采樣周期即可判斷存在樣本缺失[6]。
對(duì)缺失值填充時(shí),本文按樣本特征逐個(gè)處理,以時(shí)間遞增順序查找是否存在缺失。當(dāng)存在缺失值時(shí),首先判斷此刻是否為整條樣本缺失,如果整條樣本缺失則不做填充,因?yàn)槿藶閷?duì)整條樣本多個(gè)缺失特征添加會(huì)帶來較大的主觀干擾。如果是單獨(dú)一個(gè)非連續(xù)少量特征缺失,采用前向或后項(xiàng)臨近值填充;如果單獨(dú)特征連續(xù)缺失,則采用拉格朗日或牛頓插值法進(jìn)行填充;對(duì)于缺失特征與其他特征存在確定性函數(shù)關(guān)系時(shí),也可通過建模方式填充,如飛行軌跡經(jīng)緯度缺失時(shí),可以利用地心直角坐標(biāo)系下的取值通過坐標(biāo)變換方式進(jìn)行推導(dǎo)計(jì)算。
在探索性數(shù)據(jù)分析時(shí),利用箱式圖檢查極大極小異常值;通過N點(diǎn)端點(diǎn)或中值濾波方式檢查局部波動(dòng)值;通過合理性檢查確定異常取值。
部分極大極小值可能是由于二進(jìn)制數(shù)據(jù)傳輸中符號(hào)位或高位字節(jié)誤碼造成量化后取值過大或過小,利用按位操作逐位取反后與正常值比較,如果落入正常取值范圍則用該值替代極值,否則用均值或前后向填充方式替代極值;局部波動(dòng)值可以利用濾波預(yù)測(cè)值替代,對(duì)數(shù)據(jù)進(jìn)行平滑;對(duì)于具有明確含義的特性,如軌跡經(jīng)緯度明顯超出了預(yù)定范圍,或某分系統(tǒng)處于高速運(yùn)行條件時(shí)對(duì)應(yīng)的溫度卻偏低,可以利用濾波值或合理范圍的邊界值替代[7~8]。
由于不同坐標(biāo)系下的軌跡參數(shù),不同分系統(tǒng)的傳感器參數(shù)表示的物理量綱不同,取值范圍差別較大,直接進(jìn)入分類或預(yù)測(cè)模型,取值較大的特征會(huì)抑制取值較小特征,對(duì)結(jié)果判定會(huì)產(chǎn)生主要影響。所以需要將所有特征統(tǒng)一處理,可采用最大-最小規(guī)范化(如式1所示)或零均值規(guī)范化(如式2所示)。其中x為原始數(shù)據(jù),x′為變換后的數(shù)據(jù)。
對(duì)于表示程序流程或硬件時(shí)序等狀態(tài)特征,這些特征取值使用特定數(shù)據(jù)代表不同狀態(tài),但實(shí)際不同狀態(tài)并無數(shù)值上大小的差異,為排除數(shù)字量取值大小帶來的干擾,需要進(jìn)行獨(dú)熱編碼。如S的不同狀態(tài)A、B、C用原始數(shù)據(jù)0、1、2表示,轉(zhuǎn)換后用S1、S2、S3替代S,取值分別為100、010、001,這樣每個(gè)SN僅取0或1代表二值狀態(tài)。
對(duì)于狀態(tài)故障預(yù)測(cè)時(shí),由于實(shí)際生產(chǎn)測(cè)試環(huán)境中,故障樣本較少,占比總樣本的數(shù)量?jī)H能達(dá)到百分之一左右,如果將全體樣本注入分類模型,預(yù)測(cè)結(jié)果將產(chǎn)生嚴(yán)重過擬合,分類器為達(dá)到總體指標(biāo)最優(yōu),會(huì)將多數(shù)故障樣本預(yù)測(cè)為正常狀態(tài),對(duì)本文關(guān)心的故障狀態(tài)判決產(chǎn)生較大漏報(bào)概率。通用做法為對(duì)正常樣本欠采樣或?qū)收蠘颖具^采樣,欠采樣容易丟失樣本中數(shù)據(jù)的重要信息,本文采用SMOTE屬于過采樣法,對(duì)樣本進(jìn)行平衡處理[9~10]。
由于每條樣本具有數(shù)十至幾百個(gè)特征,直接將所有特征都注入分類或預(yù)測(cè)器,無關(guān)特征對(duì)于分類預(yù)測(cè)模型是一種干擾,影響結(jié)果判定的準(zhǔn)確性;而多個(gè)具有線性關(guān)聯(lián)的特征都注入分類預(yù)測(cè)模型,將增加運(yùn)算負(fù)載,僅選取其中一個(gè)質(zhì)量最好的特征作為代表即可。
對(duì)于有標(biāo)簽樣本,對(duì)比不同類別標(biāo)簽下的特征概率密度分布,保留概率分布差異較大的特征是有效的特征篩選方法。特征值分解及奇異值分解,作為兩種主要的主成分分析法,能夠有效壓縮特征維度并去除噪聲干擾。
經(jīng)過以上5個(gè)步驟,完成了對(duì)原始數(shù)據(jù)的預(yù)處理,需要選擇合適的模型完成分類或預(yù)測(cè)任務(wù)。在實(shí)時(shí)測(cè)控系統(tǒng)中,對(duì)系統(tǒng)參數(shù)或飛行軌跡的估計(jì),可選用1階線性回歸模型或帶有懲罰因子高階回歸模型;對(duì)于系統(tǒng)工作狀態(tài)的預(yù)測(cè),可選用Logistic或決策樹模型,以此為基礎(chǔ)分類器結(jié)合隨機(jī)森林,可以提高結(jié)果判定的準(zhǔn)確度;對(duì)于飛行器落地點(diǎn)的預(yù)測(cè),可采用無標(biāo)簽的非監(jiān)督模型對(duì)所有位置聚類分類,并結(jié)合專家干預(yù),選取某聚類中心作為預(yù)測(cè)結(jié)果。
本節(jié)實(shí)驗(yàn)數(shù)據(jù)是通過計(jì)算機(jī)按實(shí)際數(shù)據(jù)特性仿真得出的,并通過特征值分解對(duì)數(shù)據(jù)進(jìn)行了預(yù)處理,以此達(dá)到兩個(gè)目的:1)提取主要成分并排除一定干擾項(xiàng),從而提高數(shù)據(jù)質(zhì)量、降低數(shù)據(jù)維度,是數(shù)據(jù)清洗的一個(gè)重要環(huán)節(jié);2)完成數(shù)據(jù)變換,結(jié)合坐標(biāo)轉(zhuǎn)換及尺度縮放,對(duì)數(shù)據(jù)進(jìn)行脫密處理。
本節(jié)以Python語言為基礎(chǔ),利用第三方庫numpy實(shí)現(xiàn)數(shù)據(jù)的仿真、數(shù)組及矩陣運(yùn)算,利用pandas讀取海量數(shù)據(jù),并完成對(duì)大數(shù)據(jù)集的行列操作及分析,借助matplotlib對(duì)數(shù)據(jù)分析結(jié)果進(jìn)行展示,最后在第四節(jié)中通過sklearn的回歸方法對(duì)系統(tǒng)狀態(tài)進(jìn)行分類預(yù)測(cè)。
讀取40萬條樣本數(shù)據(jù),首先從整體了解每條樣本包含的特征維度,每個(gè)特征的類型、是否存在缺失值。對(duì)于離散型數(shù)據(jù),要掌握其取值類別,連續(xù)型數(shù)據(jù)掌握其類型、極值、均值、百分比分位數(shù)、方差等信息。從整體把握各特征數(shù)據(jù)分布特點(diǎn),本文讀取的數(shù)據(jù)統(tǒng)計(jì)結(jié)果如表1所示。
表1 數(shù)據(jù)特征統(tǒng)計(jì)表
由表1可知,變量V1存在較多缺失值,且波動(dòng)較大,并存在明顯的異常極值;變量V30為整型數(shù)據(jù),樣本缺失率不高,數(shù)據(jù)分布平穩(wěn),取值范圍在20左右波動(dòng);T為每次樣本采集的時(shí)間標(biāo)簽,采樣間隔為0.001s,理想情況為40萬個(gè)等差數(shù)列,均值和方差并不是理論值,確定存在整條樣本缺失情況,當(dāng)某理論采樣時(shí)刻未采集到新數(shù)據(jù)時(shí),T值不更新,置為上一有效采樣時(shí)刻時(shí)間;Class特征為該條樣本分類標(biāo)簽,取值1代表此刻系統(tǒng)工作狀態(tài)異常,從數(shù)據(jù)統(tǒng)計(jì)可知,正負(fù)樣本分布不均衡,樣本間數(shù)量存在量級(jí)差異。通過比對(duì)特征V1到V30,特征間值域范圍差異較大,需要通過數(shù)據(jù)變換進(jìn)行歸一化處理。
如圖2所示,使用餅狀圖清晰展示了正負(fù)樣本數(shù)量占比,故障情況下的樣本僅占總數(shù)的0.7%,不同樣本間數(shù)量存在巨大差異,必須對(duì)數(shù)據(jù)進(jìn)行平衡處理,否則分類器對(duì)結(jié)果的預(yù)測(cè)將嚴(yán)重過擬合。
圖2 正負(fù)樣本分布情況
對(duì)于異常值檢測(cè),可利用箱式圖按特征分別處理,特征V1的箱式圖如圖3所示,對(duì)于小于-1100及大于3700的取值可確定為異常值。如果異常值對(duì)應(yīng)的樣本分類標(biāo)簽為系統(tǒng)故障,則保留此取值,因?yàn)樵摦惓V悼赡苁窃斐上到y(tǒng)故障的分量;異常值對(duì)應(yīng)的樣本分類標(biāo)簽為系統(tǒng)正常,則利用正常值域范圍內(nèi)所有取值的均值替代。
圖3 變量分布箱式圖
通過對(duì)采樣時(shí)間T的分析,可以快速判定存在整條樣本缺失的情況。由于T按0.001s間隔等差遞增,如果出現(xiàn)前后連續(xù)兩點(diǎn)間隔大于0.001,則該點(diǎn)到之前間隔為0的一段時(shí)間存在樣本整條缺失。如圖4所示,存在兩段整條樣本缺失,一段丟失1個(gè)采樣點(diǎn),一段持續(xù)丟失20點(diǎn)。
本數(shù)據(jù)集已通過特征值分解法完成特征篩選,為進(jìn)一步提高數(shù)據(jù)質(zhì)量,分別對(duì)比每個(gè)特征不同類別標(biāo)簽下的概率密度分布。如圖5所示,特征V1在系統(tǒng)故障和正常下的概率分布基本相同,所以V1的取值顯著影響結(jié)果判定,可以從數(shù)據(jù)集中剔除V1特征。如圖6所示,特征V4在系統(tǒng)正常時(shí),以2為均值呈正態(tài)分布;在系統(tǒng)故障時(shí),以-2為均值呈正態(tài)分布。系統(tǒng)不同工作狀態(tài)下,變量分布差異明顯,所以保留該特征。
圖4 采樣點(diǎn)間時(shí)間差值曲線
圖5 變量V1概率分布
圖6 變量V4概率分布
本節(jié)利用sklearn庫中的Logistic回歸方法對(duì)系統(tǒng)工作狀態(tài)進(jìn)行預(yù)測(cè)判定,在實(shí)際應(yīng)用中預(yù)測(cè)的準(zhǔn)確率較高。同時(shí)為了說明數(shù)據(jù)分析及預(yù)處理的重要性,分別利用原始數(shù)據(jù)集、經(jīng)初步分析清洗的數(shù)據(jù)集以及經(jīng)完整處理的數(shù)據(jù)集對(duì)回歸模型進(jìn)行訓(xùn)練,并對(duì)模型預(yù)測(cè)效果評(píng)價(jià),不同模型指標(biāo)差異明顯。
本文使用測(cè)試集上正負(fù)樣本的預(yù)測(cè)準(zhǔn)確率及ROC曲線對(duì)模型進(jìn)行綜合評(píng)價(jià)。ROC曲線描述了二分類模型在不同判別門限下預(yù)測(cè)結(jié)果的真正率及假正率集合,集合中各點(diǎn)連線與橫軸包圍的面積稱為AUC(Area under Curve),值越大代表分類效果越好。其中真正率(True Postive Rate)表示實(shí)際為正的樣本被預(yù)測(cè)為正類的比率;負(fù)正率(False Pos?tive Rate)代表實(shí)際為負(fù)的樣本被預(yù)測(cè)為正類的比率。根據(jù)定義,在某判別門限下,真正率越大、負(fù)正率越小代表分類器效果越好。以負(fù)正率為橫軸、真正率為縱軸,則繪制的點(diǎn)越偏向左上角代表分類器效果越好[11~12]。
以未經(jīng)處理的原始數(shù)據(jù)集訓(xùn)練Logistic回歸模型得到分類器L1,正樣本預(yù)測(cè)準(zhǔn)確率為0.99967,負(fù)樣本預(yù)測(cè)準(zhǔn)確率為0.73144,ROC曲線如圖7所示。由于代表系統(tǒng)故障的負(fù)樣本數(shù)量遠(yuǎn)小于正樣本數(shù)量,分類器產(chǎn)生了明顯的過擬合現(xiàn)象,傾向?qū)颖绢A(yù)測(cè)為正,使得整體準(zhǔn)確率提高,但本文真正關(guān)心的能夠正確預(yù)測(cè)系統(tǒng)故障的效果不佳。
圖7 L1分類器ROC曲線
經(jīng)過缺失值填充、異常值剔除、特征值域規(guī)范化及正負(fù)樣本平衡處理后,對(duì)分類模型訓(xùn)練得到分類器L2,正樣本預(yù)測(cè)準(zhǔn)確率為0.97525,負(fù)樣本預(yù)測(cè)準(zhǔn)確率為0.90633,過擬合現(xiàn)象被消除。雖然正樣本預(yù)測(cè)準(zhǔn)確率有所降低,但更為關(guān)注的負(fù)樣本預(yù)測(cè)準(zhǔn)確率極大提高。對(duì)應(yīng)的ROC曲線如圖8所示,AUC取值有所增加。
圖8 L2分類器ROC曲線
為達(dá)到更好的分類效果,避免無關(guān)特征對(duì)分類模型產(chǎn)生干擾,對(duì)特征進(jìn)一步篩選,對(duì)分類模型訓(xùn)練得到分了器L3,正樣本預(yù)測(cè)準(zhǔn)確率為0.98224,負(fù)樣本預(yù)測(cè)準(zhǔn)確率為0.93549,在正負(fù)樣本的預(yù)測(cè)準(zhǔn)確率方面都有了進(jìn)一步提升。對(duì)應(yīng)的ROC曲線如圖9所示。
圖9 L3分類器ROC曲線
實(shí)時(shí)測(cè)控系統(tǒng)數(shù)據(jù)量大且質(zhì)量不夠理想,為了有效利用該數(shù)據(jù)完成系統(tǒng)狀態(tài)的預(yù)測(cè),本文針對(duì)測(cè)控系統(tǒng)特點(diǎn),提出了數(shù)據(jù)分析與處理的流程。利用Python語言對(duì)關(guān)鍵環(huán)節(jié)進(jìn)行仿真實(shí)現(xiàn)。最后通過對(duì)模型效果的分析,驗(yàn)證了本文提出的方法能夠以較高準(zhǔn)確率對(duì)系統(tǒng)狀態(tài)進(jìn)行預(yù)測(cè)。通過比對(duì)使用不同數(shù)據(jù)集訓(xùn)練的分類器指標(biāo),說明了本文對(duì)原始數(shù)據(jù)分析、清洗對(duì)提升模型預(yù)測(cè)準(zhǔn)確率的有效性。