


摘 ?要:時間序列相關性分析是時間序列數據挖掘的重要手段,序列間相互影響與關聯,其隱藏的相關信息可以用于識別、解釋異常問題。目前大多數方法對隱藏的相關信息分析能力不足,各有缺陷,文章提出了一種多算法融合的方法,通過多種相關系數組合分析序列間的線性或非線性關系,同時對序列異常檢測后的結果進行波動分析。真實數據表明,該方法能夠精確發現序列間的相關性,實現根因定位。
關鍵詞:時間序列;異常檢測;相關性分析;相關系數;DTW
中圖分類號:O211.61;O151.21 ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)13-0005-04
Abstract:Time series correlation analysis is an important means of time series data mining. The correlation between time series affects and correlates with each other,and the hidden related information can be used to identify and explain abnormal problems. At present,most of the methods have insufficient ability to analyze hidden related information,and each has its own shortcomings. This article proposes a method of multi-algorithm fusion,we analyze the linear or non-linear relationship between time series by a variety of correlation coefficient combination,and the fluctuation analysis of the sequence anomaly detection results is carried out. The real data show that this method can accurately find the correlation between sequences and realize root cause location.
Keywords:time series;anomaly detection;correlation analysis;correlation coefficient;DTW
0 ?引 ?言
時間序列是指將同一統計指標的數值按其發生的時間先后順序排列而成的數列,廣泛存在于各個領域,比如電商平臺的商品銷售記錄、金融市場的股票數據、互聯網公司的監控性能指標等。隨著大數據時代的到來,時間序列的規模也日趨增大,對時間序列進行分析,可以揭示事物運動、變化和發展的內在規律,對于人們正確認識事物并作出科學的決策具有重要的現實意義。上海鐵路局非常重視大數據和算法結合提升業務和IT運維能力,已經先后在業務預測、業務分析、數據中心智能運維等方向投入大量研究和項目實踐。筆者作為上海鐵路局大數據運維的負責人,全程參與并主導了上述研究和項目的進行,并且已經產生了多項研究成果。
時間序列的異常檢測[1]是檢測與時間序列中其他絕大多數模式不同的數據模式。目前,關于時間序列的異常檢測方法主要分為三大類:第一類是基于規則的檢測方法,如固定閾值、動態閾值等;第二類基于統計學[2]的檢測方法,如3Sigma、移動加權平均法、ARIMA[3]等;第三類是基于機器學習的檢測方法,如聚類、AutoEncoder[4]、RF[5]等。本文在對時間序列進行異常檢測時,根據時間序列的特征選取不同的方法進行異常檢測。
相關性分析[6]常用來研究不同對象屬性之間的相互關系,反映時間序列在某段時間內個數據點呈相同或相似波動情況的相關程度,相關方法主要包括相關系數、協方差[7]、最大互信息數[8]、DTW[9]和基于數據降維的相似性度量等。時間序列的相關性分析主要可以概括成三個問題:序列間是否相關?序列的波動是否經常一起出現?如果波動經常一起出現,波動之間是否存在關聯性?例如在運維領域[10],當服務發生故障時,與故障原因相關的許多監控指標也會出現異常的波動,這種相關性分析可以幫助運維人員進行故障排查。本項研究已經被用于數據中心智能運維項目中,用于實現業務指標異常時對基礎架構指標的關聯分析及故障定位。
1 ?相關理論基礎
1.1 ?Spearman相關系數
在統計學中,斯皮爾曼(Spearman)等級相關系數[11]用來估計變量X、Y之間的相關性,變量之間的相關性可以用單調函數來描述,其計算公式為:
其中,N為數據個數,d為兩個變量分別排序后成對的變量位置差,與兩個相關變量的具體值無關,僅與其值之間的大小關系有關,適用于不同數量級時間序列間的相關性分析。
1.2 ?最大互信息系數
互信息[12]是用來評價一個事件的出現對于另一個事件的出現所貢獻的信息量,計算公式如下:
其中,p(X,Y)為兩個變量之間的聯合概率,最大互信息系數(MIC)的想法是針對兩個變量之間的關系,將其以散點的形式離散在二維空間中,查看散點在各區間的分布計算出聯合概率,解決互信息中難求聯合概率的問題。MIC系數不限定于特定的函數類型,能夠捕捉變量間各種各樣線性或非線性的關聯。
1.3 ?動態時間規整算法
動態時間規整算法(DTW)基于動態規劃[13]的思想,可以衡量兩個長度不一致的時間序列的相似度。假設有兩個時間序列Q和C,長度分別為n和m,那么DTW算法計算過程如下:
(1)構建大小為n×m的矩陣D,矩陣元素d(i,j)=dist(qi,cj)為Q與C對應元素間的歐幾里得距離;
(2)在矩陣D中搜索從d(1,1)到d(n,m)的最短路徑作為Q和C的相似度,最短路徑的搜索不是任意的,需滿足以下三個約束條件:單調性,任何一個時間序列的先后順序不能改變,所以所選的路徑必須是隨著時間單調進行的;連續性,路徑必須是連續的,即搜索時不能跨過某個點去匹配,只能和自己相鄰的點對齊,保證兩個序列里的所有點都被匹配到;邊界條件確定性,兩個時間序列的發生有前有后,且其各部分的先后次序不可能改變,因此所選的路徑必定是從左下角d(1,1)出發,往右上角d(n,m)結束。
實際場景下的相關時間序列間通常存在一定的相位差,DTW系數能夠衡量由于時間錯位或長度不等的時間序列間的相似性。
1.4 ?異常度
異常度是指時間序列中異常點的異常程度,每一個時間序列經過異常檢測后都存在與之對應的異常度曲線,如圖1所示。
因此時間序列的相關性分析可以從原始序列和異常度序列兩個維度進行,通過分析原始序列得到序列間的統計相關性,通過異常度序列可以得到序列間的波動關聯。
2 ?相關性分析
假設有兩個時間序列Q和C,對Q和C分別進行異常檢測得到各自的異常度曲線Q1和C1,那么Q和C的相關得分如下:
score=w1(coe(Q,C))+(1-w1)(coe(Q1,C1))
其中,w1為權重參數,coe(Q,C)通過Spearman相關系數、MIC系數和DTW距離綜合評定。
算法總流程如圖2所示,對于待分析的時間序列,首先需對原始序列進行異常檢測,得到對應的原始值序列和異常度序列,然后利用本文提出的相關性評分機制,融合Spearman相關系數、MIC系數和DTW系數進行相關性評分,分別計算出原始序列間和異常度序列間的相關性,最后通過加權平均得到總的相關性得分。
3 ?實驗過程
3.1 ?實例分析
實驗首先選取了某一交易系統2020年6月4日13:00 —18:02的監控數據,包括交易量、不同服務器下的響應時間、CPU占用率等6個指標。在該時間段內此交易系統發生了多次故障。
圖3為6個指標在該時間段的時序圖,通過分析性能指標K2~K6與業務交易量指標K1間的相關性定位故障根因。其中K1是交易量,K2是通道端的響應時間,K3為支付端的響應時間,K4為支付端的CPU占用率,K5為通道端的CPU占用率,K6為支付端的成功率。
我們首先需要對這6個指標進行異常檢測,獲取異常度曲線,如圖4所示。
以K1為主要分析指標,分析K2~K6與K1的相關性,分別計算Spearman相關系數、MIC系數和DTW系數,結果如表1所示。
其中,S1、M1、D1表示原始序列的Spearman相關系數、MIC系數和DTW系數,S2、M2、D2表示異常度序列的Spearman相關系數、MIC系數和DTW系數,R表示本文算法的相關性評分結果,以上系數及本文算法的結果均表示相關性大小,在0~1之間,值越大,相關性越高。
從表1中可以看出,原始序列曲線特征各異(例如不同的周期性、平穩性、趨勢等),相關性分析會受到不同序列數據特征的干擾,而本文通過對原始序列進行異常檢測,得到的異常度曲線更能反映不同序列間的相似波動。另外,Spearman相關系數、MIC系數和DTW系數均有其獨特的適用場景及優勢,因此本文對這幾種相關系數進行了融合,從多個角度挖掘出序列間的相關信息,提供實用價值。具體來看,與指標K1相關的Spearman相關系數和MIC系數排名為K3、K5、K4、K6、K2,曲線越平穩,相關系數越高,因此這兩種系數需要基于時間序列平穩的假設;與指標K1相關的DTW系數排名為K5、K6、K2、K3、K4,DTW系數對于時間序列滯前或滯后的容忍度高,但無法識別正負相關性。本文方法相關性評分排名為K5、K2、K3、K4、K6,經驗證,K5為通道端服務器下的CPU指標,K2為通道端的響應時間,K3為支付端的響應時間,與真實故障的根因和傳播方向一致,驗證了本文方法的有效性。
3.2 ?數據集驗證
實驗數據集選取了某微服務應用系統下半年的真實監控數據,包括1個業務訪問量指標和4臺服務器下的10個性能指標(CPU、MEM、IO、SWaP、響應時間等),共發生了30次故障,每次故障均由服務器下的性能指標導致,根因指標由人工標注給出。本文通過對每次故障時間段的訪問量指標和40個性能指標進行相關性分析來定位根因指標。為了驗證本文方法的準確性,我們計算根因定位成功數量和成功率,公式如下:
success_num=sum(root in top3)
success_rate=
其中,root為人工標注的根因指標,top3為進行相關性分析后與訪問量指標相關性最高的3個指標,success_num表示成功定位的數量,即滿足top3分析結果中存在人工標注的根因,即為成功定位,success_rate為成功率,total_num=30。并與傳統的Pearson系數、格蘭杰因果關系檢驗等方法進行對比,對比結果如表2所示。
從表中可以看出,Pearson系數由于只能衡量時間序列間的線性相關性,成功率遠低于其他方法;Spearman相關系數、MIC系數和格蘭杰因果關系檢驗相較于Pearson系數相對可靠,但受時間序列平穩性的影響較大;DTW由于識別正負相關性能力較弱,成功率也較低;本文算法融合了幾種有效的分析手段,成功率最高,算法開放了不同分析方法的權重參數,能夠靈活地應對不同的分析場景。
4 ?應用案例
上海鐵路局在數據中心智能運維項目中,對業務應用的性能指標——訪問量、訪問延時及訪問成功率進行異常檢測,在發現異常后采用本文的研究成果對上述指標和對應業務系統基礎架構(如服務器)的性能指標進行關聯波動相關性分析,從而發現和應用性能指標最相關的基礎架構性能指標,實現快速的根因定位。
5 ?結 ?論
本文通過對時間序列進行異常檢測提取波動特征,融合Spearman和MIC相關系數分析序列間的線性或非線性關系,同時利用DTW算法分析序列間的波動關系。經過實驗證明,該方法能從多個角度挖掘出序列間的相關信息,精準地發現故障根因,提供實用價值。
參考文獻:
[1] 閆偉,張軍.基于時間序列分析的網絡流量異常檢測 [J].吉林大學學報(理學版),2017,55(5):1249-1254.
[2] 曹晨曦,田友琳,張昱堃,等.基于統計方法的異常點檢測在時間序列數據上的應用 [J].合肥工業大學學報(自然科學版),2018,41(9):1284-1288.
[3] 陳小玲.基于ARIMA模型與神經網絡模型的股價預測 [J].經濟數學,2017,34(4):30-34.
[4] LI Z Y,CHEN W X,PEI D. Robust and Unsupervised KPI Anomaly Detection Based on Conditional Variational Autoencoder [C]//2018 IEEE 37th International Performance Computing and Communications Conference (IPCCC). IEEE,2018.
[5] 張西寧,張雯雯,周融通,等.采用單類隨機森林的異常檢測方法及應用 [J].西安交通大學學報,2020,54(2):1-8+ 157.
[6] 丁小歐,于晟健,王沐賢,等.基于相關性分析的工業時序數據異常檢測 [J].軟件學報,2020,31(3):726-747.
[7] 王特.均值未知的單變量時間序列自協方差函數的無偏估計及其應用 [D].濟南:山東大學,2018.
[8] 張春濤,劉學飛,向瑞銀,等.基于最大互信息的混沌時間序列多步預測 [J].控制與決策,2012,27(6):941-944.
[9] ZUO L L,YAN L. A Weighted DTW Approach for Similarity Matching over Uncertain Time Series [J]. Journal of computing and information technology,2018,26(3):179-190.
[10] 宋旭翃,逄鈺.網絡運維數據的異常檢測 [J].有線電視技術,2018(2):92-94.
[11] 徐唐先.關于等級相關中斯皮爾曼公式的性質問題 [J].統計與決策,1995(11):22-23.
[12] 趙鴻,柴路,王浩,等.互信息在時間序列分析中的應用 [J].應用科學學報,1996(1):48-52.
[13] KIM S,PARK S,CHU W W. An Index-Based Approach for Similarity Search Supporting Time Warping in Large Sequence Databases [C]//Proceedings of the 17th International Conference on Data Engineering,Washington,DC:IEEE Computer Society,2001:607-614.
[14] 蔣華,張紅福,羅一迪,等.基于KL距離的自適應閾值網絡流量異常檢測 [J].計算機工程,2019,45(4):108-113+ 118.
作者簡介:陳剛(1976.11—),男,漢族,安徽阜陽人,科長,高級工程師,工程碩士,研究方向:大數據運維。