在SLS中快速实现异常巡检

一、相关算法研究

1.1 常见的开源算法

  • Yahoo:EGADS
  • FaceBook:Prophet
  • Baidu:Opprentice
  • Twitter:Anomaly Detection
  • Redhat:hawkular
  • Ali+Tsinghua:Donut
  • Tencent:Metis
  • Numenta:HTM
  • CMU:SPIRIT
  • Microsoft:YADING
  • Linkedin:SAX改进版本
  • Netflix:Argos
  • NEC:CloudSeer
  • NEC+Ant:LogLens
  • MoogSoft:一家创业公司,做的内容蛮好的,供大家参考

1.2 基于统计方法的异常检测

基于统计方法对时序数据进行不同指标(均值、方差、散度、峰度等)结果的判别,通过一定的人工经验设定阈值进行告警。同时可以引入时序历史数据利用环比、同比等策略,通过一定的人工经验设定阈值进行告警。
通过建立不同的统计指标:窗口均值变化、窗口方差变化等可以较好的解决下图中(1,2,5)所对应的异常点检测;通过局部极值可以检测出图(4)对应的尖点信息;通过时序预测模型可以较好的找到图(3,6)对应的变化趋势,检测出不符合规律的异常点。

如何判别异常?

  • N-sigma
  • Boxplot(箱线图)
  • Grubbs’Test
  • Extreme Studentized Deviate Test

PS:

  1. N-sigma:在正态分布中,99.73%的数据分布在距平均值三个标准差以内。如果我们的数据服从一定分布,就可以从分布曲线推断出现当前值的概率。
  2. Grubbs假设检验:常被用来检验正态分布数据集中的单个异常值
  3. ESD假设检验:将Grubbs'
  4. Test扩展到k个异常值检测

1.3 基于无监督的方法做异常检测

什么是无监督方法:是否有监督(supervised),主要看待建模的数据是否有标签(label)。若输入数据有标签,则为有监督学习;没标签则为无监督学习。
为何需要引入无监督方法:在监控建立的初期,用户的反馈是非常稀少且珍贵的,在没有用户反馈的情况下,为了快速建立可靠的监控策略,因此引入无监督方法。
针对单维度指标

  • 采用一些回归方法(Holt-Winters、ARMA),通过原始的观测序列学习出预测序列,通过两者之间的残差进行分析得到相关的异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值