戈寧振,翁小清,袁子璇
(河北經(jīng)貿(mào)大學信息技術(shù)學院,石家莊 050061)
時間序列是由一系列具有固定時間間隔的實值型樣本組成的序列型數(shù)據(jù)[1],廣泛地存在于金融、工業(yè)制造以及醫(yī)學等領(lǐng)域中。 當少量觀測樣本或由多個觀測樣本構(gòu)成的序列顯著地偏離大多數(shù)觀測樣本時,有理由懷疑這些觀測樣本是由不同機制產(chǎn)生的,這樣的觀測樣本被認為是異常樣本[2]。 時間序列異常檢測就是在時間序列數(shù)據(jù)中找到這樣的觀測樣本,為后續(xù)任務提供有價值的信息。 時間序列異常檢測廣泛地應用于工業(yè)生產(chǎn)監(jiān)控[3]、金融風險預警[4]、醫(yī)療數(shù)據(jù)分析[5]以及網(wǎng)絡入侵檢測[6]等領(lǐng)域。
近幾年來,基于深度學習的異常檢測模型得到了廣泛應用。 其中,基于重構(gòu)的異常檢測方法能夠在復雜數(shù)據(jù)中提取特征信息,同時對噪聲具有魯棒性,受到了大量研究人員的關(guān)注。 例如Xu 等學者[6]利用變分自編碼模型(variational autoencoder,VAE)檢測服務器KPI 異常。 Yin 等學者[7]利用卷積神經(jīng)網(wǎng)絡構(gòu)建的自編碼模型(autoencoder,AE)檢測物聯(lián)網(wǎng)設(shè)備時間序列異常。 Zhou 等學者[8]利用對抗生成網(wǎng)絡(generative adversarial networks,GAN)檢測心跳時間序列異常。 基于重構(gòu)的方法通過學習正常數(shù)據(jù)潛在的分布模式,假定不符合這些模式的異常數(shù)據(jù)難以重構(gòu),利用重構(gòu)誤差進行異常檢測。 然而大多數(shù)基于重構(gòu)的方法只假定正常數(shù)據(jù)服從單一模式,尤其對于子序列樣本數(shù)據(jù),忽略了多模式存在的可能。 如圖1 所示,在MIT-BIH[9]心跳數(shù)據(jù)中,標記為正常的心跳樣本存在多種波形,各個波形的形狀差異較大,有理由認為這些波形遵循不同的模式。 如果不考慮數(shù)據(jù)中的多種模式,檢測模型可能只會關(guān)注到單一模式,這必然導致遵循其他模式的心跳波形難以重構(gòu),造成大量的誤判。
圖1 4 個標記為正常的心跳波形,各個波形間存在顯著差異Fig. 1 Four heartbeats are marked as normal and there are significant differences between them
針對上述問題,本文提出了一種基于子空間重構(gòu)的異常檢測算法(GMMSAE),旨在盡可能地學習時間序列數(shù)據(jù)中潛在的多種模式,以提高檢測效果。GMMSAE 首先利用高斯混合模型(gaussian mixture model,GMM)在稀疏自編碼(sparse autoencoder,SAE)的潛在變量上進行聚類,利用聚類結(jié)果將原始輸入樣本分割為不同的組,這樣的組稱其為子空間,每個子空間中的數(shù)據(jù)遵循特定的模式。 之后每個子空間訓練對應的SAE 模型,以達到學習復雜數(shù)據(jù)中多種模式的目標。 在檢測階段,每個樣本利用這些子空間模型進行重構(gòu),最小的重構(gòu)誤差作為樣本異常得分,異常得分高于指定閾值的樣本被認為是異常的。 本文在多個真實的時序數(shù)據(jù)集上進行了實驗,結(jié)果表明:提出的方法在AUC(area under curve)和AP(average precision)兩個性能指標上,顯著地優(yōu)于已有方法。
在時間序列異常檢測領(lǐng)域,早期時間序列檢測模型主要基于統(tǒng)計學方法。 此類方法通過對時間序列歷史數(shù)據(jù)進行建模,挖掘數(shù)據(jù)中蘊含的模式或規(guī)律對未來數(shù)據(jù)預測,利用預測誤差識別異常數(shù)據(jù)。常見的方法有差分整合移動平均自回歸模型( autoregressive integrated moving average model,ARIMA)[10]、 隱馬爾可夫模型(hidden markov model,HMM)[11]以及指數(shù)權(quán)重移動平均模型(exponentially weighted moving average,EWMA)[12]等。 基于統(tǒng)計模型的異常檢測算法具有可解釋性強、效率高等特點,但卻無法捕獲時間序列的非線性特征,難以適用于復雜的檢測場景。
相比于基于統(tǒng)計學的檢測算法,機器學習算法可以在不關(guān)注數(shù)據(jù)底層分布的情況下進行異常識別[13],因此基于傳統(tǒng)機器學習的異常檢測模型具有更廣泛的應用場景。 此類方法主要分為基于距離的方法、基于密度的方法、基于聚類的方法以及基于分類的方法[14]。 如Jones 等學者[15]通過定義范例樣本(正常樣本),計算其他樣本與范例樣本之間的距離定義異常分數(shù),異常分數(shù)高的樣本被認為是異常的。 但現(xiàn)實世界中的時間序列數(shù)據(jù)復雜多變,尋找一個能夠同時考慮形狀信息和尺度信息的距離度量是困難的。Breunig 等學者[16]將局部離群因子(local outlier factor,LOF)用于時間序列異常檢測。 LOF 是一種基于密度的異常檢測方法,通過密度估計的方式,將低密度區(qū)域的數(shù)據(jù)識別為異常。 基于密度的方法需要大量樣本進行密度估計,對數(shù)據(jù)規(guī)模有一定要求。Thuy 等學者[17]利用Leader 聚類進行異常識別,將遠離大多數(shù)類簇的樣本識別為異常樣本。 但在聚類算法中,類簇的數(shù)量難以確定,設(shè)定不合適會嚴重影響檢測效果。 單類支持向量機(one-class SVM,OCSVM)[18-19]廣泛地應用于基于分類的異常檢測。 此類方法將異常檢測轉(zhuǎn)化為二分類問題,即正常樣本屬于一類,其他類別的樣本都屬于異常,通過尋找合適的分類邊界將正常數(shù)據(jù)和異常數(shù)據(jù)進行區(qū)分,非常適用于類分布極度不平衡的數(shù)據(jù)。 但對于高維復雜的時間序列,分類邊界很難找到。 總地來說,基于傳統(tǒng)機器學習方法的檢測模型在數(shù)據(jù)量較小、數(shù)據(jù)維數(shù)較低的情況下,能夠獲得較好的檢測性能。 但隨著時間序列數(shù)據(jù)日益龐大且復雜,這些方法難以提取有效特征,導致檢測效果不理想。
近些年,隨著深度神經(jīng)網(wǎng)絡的快速發(fā)展,大量基于深度神經(jīng)網(wǎng)絡模型的時間序列異常檢測算法得到了應用,并取得了顯著效果[20]。 如長短期記憶網(wǎng)絡(long short-term memory,LSTM)[21],該方法能夠有效地捕獲時間序列的時序依賴,非常適合時間序列建模。 Hundman 等學者[22]利用LSTM 作為預測器檢測航天器時間序列中的異常,比傳統(tǒng)算法的性能有顯著提高。 相比于基于預測的異常檢測,基于重構(gòu)的深度學習模型具有更高的性能以及對噪音數(shù)據(jù)的更魯棒,大多數(shù)研究者聚焦于基于重構(gòu)的檢測模型。 基于重構(gòu)的異常檢測模型盡可能地還原輸入樣本,利用重構(gòu)樣本與輸入樣本之間的誤差進行異常檢測。 如Thill 等學者[23]利用時序卷積自編碼模型(temporal convolution network autoencoder,TCN -AE)檢測心跳樣本異常,該方法通過重構(gòu)不同時間尺度的時序特征,以提高樣本的重構(gòu)準確度。 然而,TCN-AE 沒有正則化,容易出現(xiàn)過擬合,導致檢測精度降低。 針對此問題,Li 等學者[24]提出了一種基于平滑誘導的變分自編碼器進行異常識別,該方法在損失函數(shù)中引入了擴展的Kullback-Leibler(KL)散度作為平滑度正則器懲罰非平滑的重建,使?jié)撛诳臻g的學習可以更加關(guān)注“正?!蹦J?,而不是盲目地最小化原始信號和潛在變量生成的信號之間的重建誤差,有效地避免了過擬合。 Siouda 等學者[25]提出SAE,從特征稀疏化角度避免了過擬合問題,在心跳樣本異常檢測中取得了理想的效果。 另外一類基于重構(gòu)的異常檢測方法是基于GAN 的,GAN 通過生成器和判別器之間的對抗訓練生成高質(zhì)量的重構(gòu)特征。 例如,Zenati 等學者[26]基于雙向GAN 構(gòu)建異常檢測模型,能夠有效地減少訓練時間并提高檢測性能。 但此模型結(jié)構(gòu)復雜,不適用于數(shù)據(jù)較少、維度較低的小數(shù)據(jù)集。 Zhou 等學者[8]提出了一種基于GAN 的心跳異常檢測模型,通過重構(gòu)心跳樣本進行異常檢測。 但此模型只適用于周期性數(shù)據(jù),對于非常周期性的樣本數(shù)據(jù)難以檢測。 由于GAN 內(nèi)在的結(jié)構(gòu)問題,基于GAN 的方法往往難以訓練,存在模式崩潰的問題[27]。
通過以上回顧可以看出,在復雜多變的時間序列數(shù)據(jù)中,已有基于AE 的重構(gòu)檢測方法容易過擬合,而基于GAN 的模型難以訓練。 同時,這些方法在大多只考慮了數(shù)據(jù)服從單一的分布模式,忽略了存在多模式的可能。 因此,有必要構(gòu)建一種簡潔高效,同時能夠全面地捕獲潛在模式的檢測模型。 因此,本文提出了一種基于子空間重構(gòu)的無監(jiān)督時間序列異常檢測模型,通過高斯混合模型在SAE 的潛在空間中聚類,將輸入樣本劃分為多個獨立的子空間,并利用SAE 出色的特征學習能力來捕獲多模式特征,以提高檢測效果。 同時,本文提出的模型結(jié)構(gòu)簡單,訓練效率高,具有很好的泛化能力。
本文提出的模型主要由SAE 和GMM 構(gòu)成,本節(jié)將先分別介紹這2 種相關(guān)技術(shù),之后描述整體模型以及模型的訓練和異常檢測。
AE 是一種基于無監(jiān)督訓練的神經(jīng)網(wǎng)絡結(jié)構(gòu),其目標是盡可能地將輸出值還原為輸入值,因此被廣泛地應用于基于重構(gòu)的異常檢測。 傳統(tǒng)的AE 模型聚焦于學習稠密的特征,容易出現(xiàn)過擬合問題。 相比于稠密特征,稀疏特征具有更強的表達能力,受稀疏編碼的啟發(fā),SAE 通過在損失函數(shù)中添加稀疏懲罰項來學習樣本中的稀疏特征。 稀疏懲罰項盡可能地抑制”激活”的神經(jīng)元,使學習到的特征不僅僅是輸入樣本的重復。
給定時間序列x,假設(shè)在第jth隱藏層的神經(jīng)元為nj(x),當nj(x)的輸出值等于“1”時,意味著此神經(jīng)元處于激活狀態(tài),否則,等于“0” 時,表示非激活狀態(tài)。 在特征學習過程中,隱藏層神經(jīng)元的激活值通過(1) 來計算:
其中,ω為權(quán)重矩陣,b為偏置。 因此,nj(x) 的平均激活值定義如式(2) 所示:
其中,m表示特征空間的維度。 因此當神經(jīng)元的平均激活值遠遠大于期望值時,通過附加一個正則化項對其懲罰,能夠使模型學習到的特征趨向于稀疏。 在SAE 中,稀疏正則項使用Kullback-Leibler散度來實現(xiàn),如式(3)所示:
當訓練稀疏自編碼時,有可能通過增加權(quán)重值和減少隱藏神經(jīng)元的值來降低稀疏正則化項的權(quán)重,因此SAE 通過增加一個L2 正則化項防止這種現(xiàn)象的發(fā)生,L2 的定義如公式(4) 所示:
其中,J表示隱藏層數(shù)量;L表示神經(jīng)元數(shù)量;K表示訓練樣本數(shù)量。 SAE 最終的損失是一個經(jīng)過調(diào)整后的均方誤差,定義如式(5)所示:
其中,α為稀疏懲罰項系數(shù),用來控制稀疏正則的權(quán)重,β為L2 權(quán)重正則的控制系數(shù)。
高斯混合模式是由K個分模型構(gòu)造的概率模型,每個分模型服從正態(tài)分布。 通常情況下,給定時間序列x,其概率密度分布可以表示為:
更新參數(shù)需要計算第k個高斯分模型在當前參數(shù)下生成xi的概率tik,計算方式如式(8)所示:
模型參數(shù)更新如式(9)所示:
其中,Nk為第k個分模型所覆蓋的樣本數(shù)量。 EM中的E 步和M 通過交替的迭代,直到模型收斂。
為了全面地學習時間序列中潛在的多種模式,本文結(jié)合SAE 和GMM 構(gòu)造了基于重構(gòu)的無監(jiān)督異常檢測模型,模型的總體結(jié)構(gòu)如圖2 所示。
圖2 模型結(jié)構(gòu)圖Fig. 2 Model framework
由圖2 可知,在訓練階段,模型首先利用SAE提取輸入數(shù)據(jù)在潛在空間高級別的特征。 SAE 的基本結(jié)構(gòu)包括一個編碼器和一個解碼器。 編碼器將原始輸入轉(zhuǎn)換為潛在空間的低維表示,用z來表示。而解碼器則盡可能地將z重構(gòu)回原始空間。 一旦SAE 訓練完成,就可以獲得包含輸入數(shù)據(jù)關(guān)鍵特征的隱藏表示z。
當輸入數(shù)據(jù)的特征提取完成后,使用GMM 對隱藏表示z進行聚類,并根據(jù)聚類結(jié)果的索引將原始輸入數(shù)據(jù)分成不同的組,每個組是一個獨立的子空間,同一子空間的數(shù)據(jù)遵循相同的模式。 為了準確地學習每個子空間的樣本特征,每個子空間訓練一個獨立的SAE,這些SAE 被稱為子模型。 子模型的結(jié)構(gòu)與上述SAE 的結(jié)構(gòu)相同。 顯然,對于給定數(shù)據(jù),并不知道存在多少個子空間,而子空間越多,則需要訓練更多子模型。 研究可知,每個子空間的樣本數(shù)量遠遠小于原始樣本數(shù)量,如此一來模型的訓練時間將大大減少,同時這些子模型可以并行訓練。因此,整個模型的訓練時間并沒有增加。
本文提出的模型根據(jù)子模型重構(gòu)誤差識別異常樣本。 樣本的重構(gòu)誤差越大,則其為異常的概率就越高。 在本文的模型中,樣本的異常得分是通過輸入和重構(gòu)之間的均方誤差(Mean Square Error,MSE) 來計算的。 在檢測步驟中,每個樣本被所有子模型同時重構(gòu),因此一個樣本會有多個重構(gòu)誤差。通常情況下,如果測試樣本遵循某個子空間的模式,那么測試樣本可以被其對應的子模型重構(gòu)得很好,而其他子模型的重構(gòu)誤差自然較大。 因此,研究選擇所有子模型中最小的重構(gòu)誤差為樣本最終的異常得分,如公式(10)所示:
其中,Esubmodel-i表示第i個子模型對樣本x的重構(gòu)誤差。 當樣本的異常得分高于指定閾值時,該樣本被認為是異常的。
為了驗證本文模型的有效性,本節(jié)分別進行了對比實驗、消融實驗、參數(shù)敏感實驗以及可視化實驗,從多個角度分析了基于子空間重構(gòu)的異常檢測模型的性能。
實驗模型基于Python 3.6 和Matlab 2022a 進行構(gòu)建,硬件平臺為Windows 10,CPU Inter Xeon(R)CPU E3-1231 v3@ 3.40 GHz,內(nèi)存16 GB,GPU NVIDIA GTX1080ti。
本文在6 個數(shù)據(jù)集上進行了實驗,這些數(shù)據(jù)集分別來自MIT-BIH 數(shù)據(jù)集和UCR 數(shù)據(jù)集,數(shù)據(jù)集詳情描述如下:
(1)MIT-BIH 數(shù)據(jù)集[9]。 來源于Beth Isral 醫(yī)院采集的48 個病人的心電圖記錄,并由2 名以上心臟病專家在每個心跳節(jié)拍的波峰位置標記出心跳類型。 根據(jù)AAMI(Association for the Advancement of Medical Instrumentation)[28]的建議,當心跳節(jié)拍被標記為N,L和R4 時表示正常,而其他類型為異常心跳。 由于部分記錄的數(shù)據(jù)質(zhì)量不夠,102、103、107和218 的記錄在該實驗中被刪除。 此數(shù)據(jù)集共包含2 860 萬個數(shù)據(jù)點,共計97 568 個心跳節(jié)拍樣本。為進行公平比較,本文采用文獻[8]中的數(shù)據(jù)處理方式,將原始心跳記錄分割為周期相同的心跳節(jié)拍樣本進行異常檢測。
(2)UCR 數(shù)據(jù)集[29]。 是時間序列異常領(lǐng)域重要的基準數(shù)據(jù)集,很多時間序列相關(guān)的算法使用了該數(shù)據(jù)集進行評估。 UCR 共包含128 個不同領(lǐng)域的數(shù)據(jù)集,本文從中選取了5 個數(shù)據(jù)集,包含不同的標簽種類及特征長度,能夠有效地反映檢測算法的泛化能力。 所有數(shù)據(jù)集的統(tǒng)計信息見表1。
表1 數(shù)據(jù)集統(tǒng)計信息Tab. 1 Statistical information of datasets
本文采用(Average Precision,AP) 和(Area Under Curve,AUC)評估模型性能。AP和AUC能夠同時考慮模型對負類和正類樣本的分類能力,在樣本極度不平衡的狀態(tài)下能夠?qū)Ψ诸惸P妥龀龉脑u估。
AP和AUC的計算涉及精確度(Precision)、召回率(Recall) 和假陽率(False Positive Rate,F(xiàn)PR),各個指標的計算方式如下:
其中,TP表示被預測為正類的正樣本數(shù)量;FN表示預測為負類的正樣本數(shù)量;FP表示預測為正類的負樣本數(shù)量;TN表示預測為負類的負樣本數(shù)量。因此,精確度表示預測為正類且實際為正類的樣本占所有預測為正類的樣本比例。 召回率表示被正確預測的正例占所有實際正例的比率。 假陽率表示被錯誤預測的正類占所有實際為負類的比率。 在此實驗中,負類表示正常樣本,正類表示異常樣本。
AP的計算結(jié)果基于PR曲線(Precision Recall Curve),如圖3 所示。 圖3 中,橫軸和縱軸分別為召回率和精確度,PR曲線與橫軸及縱軸所圍成的面積即為AP值。 召回率和精確度是此消彼長的,當模型能夠平衡對異常樣本的覆蓋能力及檢測精確度時,AP的值就會比較高。
圖3 PR 曲線Fig. 3 PR curve
AUC的計算結(jié)果基于ROC曲線(Receiver Operating Characteristic Curve)。 與PR曲線類似,但該曲線是以假陽率為橫軸,真陽率(召回率)為縱軸,ROC曲線與橫軸及縱軸所圍成的面積即為AUC值。 因此,當模型能夠權(quán)衡對正類與負類的覆蓋能力時,AUC的值就會比較高。
本文所有實驗采用”O(jiān)ne VS all”的方式進行模型訓練,將所有數(shù)據(jù)集中的一類數(shù)據(jù)作為正常數(shù)據(jù),其余類別的數(shù)據(jù)為異常數(shù)據(jù)。 為保證實驗的公平性及可信性,按照文獻[30]中的數(shù)據(jù)分割方式,將數(shù)據(jù)集中80%的樣本作為訓練樣本,剩余20%作為測試樣本。 此外,從訓練集中采樣25%的樣本作為驗證集進行參數(shù)調(diào)整,剩余訓練集中所有正常樣本參與模型訓練。
本文模型存在一個重要參數(shù),即子空間數(shù)量m,不同的數(shù)據(jù)集具有不同的m。 根據(jù)實驗測試結(jié)果,各數(shù)據(jù)集最優(yōu)實驗結(jié)果對應的m見表2。
表2 數(shù)據(jù)集子空間數(shù)量Tab. 2 The subspace number of each dataset
模型常規(guī)的訓練參數(shù):訓練輪數(shù)為200,學習率為0.000 1,L2 正則項權(quán)重系數(shù)為0.5,稀疏比率為0.05,稀疏正則項權(quán)重系數(shù)為1。
3.4.1 對比實驗
為了驗證本文模型的有效性,與5 個基準模型進行了性能對比實驗,基準模型分別為AnoGAN[31],ALAD[26],Ganomaly[32],BeatGAN[8]以及MMGAN[30],實驗結(jié)果見表3、表4 及表5。 其中,表3、表4 分別為AUC和AP的實驗結(jié)果,表5 為單側(cè)Wilcoxon 符號秩檢驗結(jié)果。
表3 AUC 實驗結(jié)果Tab. 3 Experimental results of AUC
表4 AP 實驗結(jié)果Tab. 4 Experimental results of AP
表5 單側(cè)Wilcoxon 符合秩檢驗Tab. 5 One-sided Wilcoxon rank test
從表3 和表4 的指標平均結(jié)果(MeanAP,MeanAUC) 可知,GMMSAE 在所有數(shù)據(jù)集上取得了最優(yōu)平均性能(MeanAUC0.946 6,MeanAP0.956 7),與平均性能表現(xiàn)緊隨其后的MMGAN 相比,總體性能提高了 7. 0% (AUC),15.4%(AP)。 證明了GMMSAE 利用子空間重構(gòu)能夠充分提取復雜數(shù)據(jù)中的多種模式,使模型更好地適用于多種檢測場景。
從表5 可以看出,GMMSAE 與AnoGAN、ALAD、Ganomaly、BeatGAN 以及MMGAN,在AUC和AP的單側(cè)Wilcoxon 符號秩檢驗概率p值均小于0.05,說明GMMSAE 的檢測性能顯著地好于其他5 個基準模型。
從表3 和表4 可以看出,在5 個數(shù)據(jù)量較小的UCR 數(shù)據(jù)集上,GMMSAE 的檢測效果提升明顯,在AUC和AP這2 個指標上,相對于MMGAN 提高了8.3%和18.5%,證明了GMMSAE 在小數(shù)據(jù)量的應用場景下,能夠充分利用現(xiàn)有的信息對多模式特征進行捕獲。 另外,GMMSAE 在MIT-BIH 數(shù)據(jù)集上,相對于MMGAN,AUC和AP上分別提高了1.1%和1.9%,證明了AEGMM 在大數(shù)據(jù)量的應用場景下,同樣能夠高質(zhì)量地提取多模式特征。 相對比UCR數(shù)據(jù)集,GMMSAE 在MIT-BIH 上的性能提升相對不顯著,主要原因是MIT-BIH 的弱周期性導致各個心跳節(jié)拍樣本在時序位置存在大量差異,而這些差異會嚴重影響模型的整體性能。
對各個基準模型進行分析。 AnoGAN 需要尋找輸入空間與潛在空間的最佳映射進行異常檢測,而對于復雜且高維的多模式數(shù)據(jù),往往很難找到最佳映射。 同時AnoGAN 對訓練數(shù)據(jù)的數(shù)據(jù)量要求較高,因此其在5 個數(shù)據(jù)量較小的UCR 數(shù)據(jù)集上檢測效果不理想。 ALAD 利用雙向GAN 進行異常檢測,但結(jié)構(gòu)復雜,同樣在數(shù)據(jù)量較小的場景下效率較低。Ganomaly 本質(zhì)上是基于圖像設(shè)計的模型,而時間序列樣本數(shù)據(jù)存在很少的空間特征信息,因此檢測效果不佳。 BeatGAN 對周期性較強的數(shù)據(jù)集上檢測效果較好,但對于非周期性數(shù)據(jù),如Two-Patterns 和Electric-Devices 上的檢測效果較差。 MMGAN 在頻域空間中考慮了多模態(tài)特征,因此相比前幾個基準模型,在各個數(shù)據(jù)集上的檢測效果有明顯提升。 但MMGAN 未考慮原始數(shù)據(jù)在時域下的多種模式,同時部分數(shù)據(jù)在頻域下的特征較為混亂,例如5 個UCR 數(shù)據(jù)集,因此在這5 個數(shù)據(jù)集上檢測效果低于GMMSAE。
通過以上分析可以發(fā)現(xiàn),現(xiàn)有異常檢測算法都存在各自的局限性,對數(shù)據(jù)的規(guī)模及周期有要求,并不能作為通用模型對時間序列異常進行高效檢測。本文提出的模型無論在小數(shù)據(jù)量、還是在大數(shù)據(jù)量的場景下都取得了令人滿意的檢測效果,解決了傳統(tǒng)方法的應用局限性。
3.4.2 消融實驗
為了驗證所提模型各部分的有效性,在ElectricDevices 數(shù)據(jù)集上進行了消融實驗,2 個變種模型分別為:
(1) GMMSAE w/o(without) GMM。 在模型中只使用SAE,不使用子空間重構(gòu)。
(2)GMMSAE。 本文的最終模型,即使用SAE作為重構(gòu)模型,并結(jié)合了子空間重構(gòu)策略。
各模型的實驗結(jié)果見表6。
表6 ElectricDevices 數(shù)據(jù)集消融實驗Tab. 6 Ablation results on ElectricDevices
從表6 中分析可得,相較于未使用子空間重構(gòu)的模型,GMMSAE 在AUC和AP兩個指標上分別提高了6%和18.74%,這證明了多模式提取能夠幫助模型學習到更全面的特征,有效地提高檢測效果。
3.4.3 參數(shù)敏感實驗
為驗證子空間數(shù)量m對模型性能的影響,還進行了參數(shù)敏感試驗。 在圖4 中,分別給出了AP和AUC在Two-Patterns 數(shù)據(jù)集上隨m的變化情況。由圖4 可知,當m從2 增加到4 時,AP和AUC存在明顯提升。 當m處于5 到10 之間,AP和AUC性能出現(xiàn)比較劇烈的波動。 之后,一直到m =20,AP和AUC總體維持在一個穩(wěn)定的區(qū)間。 可以分析得出,當數(shù)據(jù)中存在多種模式時,分割的子空間較少,模型不能夠完全捕獲這些模式,因此性能沒有達到最優(yōu)。而當子空間過多時,模型的性能沒有明顯地提升,說明過多的分割子空間并不會提升性能。 因此針對不同的數(shù)據(jù),選擇合適的子空間分割數(shù)量,才能使模型的性能達到最優(yōu)。
圖4 AP 和AUC 性能變化Fig. 4 The performance change of AP and AUC
3.4.4 數(shù)據(jù)可視化實驗
為了進一步探索本文模型針對不同樣本的重構(gòu)情況,本節(jié)對多個屬于不同模式的正常樣本進行了重構(gòu)可視化,另外也對多個不同類型的異常樣本進行了可視化。 具體而言,選取了MIT-BIH 數(shù)據(jù)集中4 個正常樣本進行可視化,這些樣本的整體特征不同,可以認為各樣本分別遵循不同模式,重構(gòu)效果如圖5 所示。 另外,選取了MIT-BIH 中4 個屬于不同類型(S,V,F(xiàn),Q) 的異常樣本進行可視化,如圖6 所示。
圖5 不同模式正常樣本的重構(gòu)Fig. 5 The reconstruction of normal samples with different patterns
圖6 異常樣本的重構(gòu)Fig. 6 The reconstruction of abnormal samples
由圖5 可知,每個子圖中藍色曲線表示原始樣本,黃色曲線表示重構(gòu)后的樣本。 通過觀察,雖然4個樣本整體的形狀特征不同,但各個樣本的重構(gòu)效果很好,原始樣本與重構(gòu)樣本之間的誤差很小。 因此通過子空間重構(gòu),模型可以有效地學習到數(shù)據(jù)中潛在的多種模式,達到對多模式樣本重構(gòu)的目的。
由圖6 可知,紅色曲線表示原始異常樣本,綠色曲線表示重構(gòu)后的樣本。 通過觀察,對于類型不同的異常樣本,重構(gòu)后的樣本與原始樣本差異很大,證明了模型并沒有過擬合異常樣本。 另外觀測發(fā)現(xiàn),重構(gòu)后的樣本呈現(xiàn)多種模式,進一步證明了本文的模型能夠充分學習到數(shù)據(jù)中潛在的多種模式。
綜合以上所有的實驗結(jié)果,性能對比實驗證明了本文模型在AUC和AP兩個指標上實現(xiàn)了顯著提升;消融實驗證明了本文提出的子空間重構(gòu)策略的有效性;參數(shù)敏感性實驗證明了,模型在合適的參數(shù)區(qū)間具有穩(wěn)定性;可視化實驗證明了,本文提出的模型能夠很好地重構(gòu)多模式樣本,并且不會擬合異常樣本。 可以得出結(jié)論:本文提出的方法不但在性能上具有優(yōu)秀的表現(xiàn),同時能夠適用于多種檢測場景。
本文提出一種基于子空間重構(gòu)的時間序列異常檢測模型。 該模型能夠?qū)W習復雜時間序列數(shù)據(jù)中的多種模式,一定程度上提高了異常檢測的準確性。在6 個數(shù)據(jù)集上進了實驗,結(jié)果表示,模型的性能顯著地好于已有的時間序列異常檢測方法,證明了多模式學習可以充分利用已有信息提高異常檢測的準確度。 但本文提出的模型需要針對不同數(shù)據(jù)集調(diào)整子空間的分割數(shù)量,這是一個耗時、且成本較高的過程。 因此,下一階段將考慮參數(shù)自適應調(diào)整以期望本文提出的模型具有更高的實際應用價值。