时间序列相关性分析研究

2020-11-06 04:22陈刚
现代信息科技 2020年13期
关键词:相关系数时间序列相关性分析

摘  要:时间序列相关性分析是时间序列数据挖掘的重要手段,序列间相互影响与关联,其隐藏的相关信息可以用于识别、解释异常问题。目前大多数方法对隐藏的相关信息分析能力不足,各有缺陷,文章提出了一种多算法融合的方法,通过多种相关系数组合分析序列间的线性或非线性关系,同时对序列异常检测后的结果进行波动分析。真实数据表明,该方法能够精确发现序列间的相关性,实现根因定位。

关键词:时间序列;异常检测;相关性分析;相关系数;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—),男,汉族,安徽阜阳人,科长,高级工程师,工程硕士,研究方向:大数据运维。

猜你喜欢
相关系数时间序列相关性分析
人口老龄化对我国消费结构影响研究
南京市能见度变化趋势及其影响因素
上市公司财务指标与股票价格的相关性实证分析
淘宝星店成长中的粉丝力量
中国城市化与经济发展水平关系研究
基于时间序列的我国人均GDP分析与预测
基于线性散列索引的时间序列查询方法研究
基于组合模型的能源需求预测
秦皇岛海域夜光藻种群密度与环境因子的关系
电子鼻传感器阵列优化对猪肉新鲜度法的检测