范瀟杰, 陳振安
(1.北京科技大學 計算機與通信工程學院,北京 100083; 2.廣東粵港澳大灣區(qū)硬科技創(chuàng)新研究院,廣東 廣州 510530)
隨著我國航天產業(yè)全面向商業(yè)化發(fā)展,商業(yè)航天對國內經濟發(fā)展起到了巨大的促進作用[1-3]。在軌衛(wèi)星作為商業(yè)航天重要的組成部分,如何保障其安全穩(wěn)定的運行至關重要。利用異常檢測技術,對直接反映衛(wèi)星工作狀態(tài)的遙測數(shù)據(jù)進行處理與分析,檢測遙測數(shù)據(jù)中存在的異常值,這對于及時發(fā)現(xiàn)衛(wèi)星故障、維護衛(wèi)星安全具有非常重要的現(xiàn)實意義[4]。
衛(wèi)星遙測數(shù)據(jù)中的某個異常點是指任何偏離標準、正?;蛘哳A期的數(shù)據(jù)點,這些異常點往往是由衛(wèi)星故障引發(fā)的。異常檢測是一個非常廣泛的研究課題,其在許多領域都有實際應用[5-12]。一般來說,衛(wèi)星遙測數(shù)據(jù)的數(shù)據(jù)量都比較大,而且,遙測數(shù)據(jù)在空間傳輸?shù)倪^程中還非常容易受到噪聲干擾,發(fā)生數(shù)據(jù)失真或者丟失現(xiàn)象。此外,不同的遙測數(shù)據(jù)之間還可能存在復雜的關聯(lián)關系,這些因素都導致針對衛(wèi)星遙測數(shù)據(jù)的異常檢測具有一定難度和復雜度。傳統(tǒng)的人工判別方法和劃定閾值的方法都因為處理速度過慢、靈活性不夠,無法滿足目前的衛(wèi)星遙測異常檢測任務的需求。
針對衛(wèi)星遙測數(shù)據(jù)這種時間序列格式類型的數(shù)據(jù),目前主流的異常檢測方法都會首先根據(jù)實測數(shù)據(jù)創(chuàng)建一個預測模型去建模遙測數(shù)據(jù)的“正常值”,然后根據(jù)預測值與實測值之間的偏差對比進行異常點的檢測。相關的國內外研究工作主要包括:文獻[13]提出使用粒子群優(yōu)化神經網絡方法對衛(wèi)星遙測數(shù)據(jù)進行建模預測,并將預測值與實測值進行對比實現(xiàn)異常檢測;文獻[14]提出使用貝葉斯網絡對衛(wèi)星遙測進行建模,再進行預測值與實測值的對比檢測異常;文獻[15]提出使用自回歸滑動平均技術對衛(wèi)星遙測數(shù)據(jù)進行建模,再將預測值與實測值進行對比,從而檢測出異常點。以上這些研究工作主要存在兩個問題:首先其使用的預測算法仍然比較傳統(tǒng),建模預測能力有限;其次其對異常點的檢測往往基于固定的上下門限這種死板的方式,無法體現(xiàn)數(shù)據(jù)的動態(tài)變化趨勢。針對這些問題,文獻[16]提出了使用深度學習中的長短期記憶(Long-Short Term Memory,LSTM)網絡作為預測算法,并基于預測值推算出動態(tài)上下門限完成異常點檢測的方法。目前深度學習技術在衛(wèi)星姿態(tài)控制[17-18]、衛(wèi)星圖像目標識別[19]等領域也有廣泛的應用實例。雖然該方法中使用的LSTM算法和動態(tài)門限對于提升預測性能以及異常檢測的動態(tài)性有幫助,但是其整個異常檢測的流程仍然存在不規(guī)范、不靈活且異常定義太單一的問題。具體來說,衛(wèi)星遙測數(shù)據(jù)的種類是非常繁多的,每個遙測數(shù)據(jù)都對應了衛(wèi)星上某個具體部件的實際工作情況,如果整個異常檢測流程無法靈活地兼容各種預測算法和多種異常定義,將無法為各種衛(wèi)星遙測參數(shù)的異常檢測需求提供統(tǒng)一的流程框架。此外,對每種衛(wèi)星遙測數(shù)據(jù)的異常檢測需要考慮多種不同的異常定義,如果只從一個角度使用單一的異常定義去檢測異常點,檢測結果往往會變得片面。
為了解決目前衛(wèi)星遙測數(shù)據(jù)異常檢測流程中存在的不規(guī)范、不靈活且異常定義單一的問題,本文在文獻[16]的基礎上,以LSTM算法為例進行衛(wèi)星電源系統(tǒng)遙測參數(shù)的建模預測,然后使用了3種異常定義——測試數(shù)據(jù)均值的標準差、預測結果均值的標準差和非參數(shù)動態(tài)閾值進行異常的聯(lián)合投票檢測,進一步提升了異常點檢測的性能。所提出的檢測流程具備較好的規(guī)范性和靈活性。
圖1展示了本文設計的衛(wèi)星異常檢測流程,按照數(shù)據(jù)處理的邏輯順序,其主要可分為3個模塊:① 衛(wèi)星時序數(shù)據(jù)預處理模塊,其主要完成對輸入衛(wèi)星時序數(shù)據(jù)的預處理,并根據(jù)選定的預測算法準備好對應的數(shù)據(jù)格式;② 算法預測模塊,其主要完成對衛(wèi)星時序數(shù)據(jù)的建模,輸出算法預測的理論“正常值”;③ 異常點檢測模塊,其主要完成根據(jù)指定的3種異常定義對輸入的預測值和實測值進行投票檢測,得到最終的異常點檢測結果。
圖1 衛(wèi)星遙測參數(shù)異常檢測流程
聯(lián)合投票檢測的準則是只有當兩種或兩種以上的異常定義同時判斷某點為異常點時,該點才被最終確定為異常點。3種異常定義都相當于一名投票者,而投票結果決定了最終的異常檢測結果。具體來說,輸入進異常檢測流程的衛(wèi)星時序數(shù)據(jù)需要依次經過野點剔除、均值填充、歸一化以及根據(jù)選定的預測算法生成樣本集等預處理步驟,隨后本文以LSTM算法為例在訓練樣本集上完成算法模型的訓練,并對測試樣本集進行模型預測,將預測結果進行反歸一化得到算法預測的“正常值”,最后將實測值與預測值分別用3種異常定義——測試數(shù)據(jù)均值的標準差、預測結果均值的標準差和非參數(shù)動態(tài)閾值進行投票異常點檢測,得到最終的異常點結果,完成整個檢測流程。
作為LSTM模型的基本組成結構,LSTM單元結構的原理如圖2所示。LSTM單元的輸入為上一時刻的隱藏狀態(tài)ht-1、上一時刻的單元狀態(tài)Ct-1和當前時刻的輸入數(shù)據(jù)xt。LSTM單元的輸出為當前時刻的隱藏狀態(tài)ht和當前時刻的單元狀態(tài)Ct。當前時刻的單元狀態(tài)Ct可以表示為
(1)
式中,ft與it分別為遺忘門與輸入門的內部變量。
圖2 LSTM基本單元結構
LSTM單元內部使用遺忘門、輸入門和輸出門來分別控制其要遺忘的信息、要記憶的信息和對信息的更新。3個門控機制通過sigmoid激活函數(shù)σ控制其輸出值在0~1之間變動,當門控輸出值接近0時,與之相乘的信息無法傳遞;而當門控輸出接近1時,與之相乘的信息幾乎可以無損失地傳遞,以此實現(xiàn)對信息的控制。對于遺忘門來說,其表達式為
ft=σ(Wf·[ht-1,xt]+bf)
(2)
式中,Wf與bf分別為遺忘門的權重和偏置。對于輸入門來說,其表達式為
(3)
式中,Wi與bi分別為輸入門的權重和偏置,WC與bC分別為當前單元狀態(tài)的權重與偏置。對于輸出門來說,其表達式為
(4)
(5)
RMSE的數(shù)值越小,代表預測值與實測值越接近,LSTM模型的預測能力越強。
1.3.1 數(shù)據(jù)預處理
設定輸入異常檢測流程的原始時序數(shù)據(jù)為xt(t∈[ts,te]),其中下標t代表該數(shù)據(jù)點的時間標簽,該段原始時間序列所處的起始時刻為ts,終止時刻為te。
首先,輸入的衛(wèi)星遙測時序數(shù)據(jù)會在衛(wèi)星時序數(shù)據(jù)預處理模塊中進行野點剔除的操作。這是因為原始的衛(wèi)星遙測數(shù)據(jù)在傳輸?shù)倪^程之中會由于噪聲干擾、數(shù)據(jù)丟失等偶然因素導致個別數(shù)據(jù)點的數(shù)值過高或過低(野點),為了避免野點對后續(xù)數(shù)據(jù)分析的影響,需要使用53H算法[20]對野點進行剔除。
接著,需要對剔除野點后形成的缺失值進行均值填充。假設被剔除的野點索引位置為k,為了不讓野點位置出現(xiàn)數(shù)值空缺,應取位置k一前一后最接近的兩個非野點位置的均值做填充操作。隨后,均值填充完的數(shù)據(jù)需要進行歸一化操作,將數(shù)據(jù)的數(shù)值范圍轉換到[0,1]之間。對于時序數(shù)據(jù)中的每個數(shù)據(jù)點,對其進行歸一化操作的公式可表示為
(6)
(7)
(8)
圖3 LSTM樣本準備過程
至此已為LSTM模型的訓練與測試做好了數(shù)據(jù)上的準備,完成了全部的數(shù)據(jù)預處理工作。
1.3.2 LSTM網絡模型搭建
在了解LSTM基本單元結構后,利用其進行完整的LSTM網絡模型的搭建,如圖4所示。LSTM網絡模型沿時間軸維度展開,其在每一個時刻上都是一個基礎的全連接神經網絡,該全連接神經網絡擁有兩層由LSTM單元組成的隱藏層。各時刻神經網絡模型都是同一個,但是其狀態(tài)卻各自不同,前一個時刻的隱藏層狀態(tài)信息ht與Ct會被傳遞到下一個時刻以共同完成模型訓練。本文設置每一隱藏層的LSTM單元個數(shù)為60個,輸入層的輸入時間序列長度為5,而輸出層的輸出時間序列長度為1。LSTM網絡模型結構參數(shù)的設置原因以及其對模型預測能力的影響會在后文部分進行具體討論分析。
異常定義直接明確了預測數(shù)據(jù)與實測數(shù)據(jù)之間的差異以何種方式并達到何種程度時可以被判定為異常。在缺乏領域知識的情況下,僅根據(jù)一種異常定義就進行最終的異常檢測往往顯得太過片面,且單一的異常定義也無法滿足對各類差異顯著的衛(wèi)星遙測參數(shù)的應用需求。本文在異常檢測流程中應用了3種無監(jiān)督異常定義,使得異常檢測更加靈活和全面。
1.4.1 測試數(shù)據(jù)均值的標準差
給定一個實測時間序列以及其對應的預測時間序列,一種可行的檢測異常點的方法是將實測時序與預測時序的誤差值與實測時序均值的N倍標準差進行比較。具體來說,先計算實測時序的標準差σ,然后計算實測時序與預測時序數(shù)據(jù)之間的誤差值,如果某點的誤差值大于N·σ,則將該點標記為異常點。這是一種以實測數(shù)據(jù)為中心的方式,其更關心實測數(shù)據(jù)是如何變化的,該異常定義算法的偽代碼如下。
輸入:實測時序 TS,預測時序 Y,倍數(shù) N
輸出:帶有是否異常點標記的時序數(shù)據(jù) TS′
function 標記異常點(TS,Y,N)
σ←計算標準差(TS)
for t in timestamps of TS do
obs←TS[t]
y←Y[t]
error←|y-obs|
if error > N·σ
TS′[t,Anomaly?]←True
else
TS′[t,Anomaly?]←False
return TS′
1.4.2 預測結果均值的標準差
給定一個實測時序數(shù)據(jù)以及其相對應的預測時序數(shù)據(jù),另一種可行的檢測異常點的方法是將實測時序與預測時序均值標準差的N倍進行比較。具體來說,首先計算預測時序數(shù)據(jù)的標準差σ與均值μ,如果某個實測時序中的數(shù)據(jù)點值大于N·σ+μ,則標記其為異常點。均值μ為序列內所有數(shù)據(jù)之和除以總數(shù)據(jù)量之后的結果。這是一個以預測時序為中心的方法,其更關心預測模型建模“正常值”的能力,該異常定義算法的偽代碼如下。
輸入:實測時序 TS,預測時序 Y,倍數(shù) N
輸出:帶有是否異常點標記的時序數(shù)據(jù) TS′
function 標記異常點(TS,Y,N)
σ←計算標準差(TS)
μ←計算均值(TS)
τ←μ+N·σ
for t in timestamps of TS do
obs←TS[t]
y←Y[t]
if y>τ
TS′[t,Anomaly?]←True
else
TS′[t,Anomaly?]←False
return TS′
1.4.3 非參數(shù)動態(tài)閾值
前兩種異常定義能夠檢測出異常數(shù)據(jù)點,而非參數(shù)動態(tài)閾值方法[21]能夠直接輸出一段異常數(shù)據(jù)點的序列。具體來說,該方法首先獲取實測時序數(shù)據(jù)與預測時序數(shù)據(jù)之間的誤差值,并使用指數(shù)加權方法對其進行平滑,從而生成一組平滑的誤差值。隨后使用平滑誤差的均值和標準差設置初始的閾值,具體的詳細原理可以參考文獻[21]。該異常定義算法的偽代碼如下。
輸入:實測時序TS,預測時序Y
輸出:帶有是否異常點標記的時序數(shù)據(jù) TS′
function 標記異常點 (TS,Y)
errors←計算誤差值(TS,Y)
Es,scores←處理誤差值(TS,errors)
#Es是包含異常序列起始以及結束索引位置的集合
for anomaly in Esdo
start←anomaly[0]
end←anomaly[1]
for t in start-end do
TS′[t,Anomaly?]←True
return TS′
本文的異常檢測任務從本質上來說是一個分類任務,其將時序數(shù)據(jù)中的每一個數(shù)據(jù)點分類為正常數(shù)據(jù)點或異常數(shù)據(jù)點,因此可以使用F-score指標對其性能進行評價。對于異常檢測這個二分類問題,本文將異常點視作正例,而將正常點視作負例。分類結果的真陽(True Positive,TP)數(shù),即把正例判斷為正例的數(shù)目為TP;分類結果的假陽(False Positive,FP)數(shù),即把負例錯誤的判斷為正例的數(shù)目為FP;分類結果的真陰(True Negative,TN)數(shù),即把負例判斷為負例的數(shù)目為TN;分類結果的假陰(False Negative,FN)數(shù),即把正例錯誤的判斷為負例的數(shù)目為FN。分類結果的精確率(Precision)可以定義為
(9)
分類結果的召回率(Recall)可以定義為
(10)
F-score指標綜合了精確率和召回率的影響,其可以定義為
(11)
式中,β用于平衡精確率和召回率對F-score指標的影響程度,一般取其值為1,代表精確率和召回率一樣重要。
為了對所提出的衛(wèi)星遙測參數(shù)異常檢測流程進行測試驗證,使用了從2020年3月初至2020年8月末某在軌衛(wèi)星電源系統(tǒng)的4類實測遙測數(shù)據(jù)開展仿真實驗。本文還利用研究組內部的人工專家經驗,對經過預處理后的4類遙測數(shù)據(jù)進行了真實異常點的標注工作。帶有標簽的數(shù)據(jù)對于異常檢測性能的評價非常有幫助。這4類遙測數(shù)據(jù)經過野點剔除以及均值填充預處理之后的具體情況介紹如下。
2.1.1 太陽陣電流數(shù)據(jù)
太陽陣電流是一組有著68137個時序數(shù)據(jù)點的單變量時序數(shù)據(jù),其一共被標注了7個異常點標簽,如圖5所示。
圖5 太陽陣電流數(shù)據(jù)
2.1.2 母線電流數(shù)據(jù)
母線電流是一組有著68132個時序數(shù)據(jù)點的單變量時序數(shù)據(jù),其呈現(xiàn)較強的平穩(wěn)周期分布,人工專家共為其標注了9個異常點標簽,如圖6所示。
圖6 母線電流數(shù)據(jù)
2.1.3 母線電壓數(shù)據(jù)
母線電壓是一組有著67916個時序數(shù)據(jù)點的單變量時序數(shù)據(jù),其總體呈現(xiàn)平穩(wěn)分布,人工專家共為其標注了10個異常點標簽,如圖7所示。
圖7 母線電壓數(shù)據(jù)
2.1.4 蓄電池電壓數(shù)據(jù)
蓄電池電壓是一組有著67946個時序數(shù)據(jù)點的單變量時序數(shù)據(jù),人工專家一共標注了16個異常點標簽,如圖8所示。
圖8 蓄電池電壓數(shù)據(jù)
LSTM網絡模型的結構參數(shù)對其預測性能的影響很大,選擇合適的網絡模型結構對于建模衛(wèi)星參數(shù)的“正常值”很重要。本文在這一部分中分別探究了模型結構、輸入時間步長、預測時間步長和訓練集大小對預測性能的影響。使用RMSE指標衡量模型的預測能力。模型訓練使用的優(yōu)化器為Adam[22],其學習率lr=0.001,β1=0.9,β2=0.999。
2.2.1 模型結構對預測性能的影響
首先,研究了LSTM網絡模型結構對其預測性能的影響。在設定輸入時間步長為5、輸出時間步長為1、選取每組衛(wèi)星數(shù)據(jù)的前50%的數(shù)據(jù)為訓練集、剩余數(shù)據(jù)為測試集的條件下,通過改變LSTM模型隱藏層的數(shù)量和每層隱藏層中LSTM單元的數(shù)量,記錄了不同模型結構下的各衛(wèi)星數(shù)據(jù)測試集的RMSE數(shù)值,如表1所示。
由表1中的數(shù)據(jù)可以看出,當隱藏層數(shù)量為2層,且每層的LSTM單元個數(shù)為60時,模型在大部分衛(wèi)星參數(shù)上取得的RMSE數(shù)值都達到了最小。雖然對于母線電流來說,其最小RMSE數(shù)值是在隱藏層數(shù)量為2且每層LSTM單元個數(shù)為70的條件下取得的,但是當每層LSTM單元個數(shù)為60時,其RMSE數(shù)值與最小值仍然比較接近。因此,取LSTM網絡的隱藏層為2層,每層中LSTM單元個數(shù)為60是比較合適的。
表1 模型結構的影響
2.2.2 輸入時間步長對預測性能的影響
下面研究了輸入時間步長對預測性能的影響。設定LSTM網絡模型的隱藏層為2層,每層的LSTM隱藏單元為60個,輸出時間步長為1,各衛(wèi)星參數(shù)訓練與測試集的劃分依然按照50%的比例。輸入時間步長以2為間隔在范圍[1,23]內進行調節(jié),其對各衛(wèi)星參數(shù)的預測RMSE數(shù)值影響如圖9所示。由圖9可知,隨著輸入時間步長的增大,各個衛(wèi)星參數(shù)的RMSE曲線大體上先在[1,5]的范圍內下降,而在[5,23]的范圍內開始上升。這是因為當輸入時間步長在較小范圍內增大時,意味著其能為預測模型帶入更多的有效預測信息,有助于預測性能的提升;而當輸入時間步長繼續(xù)增大,更多的冗余信息被帶入模型中,導致了預測性能的惡化。因此,選擇輸入時間步長為5是比較合適的。
圖9 輸入時間步長對預測性能的影響
2.2.3 預測時間步長對預測性能的影響
隨后,繼續(xù)研究了預測時間步長對預測性能的影響。在模型結構以及訓練測試集劃分比例照舊不變的情況下,設定輸入時間步長為5,調節(jié)預測時間步長以2為間隔在[1,11]的范圍內變動,各衛(wèi)星參數(shù)的RMSE數(shù)值隨其變化的曲線如圖10所示。對于各個衛(wèi)星參數(shù)來說,其RMSE數(shù)值基本上都隨著預測時間步長的增大而增大,RMSE的最小值都是在預測時間步長為1時取得的。這個現(xiàn)象比較容易理解,這是因為對任何預測模型來說預測的時間范圍越大,其預測的難度也越高。因此,本文選擇預測時間步長為1。
圖10 預測時間步長對預測性能的影響
2.2.4 訓練集大小對預測性能的影響
最后,研究了訓練集大小對預測性能的影響。在輸入時間步長為5、預測時間步長為1、隱藏層數(shù)為2、每層隱藏層LSTM單元個數(shù)為60的條件下,通過改變訓練與測試集的劃分比例,記錄了各衛(wèi)星參數(shù)的RMSE數(shù)值變化曲線如圖11所示。劃分比例以10%為間隔在[10%,50%]范圍內調節(jié)。以劃分比例10%為例,其具體含義為將時序數(shù)據(jù)的前10%的數(shù)據(jù)作為訓練集,而將剩余的所有數(shù)據(jù)作為測試集,其他各劃分比例同理。由圖11可知,隨著劃分比例的增大,各衛(wèi)星參數(shù)的RMSE曲線都會出現(xiàn)明顯下降。這是因為較大的訓練集有助于預測模型提升其預測性能。因此,選擇訓練與測試集的劃分比例為50%。
圖11 訓練集大小對預測性能的影響
2.2.5 各衛(wèi)星參數(shù)的最終預測結果
經過上述對LSTM模型各個參數(shù)所帶來影響的研究,最終確定了LSTM模型最合適的配置:2個隱藏層,每層含有60個LSTM單元,輸入時間步長為5,輸出時間步長為1,訓練與測試集劃分比例為50%。在以上參數(shù)的配置下,各個衛(wèi)星參數(shù)的最終預測結果如圖12所示。
圖12 預測結果
在異常點檢測模塊中,本文一共應用了3類7種具體的異常定義。其中,根據(jù)倍數(shù)不同,分別設置了測試數(shù)據(jù)均值以及預測結果均值的2、4和8倍標準差作為異常定義,此為6種異常定義。第7種異常定義為非參數(shù)動態(tài)閾值。
2.3.1 不同預測性能對異常檢測結果的影響
衛(wèi)星的原始參數(shù)以及其預測參數(shù)是不同異常定義進行異常點檢測的2個基本輸入元素,其中衛(wèi)星的預測參數(shù)存在較大的可變性,LSTM模型的輸出不同精度的衛(wèi)星預測參數(shù)可能對異常檢測結果造成影響,因此有必要研究不同預測性能對異常檢測結果的影響。
在含有2個隱藏層、每層含有60個LSTM單元、輸入時間步長為5、輸出時間步長為1、訓練與測試集劃分比例為50%的LSTM模型結構設置下,分別對4種衛(wèi)星參數(shù)進行了200輪的模型訓練。在整個訓練過程中,模型的預測性能(均方根誤差)是持續(xù)減小的,即模型的預測性能隨著訓練的增大而不斷減小。隨后,以訓練輪數(shù)為自變量,以非參數(shù)動態(tài)閾值、測試數(shù)據(jù)均值的2倍標準差和預測結果均值的2倍標準差這3種異常定義下的F-score作為因變量,將結果展示在圖13中。
由圖13可知,隨著訓練輪數(shù)的增加(預測性能的持續(xù)提高),基于非參數(shù)動態(tài)閾值異常定義的異常檢測F-score在4類數(shù)據(jù)中存在較明顯的先上升(100輪前)后平穩(wěn)(100輪后)的趨勢,但是整體變化程度較小。這說明非參數(shù)動態(tài)閾值方法對于模型預測性能的改變敏感程度較低,當預測性能從較低處逐漸提升時,非參數(shù)動態(tài)閾值方法也能緩慢地提升異常檢測性能,而當預測性能進一步得到提升時,非參數(shù)動態(tài)閾值方法的異常檢測性能卻無明顯提升。與此相反,對于預測結果均值的2倍標準差和測試數(shù)據(jù)均值的2倍標準差這兩種異常定義來說,顯然它們對預測性能的變化更加敏感。隨著模型預測性能的不斷提高,此兩種異常定義下的F-score數(shù)值呈現(xiàn)明顯的先上升后下降趨勢。出現(xiàn)異常檢測性能的下降現(xiàn)象是因為模型預測性能過高,導致異常點位置的預測值也與實測值越來越接近,而這對于異常點檢測來說是不利的。
2.3.2 單獨異常定義下的異常檢測結果
輸入各衛(wèi)星參數(shù)的實測時序數(shù)據(jù)和預測時序數(shù)據(jù)在各種單獨異常定義下的F-score指標如表2所示。
表2 單獨異常定義下F-score指標的異常檢測結果
圖13 不同預測性能對異常檢測結果的影響
由表2可知,各衛(wèi)星數(shù)據(jù)在非參數(shù)動態(tài)閾值這個異常定義下的F-score數(shù)值始終是最低的。對于測試數(shù)據(jù)均值的標準差以及預測結果均值的標準差來說,標準差的倍數(shù)越大(8倍),一般來說其獲得的F-score數(shù)值也相應更大,但是對太陽陣電流來說,其在4倍標準差處的F-score是最大的??傮w上來說,應用預測結果均值的標準差這個異常定義能夠獲得最優(yōu)異的F-score性能指標。然而,僅靠單一的異常定義來確定最終的異常檢測結果會顯得較片面,因為各個異常定義有自己的側重面,若能將多個異常定義進行聯(lián)合,可能會進一步提升異常檢測的性能。
2.3.3 基于聯(lián)合投票的異常檢測結果
為了綜合3類異常定義各自的優(yōu)勢,基于聯(lián)合投票的方式確定了最終的異常檢測結果。聯(lián)合投票的判定方式為:只有兩類或兩類以上的異常定義判斷該點為異常時,該點才被最終判定為異常點。非參數(shù)動態(tài)閾值、測試數(shù)據(jù)均值的標準差和預測數(shù)據(jù)均值的標準差這3類異常定義在聯(lián)合投票方式中就像3位手握選票的評委,最終的判定結果由評委投票決定。表3展示了各衛(wèi)星數(shù)據(jù)在不同3位評委的組合下的F-score數(shù)據(jù)。由于測試數(shù)據(jù)均值的標準差和預測數(shù)據(jù)均值的標準差主要有2倍、4倍和8倍這3種變體,而非參數(shù)動態(tài)閾值沒有變體,因此,表3中沒有明顯地指明非參數(shù)動態(tài)閾值異常定義。
表3 太陽陣電流、母線電流、母線電壓和蓄電池電壓
由表3可知,對于太陽陣電流來說,其在預測數(shù)據(jù)均值的4倍標準差、測試數(shù)據(jù)均值的8倍標準差和非參數(shù)動態(tài)閾值聯(lián)合投票的情況下獲得最大F-score;對于母線電流來說,其在預測數(shù)據(jù)均值的8倍標準差、測試數(shù)據(jù)均值的4倍標準差和非參數(shù)動態(tài)閾值聯(lián)合投票的情況下獲得最大的F-score;對于母線電壓來說,其在預測數(shù)據(jù)均值的8倍標準差、測試數(shù)據(jù)均值的8倍標準差和非參數(shù)動態(tài)閾值聯(lián)合投票的情況下獲得最大F-score;對于蓄電池電壓來說,其在預測數(shù)據(jù)均值的8倍標準差、測試數(shù)據(jù)均值的8倍標準差和非參數(shù)動態(tài)閾值情況下獲得最大F-score。通過表2與表3之間的對比,聯(lián)合投票機制在提升異常檢測性能上有著明顯的效果。
2.3.4 與其他方法的結果對比
為了驗證基于LSTM與多種異常定義聯(lián)合投票的異常檢測方法的有效性,將基于LSTM的動態(tài)閾值方法作為對照組,在相同的衛(wèi)星遙測參數(shù)上進行仿真實驗對比。所使用的方法參數(shù)配置經過上文的仿真討論確定。對基于LSTM模型動態(tài)閾值的異常檢測方法,設置其LSTM模型結構與本文一致,同樣為:2個隱藏層,每層含有60個LSTM單元,輸入時間步長為5,輸出時間步長為1,訓練與測試集劃分比例為50%。不同的是對照組的異常定義為動態(tài)閾值,而本文采用的是3種異常定義的聯(lián)合。動態(tài)閾值檢測異常的方式如下:首先設定好動態(tài)閾值數(shù)值k,隨后將預測值同時增加k得到判定上邊界,將預測值同時減掉k得到判定下邊界。若實測值在上下邊界之內,則判定其為正常,若超出上下邊界,則判定其為異常。在本次仿真對比中,選用動態(tài)閾值數(shù)分別為2、4、8、10下的異常檢測結果與本文方法進行對比,結果如圖14所示。由結果可知,從總體上來說,本文方法始終要優(yōu)于基于LSTM的動態(tài)閾值方法。而且,隨著數(shù)值k的不斷增大,基于LSTM動態(tài)閾值的方法在各個衛(wèi)星參數(shù)上的異常檢測性能呈現(xiàn)下降趨勢,這是因為k值增大使上下邊界變得過大,造成許多異常點被包含在邊界以內。
圖14 不同方法的結果對比
本文設計了針對在軌衛(wèi)星遙測數(shù)據(jù)的異常檢測流程,該流程具有規(guī)范且靈活的特點,可以兼容多種時序預測算法和多種異常定義,足以滿足實際的異常檢測需求。以LSTM算法作為示例預測算法,結合基于非參數(shù)動態(tài)閾值、測試數(shù)據(jù)均值的標準差和預測數(shù)據(jù)均值的標準差這3類異常聯(lián)合投票的檢測方式,顯著提升了異常檢測的性能。在本文所提出的檢測流程的基礎上,可以引入更多的預測算法和異常定義以滿足未來發(fā)展的需求。本文研究結論如下:
① 通過詳盡的算法仿真,針對衛(wèi)星電源系統(tǒng)遙測參數(shù)的異常檢測任務,搭建的LSTM模型結構對算法性能會產生明顯影響,當LSTM模型具備2個隱藏層、每層含有60個LSTM單元、輸入時間步長與輸出時間步長分別為5和1時,算法在各個衛(wèi)星電源參數(shù)上的整體性能最好。
② 與基于LSTM的動態(tài)閾值算法相比,本文提出的基于LSTM與多種異常定義聯(lián)合投票的算法在異常檢測任務上性能表現(xiàn)更好。這是因為多種異常定義設置和聯(lián)合投票的機制使異常評價的角度更全面和綜合。
③ 本文提出的異常檢測方法流程規(guī)范、靈活性強,異常定義多樣且全面,能夠滿足未來對多種衛(wèi)星遙測參數(shù)的異常檢測需求,具備很強的實用性。
④ 本文所提出的衛(wèi)星異常檢測方法已作為核心的數(shù)據(jù)處理算法在衛(wèi)星測運控一體化系統(tǒng)中進行了實際應用;在算法研發(fā)過程中最大的困難是算法研發(fā)人員對衛(wèi)星數(shù)據(jù)知識的欠缺,這直接導致衛(wèi)星數(shù)據(jù)的異常點標注工作必須依靠擁有專業(yè)衛(wèi)星知識的人員來進行,拖慢了研發(fā)進度;未來的衛(wèi)星遙測參數(shù)異常檢測可能會對異常檢測結果的可解釋性提出新要求,即不僅需要得到算法檢測到的異常點,而且需要找到將這個點標記為異常的理由(可解釋性),這也是未來異常檢測任務的優(yōu)化與改進方向。