乐趣区

关于机器学习:结合机器学习的多指标异常检测方法总结分析

云智慧 AIOps 社区是由云智慧发动,针对运维业务场景,提供算法、算力、数据集整体的服务体系及智能运维业务场景的解决方案交换社区。该社区致力于流传 AIOps 技术,旨在与各行业客户、用户、研究者和开发者们独特解决智能运维行业技术难题,推动 AIOps 技术在企业中落地,建设衰弱共赢的 AIOps 开发者生态。

前言

本篇咱们次要从以下几个方面对多指标零碎的异样检测办法进行了阐述:第一局部从散布的角度定义了多指标零碎的异样,并介绍了为什么单指标异样检测办法可能会在多指标零碎中生效。第二局部从统计、机器学习两方面,梳理现有的局部多指标异样检测办法的思路。第三局部介绍了一种基于投影降维的多指标异样检测思路,并探讨了后续待解决的几个关键问题。

多指标异样定义

这里咱们仅基于数据的统计学特色定义异样,不思考数据异样是否是业务异样。设有 N 条长度为 T 的工夫序列,记为

对时刻 t,定义异样区域

则认为此多元工夫序列在时刻 t 出现异常。相应的,失常域为异样区域的补集。

在此定义下,单点异样、上下文异样、个体异样 [[1]](https://yunzhihui.feishu.cn/d…) 可对立模式。单点异样可通过设定一个不随工夫变动的异样域 A 定义,而上下文异样和个体异样所对应的异样域 A t [](https://yunzhihui.feishu.cn/d…) 随工夫动态变化。

上面两图是两指标零碎的示例,失常区域为图中关闭图形,异样区域为图中关闭图形的内部。失常域随着工夫在变动,能够刻画上下文异样、单点异样、个体异样

多指标异样与单指标异样的关系

若各个指标之间是独立的,则此时多指标异样检测等价于 N 个单指标异样检测。由此可见,对 多指标数据做异样检测重点在于如何刻画指标之间的相依构造。上面举两个单指标异样检测办法在多指标场景下生效的例子:

例 1 X , Y 均为伯努利随机变量,它们的联结散布为

X , Y 别离定义了一个只有两个状态{0,1},转移概率均为 0.5 的随机游走过程。若某个时刻察看到(X , Y )=(0,0),边际来看,X , Y 仍然是只有两个状态{0,1},转移概率均为 0.5 的随机游走,无奈检测出异样。

以下两图是按上述模型生成的长度为 100 的序列,其中第 50 个点出现异常(X , Y )=(0,0)。

状态空间示例,红色点为异样

例 2 设有随机序列

互相独立。观测序列

X t = U t + Z t

Y t = V t + Z t

若某时刻后 X t , Y t 的生成模式变为

X t = U t + Z t

Y t = V t + W t

边际来看 X t , Y t 的散布不变,但 ( X t , Y t )的联结散布扭转

以下两图是按上述模型生成的长度为 100 的序列,其中第 51 个点是一个变点。

现有多指标异样检测统计办法总结

  1. 基于密度的办法

此类办法通常预计指标数据的密度散布,将密度值较小的区域划定为异样值。

Breunig et al (2000)[[29] ](https://yunzhihui.feishu.cn/d…)提出的 经典算法 LOF 将数据点与其四周数据点的密度做比拟,从而判断点远离失常区域的水平

Tomá (2016) [[4]](https://yunzhihui.feishu.cn/d…)随机生成 k -sparse 的正态投影向量,将多元时序数据投影到一维,以直方图预计一维投影后的概率,异样得分由屡次投影后失去的对数似然的平均值来结构。

Yamanishi et al (2000) [[5]](https://yunzhihui.feishu.cn/d…) 针对混合属性类型的数据(含类别变量和连续型变量),别离用直方图和高斯混合模型预计类别变量 X 和连续变量 Y 的密度,最初造成联结散布P(X , Y )=P(Y | X ) * P(X ),依据增加数据点后散布的变动水平计算异样得分。

Subramaniam et al (2006) [[6]](https://yunzhihui.feishu.cn/d…) 采纳 核密度估计密度,判断某个取值邻域内的密度,若小于阈值则认为是异样值。

Faulkner et al (2011) [[7]](https://yunzhihui.feishu.cn/d…)用核密度办法预计密度后不间接基于密度划定阈值,而是由指标的分位数判断异样,可控制数据中异样的比例。因为维数咒骂,密度估计在多元时通常成果较差,因而此类办法往往不适用于维数较大的数据

  1. 基于间隔的办法

这里基于间隔的办法也包含基于类似度(如各种 kernel function)的办法。统计上来看,基于间隔的办法和基于类似度的办法在假设检验问题上是等价的 [[8]](https://yunzhihui.feishu.cn/d…) 。此类办法计算各个时刻到近邻的间隔,或类似度指标,进而判断是否异样

Angiulli and Fassetti (2007) [[9] ](https://yunzhihui.feishu.cn/d…)计算点在窗口内的邻节点 ,若少于阈值则认为异样。相似的还有 Pokrajac et al (2007) [[10]](https://yunzhihui.feishu.cn/d…) 等。

Ro et al (2015) [[11]](https://yunzhihui.feishu.cn/d…)对 Mahalanobis 间隔改良,将协方差矩阵换成协方差矩阵的对角阵,未思考变量间的相关性。预计方差时随机抽取观测样本的子样本计算方差,选取方差乘积最小的预计作为最终预计 从而过滤掉异样点的影响。

Cheng (2008) [[12]](https://yunzhihui.feishu.cn/d…) 将多元工夫序列中的每条序列别离当作因变量(记为 Y),将其余序列当成自变量(记为 X),对 X 结构多元核矩阵 K X,对 Y 结构多元核矩阵 K Y。而后将 K YK X 的列空间投影,记为

将其归一化后作为马尔可夫链的转移矩阵,随机游走后统计各个时刻的拜访次数,次数少的时刻认为异样。该办法对概念漂移问题成果较差。随机游走计算量较大,通常能够对状态转移矩阵转置后谱合成间接求解安稳散布。

上面两图是总长度为 600 的分段正弦曲线及基于 10 万次随机游走模仿的拜访次数:

变点 300 的拜访次数并不显著低于其余时刻,该办法生效。

Kriegel et al (2008)[[13] ](https://yunzhihui.feishu.cn/d…)从几何角度,计算每个样本点对于任意一组点对的夹角,对夹角对于点对计算方差,作为 angle-based outlier factor。离群点所对应的 angle-based outlier factor 应较小。

(Kriegel et al (2008)[[13] ](https://yunzhihui.feishu.cn/d…)Figure 1)

此类办法仍然受维数咒骂影响较大。上面两图是不同维数下由相关系数为 0.3 的 AR(1)(一阶自回归)过程(变量之间相关系数为 0.3,工夫上独立)生成的长度为 100 的序列计算核函数后的直方图,核函数选尺度参数为 1 的高斯核。

从下面两图能够看出,维数为 3 时,核函数计算的各点之间的类似度还有肯定的区分度。当维数进步到 10 时,所有点两两之间的类似度集中在 0 左近,核函数计算的类似度曾经没有任何区分度。

  1. 基于预测的办法

该类办法对工夫序列的趋势成分建模,预测下一期取值,由预测误差判断异样。

Park et al (2021)[[14]](https://yunzhihui.feishu.cn/d…) 对 多指标数据做函数型 PCA,失去主成分,基于主成分预测下一时刻的取值,重构误差在误差散布的 25%~75% 范畴内认为失常。

Singer et al (1996)[[15]](https://yunzhihui.feishu.cn/d…)选取失常时刻的指标向量来示意失常点所组成的线性空间,对新的时序数据,给出其最优逼近,迫近误差为异样得分。该办法为有监督办法。

Jones et al (2014) [[16] ](https://yunzhihui.feishu.cn/d…)对多指标零碎的每个维度寻找最相干的维度(以非线性重构误差来计,如多项式回归),以各个工夫点的重构误差作为异样得分

Lee and Roberts (2008) [[17]](https://yunzhihui.feishu.cn/d…)采纳多元时序自回归预测,对预测值和观测值计算 Mahalanobis 间隔。假如观测遵从正态分布,则 Mahalanobis 间隔遵从 |N(0,1)| 散布,对其做极值散布,划定阈值。

Taylor and Letham (2017) [[33] ](https://yunzhihui.feishu.cn/d…)提出了一种 同时拟合工夫序列中的趋势性、周期性、假期效应的分段线性模型,通过将不同项作为协变量,求解法方程以同时预计各项参数。预测的误差可作为异样水平的度量。

  1. 基于投影的办法

该类办法将多指标数据投影到某个子空间以克服维数咒骂,在子空间上计算异样得分。

Inka (2017) [[18]](https://yunzhihui.feishu.cn/d…) 将多元工夫序列做随机投影,预计一维投影的直方图从而预计以后点的概率。对一维投影下的对数似然求均值,取负作为异样得分。

Liu et al (2010) [[19] ](https://yunzhihui.feishu.cn/d…)对 多指标在滑动窗口中利用 PCA,第一主成分形成失常局部,最初一主成分形成异样局部。异样局部的范数定义了异样间隔,如果间隔高于阈值,则认为该点异样。

Huang and Kasiviswanathan (2015) [[20]](https://yunzhihui.feishu.cn/d…)定义一组左奇怪向量以表征失常,若数据点在左奇怪向量上投影残差大,则认为异样。

Kamalov et al (2020) [[21]](https://yunzhihui.feishu.cn/d…)对高维数据做 PCA 降维,降维后用 KDE 预计多元似然,似然小的点认为是异样

现有多指标异样检测机器学习办法总结

  1. 基于分类的办法

该类办法 将异样标签看作类别标签 ,将异样检测问题当作分类问题思考,须要对数据事后标注。 基于分类的多指标异样检测办法可基于失常类个数持续分为两类:Multi-class 和 One-class。

One-class 异样检测技术 假如所有训练实例只有一个类标签(失常 / 异样)。这些技术应用单个类分类算法,如单类反对向量机[[22]](https://yunzhihui.feishu.cn/d…)、单分类 Fisher 判别分析[[23, 24]](https://yunzhihui.feishu.cn/d…) 来学习失常实例四周的判断边界。

Multi-class 异样检测技术 假如训练数据蕴含属于多个失常类的标记实例。这种异样检测技术应用一个分类器来辨别每个失常类和其余类[[25, 26]](https://yunzhihui.feishu.cn/d…),如上图所示。如果一个测试实例没有被任何一个分类器归类为失常,那么它就被认为是异样的。

  1. 基于树的办法

该类办法不同于决策树直接判断实例是否是异样,而是基于树结构计算实例的异样得分。

Tan et al (2011) [[27] ](https://yunzhihui.feishu.cn/d…)提出 基于半空间树的异样检测,该办法应用滑动窗口基于属性对参数空间二分,计算每个子空间的品质(mass)。这些树由一组节点组成,其中每个节点捕捉数据流特定子空间中的数据项数量或品质。窗口中落在参考窗低质量子空间中的数据点被认为是异样。

Guha et al (2016)[[28]](https://yunzhihui.feishu.cn/d…)随机划分属性以建设随机宰割树,持重随机宰割森林是独立持重随机宰割树的汇合。当蕴含该点的联结散布与排除该点的散布显著不同时,该点被辨认为异样。

Liu et al (2008) [[34]](https://yunzhihui.feishu.cn/d…)提出孤立森林算法,结构多棵决策树对样本点进行分类,以样本点的层级作为异样水平的断定规范。若某个样本点在森林中的均匀层级较浅,即很容易被辨别进去,则认为异样。

Staerman et al (2019)[[30]](https://yunzhihui.feishu.cn/d…)改良了针对截面数据的孤立森林算法,使其可扩大到函数型数据。该办法通过宰割函数空间的问题,逐渐将这个轨迹从其余轨迹中分离出来。

  1. 基于聚类的办法

该类办法的 根本假如是失常的数据实例在总体中聚合成簇,而异样点不属于任何类或者异样点聚成较小且稠密的类。基于以上假如的办法将已知的基于聚类的算法利用于数据集,并将不属于任何类的数据实例申明为异样。如 DBSCAN(Ester et al (1996) [[31]](https://yunzhihui.feishu.cn/d…))、ROCK(Guha et al (2000) [[32]](https://yunzhihui.feishu.cn/d…))等。

除了以上波及的基于统计的和基于机器学习算法的异样检测办法,在深度学习畛域也有很多针对多元工夫序列的模型,如 LSTM-AutoEncoder 等。这些深度学习办法往往具备训练工夫长、所需数据量大等缺点,不适用于多指标时序数据的实时异样检测的场景,因而本文不再介绍。

基于随机投影的多指标异样检测

基本思路

概率论中有一条对于散布性质的经典定理

Cramér-Wold 定理:

N 维随机向量XF 1 , YF 2,若对

α T X,α T Y 同散布,则F 1 = F 2

Cramér-Wold 定理表明多元散布的性质由其所有的一维投影的性质独特刻画,因而咱们能够思考将多元工夫序列 {Xit}i=1,…,N;t=1,…,T 投影到一维{α T X.t}t=1,…,T,αSN-1,对一维工夫序列利用单指标异样检测办法。思考到一维投影方向有无穷多个,理论利用中可生成无限次随机投影方向,对这无限次投影后的单指标异样检测后果进行综合,最终判断原有的多指标零碎是否出现异常。

示例

上面基于第一节中提到的两个例子展现一下随机投影异样检测的成果。

对例 1,X , Y 随工夫不变的特色是 X + Y

X + Y 序列的图像中能够显著看出,第 50 个点处呈现了一个单点异样。

上图是一次随机投影的后果,从图中也能够显著看出,第 50 个点处呈现了一个单点异样。

对例 2,(X t , Y t ) 前半段的不变特色是 X tY t

X tY t 序列的图像中能够显著看出,第 50 个点处呈现了一个变点。该点前后序列趋势差异极大。

上图是一次随机投影的后果,从图中也能够显著看出,第 50 个点处呈现了概念漂移,前后序列方差不同。

参考文献

[1] V. Chandola, A. Banerjee, and V. Kumar, Anomaly detection: A Survey, ACM Computing Surveys, vol. 41, no. 3, pp. 1-58, Jul. 2009.

[2] Cramér, H., & Wold, H. (1936). Some Theorems on Distribution Functions. Journal of the London Mathematical Society.

[3] Milana Gataric, Tengyao Wang and Richard J. Samworth (2020). Sparse principal component analysis via axis- aligned random projections. Journal of the Royal Statistical Society: Series B (Statistical Methodology).

[4] Tomá Pevn. Loda: Lightweight on-line detector of anomalies. Machine Learning, 2016, 102(2).

[5] Yamanishi, K. , Takeuchi, J. I. , Williams, G. , & Milne, P. . (2000). On-line unsupervised outlier detection using finite mixtures with discounting learning algorithms. Data Mining & Knowledge Discovery, 8(3), 275-300.

[6] Subramaniam, S., Palpanas, T., Papadopoulos, D., Kaloger-aki, V., and Gunopulos, D. Online outlier detection in sensordata using non-parametric models. In Proceedings of the 32nd interna-tional conference on Very large data bases(2006), VLDB Endowment, pp. 187–198.

[7] Faulkner, M., Olson, M., Chandy, R., Krause, J., Chandy,K. M., and Krause, A. The next big one: Detecting earthquakes and other rare events from community-based sensors. In Information Processing in Sensor Networks (IPSN), 2011 10th International Conference on (2011), IEEE, pp. 13–24.

[8] Sejdinovic, D., Sriperumbudur, B. , Gretton, A. , & Fukumizu, K. (2013). Equivalence of distance-based and RKHS-based statistics in hypothesis testing. Annals of Statstistics, 41(5), 2263-2291.

[9] Angiulli, F., and Fassetti, F. Detecting distance-based outliers in streams of data. In Proceedings of the sixteenth ACM conference on Conference on information and knowledge management (2007), ACM,pp. 811–820.

[10] Pokrajac D.,, Lazarevic, A. , & Latecki, L. J. (2007). Incremental Local Outlier Detection for Data Streams. IEEE Symposium on Computational Intelligence & Data Mining.

[11] Ro, K., Zou, C. & Wang, Z. (2015). Outlier detection for high-dimensional data. Biometrika.

[12] Haibin Cheng (2008). A Robust Graph-based Algorithm for Detection and Characterization of Anomalies in Noisy Multivariate Time Series. IEEE International Conference on Data Mining Workshops.

[13] Hans-Peter Kriegel, Matthias Schubert, Arthur Zimek (2008). Angle-Based Outlier Detection in High-dimensional Data. KDD.

[14] Park, S. , Han, S. , & Woo, S. S. . (2021). Forecasting Error Pattern-Based Anomaly Detection in Multivariate Time Series.

[15] Singer, R.M, Gross, K.C, King, & R.W. (1996). A pattern-recognition-based, fault-tolerant monitoring and diagnostic technique. Office of Scientific & Technical Information Technical Reports.

[16] Jones, M. , Nikovski, D. , Imamura, M. , & Hirata, T. . (2014). Anomaly detection in real-valued multidimensional time series. 2014 ASE BIGDATA/SOCIALCOM/CYBERSECURITY Conference.

[17] Lee, H.-j., and Roberts, S. J. On-line novelty detection using the kalman filter and extreme value theory. In Pattern Recognition, 2008.

[18] Inka Saarinen (2017). Adaptive real-time anomaly detection for multi-dimensional streaming data.

[19] Liu, Y., Zhang, L., and Guan, Y. Sketch-based streaming pca algorithm for network-wide traffic anomaly detection. In Distributed Computing Systems (ICDCS), 2010 IEEE 30th International Conference on (2010), IEEE, pp. 807–816.

[20] Huang, H., and Kasiviswanathan, S. P. Streaming anomaly detection using randomized matrix sketching. Proceedings of the VLDB Endowment 9, 3 (2015), 192–203.

[21] Kamalov, Firuz; Leung, Ho Hon (2020). Outlier Detection in High Dimensional Data. Journal of Information & Knowledge Management.

[22] Schölkopf, B.,Platt, J. C .,Shawe-Taylor, J. C.,Smola, A. J.,and Williamson, R. C.2001. Estimating the support of a high-dimensional distribution. Neural Comput. 13,7, 1443–1471.

[23] Roth, V. 2004. Outlier detection with one-class kernel fisher discriminants. In NIPS .

[24] Roth, V. 2006. Kernel fisher discriminants for outlier detection. Neural Computation 18,4, 942–960.

[25] Stefano, C.,Sansone, C.,and Vento, M. 2000. To reject or not to reject: that is the question–an answer in case of neural classifiers. IEEE Transactions on Systems, Management and Cybernetics 30,1, 84–94.

[26] Barbara, D.,Couto, J.,Jajodia, S.,and Wu, N. 2001. Detecting novel network intrusions using bayes estimators. In Proceedings of the First SIAM International Conference on Data Mining.

[27] Tan, S. C., Ting, K. M., and Liu, T. F. Fast anomaly detection forstreaming data. In IJCAI Proceedings-International Joint Conferenceon Artificial Intelligence (2011), vol. 22, p. 1511.

[28] Guha, S., Mishra, N., Roy, G., and Schrijvers, O. Robust random cut forest based anomaly detection on streams. In Proceedings of The 33rd International Conference on Machine Learning (2016), pp. 2712–2721.

[29] M. M. Breunig, H. P. Kriegel, R. T. Ng, J. Sander. LOF: Identifying Density-based Local Outliers. SIGMOD, 2000.

[30] Guillaume Staerman, Pavlo Mozharovskyi, Stephan Clémençon, Florence d’Alché-Buc (2019). Functional Isolation Forest. arXiv:1904.04573.

[31] Ester, M.,Kriegel, H.-P.,Sander, J.,and Xu, X. 1996. A density-based algorithm for dis-covering clusters in large spatial databases with noise. In Proceedings of Second InternationalConference on Knowledge Discovery and Data Mining.

[32] Guha, S.,Rastogi, R.,and Shim, K. 2000. ROCK: A robust clustering algorithm for categoricalattributes.Information Systems 25,5, 345–366.

[33] Sean J. Taylor & Benjamin Letham (2017): Forecasting at Scale, The American Statistician, DOI: 10.1080/00031305.2017.1380080

[34] Liu, Fei Tony, Kai Ming Ting, and Zhi-Hua Zhou. “Isolation forest.”Data Mining, 2008. ICDM’08. Eighth IEEE International Conference on. IEEE, 2008.

写在最初

近年来,在 AIOps 畛域疾速倒退的背景下,IT 工具、平台能力、解决方案、AI 场景及可用数据集的迫切需要在各行业爆发。基于此,云智慧在 2021 年 8 月公布了 AIOps 社区, 旨在树起一面开源旗号,为各行业客户、用户、研究者和开发者们构建沉闷的用户及开发者社区,独特奉献及解决行业难题、促成该畛域技术倒退。

社区先后 开源 了数据可视化编排平台 -FlyFish、运维治理平台 OMP 、云服务治理平台 - 摩尔平台、 Hours 算法等产品。

可视化编排平台 -FlyFish:

我的项目介绍:https://www.cloudwise.ai/flyF…

Github 地址:https://github.com/CloudWise-…

Gitee 地址:https://gitee.com/CloudWise/f…

行业案例:https://www.bilibili.com/vide…

局部大屏案例:

请您通过上方链接理解咱们,增加小助手(xiaoyuerwie)备注:飞鱼。退出开发者交换群,可与业内大咖进行 1V1 交换!

也可通过小助手获取云智慧 AIOps 资讯,理解云智慧 FlyFish 最新进展!

退出移动版