摘要:RRCF是亚马逊提出的一个流式异常检测算法,是对孤立森林的改进,可对时序或非时序数据进行异常检测.本文是我从事AIOps研发工作时所做的基于RRCF的时序异常检测方案. 1.      数据格式 将时间序列以滑动窗口的形式转换为d维空间点.例如对于时间序列[1,2,3,4,5,6,7,8],d=5,那么可以将该时间序列转换为4个空间点[(1,2,3,4,5),(2,3,4,5,6),(3,4,5,6,7),(4,5,6,7,8)].RCF以这样的高维空间点进行建模和检测. 2.     …
摘要:RRCF是亚马逊发表的一篇异常检测算法,是对周志华孤立森林的改进.但是相比孤立森林,具有更为扎实的理论基础.文章的理论论证相对较为晦涩,且没给出详细的证明过程.本文不对该算法进行详尽的描述,仅对其中的关键定理或引理进行证明. Theorem 1: 对于点集S构成的树RCF(S),假设S的bounding box的边长为P(S),一次切分分离x1和x2的概率为. 注意到,切分后,任意一边的bounding box的边长的减少量的期望值为,该期望值满足如下不等式: 因此,每一次切分导致的新子集…
1. 基于统计的异常检测 Grubbs' Test Grubbs' Test为一种假设检验的方法,常被用来检验服从正太分布的单变量数据集(univariate data set)\(Y\) 中的单个异常值.若有异常值,则其必为数据集中的最大值或最小值.原假设与备择假设如下: \(H_0\): 数据集中没有异常值 \(H_1\): 数据集中有一个异常值 Grubbs' Test检验假设的所用到的检验统计量(test statistic)为 \[ G = \frac{\max |Y_i - \ove…
本文为博主翻译自:Jinwon的Variational Autoencoder based Anomaly Detection using Reconstruction Probability,如侵立删 http://dm.snu.ac.kr/static/docs/TR/SNUDM-TR-2015-03.pdf 摘要 我们提出了一种利用变分自动编码器重构概率的异常检测方法.重建概率是一种考虑变量分布变异性的概率度量.重建概率具有一定的理论背景,使其比重建误差更具有原则性和客观性,而重建误差是自…
AIOps探索:基于VAE模型的周期性KPI异常检测方法 from:jinjinlin.com   作者:林锦进 前言 在智能运维领域中,由于缺少异常样本,有监督方法的使用场景受限.因此,如何利用无监督方法对海量KPI进行异常检测是我们在智能运维领域探索的方向之一.最近学习了清华裴丹团队发表在WWW 2018会议上提出利用VAE模型进行周期性KPI无监督异常检测的论文:<Unsupervised Anomaly Detection via Variational Auto-Encoder for…
论文http://202.119.32.195/cache/10/03/cs.nju.edu.cn/da2d9bef3c4fd7d2d8c33947231d9708/tkdd11.pdf 1. INTRODUCTION 异常是与正常样例有着不同的数据特性的数据模式.检测异常的能力具有重要的相关性,异常经常在多种应用领域中提供关键和可操作的信息.比如在信用卡交易中能够显示信用卡的使用有欺诈行为:在天文图像中的异常点能够说明发现了新的星星:一个不正常的计算机网络流量模式能够代表(stand for)…
南大周志华老师在2010年提出一个异常检测算法Isolation Forest,在工业界很实用,算法效果好,时间效率高,能有效处理高维数据和海量数据,这里对这个算法进行简要总结. iTree 提到森林,自然少不了树,毕竟森林都是由树构成的,看Isolation Forest(简称iForest)前,我们先来看看Isolation Tree(简称iTree)是怎么构成的,iTree是一种随机二叉树,每个节点要么有两个女儿,要么就是叶子节点,一个孩子都没有.给定一堆数据集D,这里D的所有属性都是连续…
iForest (Isolation Forest)是由Liu et al. [1] 提出来的基于二叉树的ensemble异常检测算法,具有效果好.训练快(线性复杂度)等特点. 1. 前言 iForest为聚类算法,不需要标记数据训练.首先给出几个定义: 划分(partition)指样本空间一分为二,相当于决策树中节点分裂: isolation指将某个样本点与其他样本点区分开. iForest的基本思想非常简单:完成异常点的isolation所需的划分数大于正常样本点(非异常).如下图所示: \…
基于Django Restframework和Spark的异常检测系统,数据库为MySQL.Redis, 消息队列为Celery,分析服务为Spark SQL和Spark Mllib,使用kmeans和随机森林算法对网络服务数据进行分析:数据分为全量数据和正常数据,每天通过自动跑定时job从全量数据中导入正常数据供算法做模型训练. 使用celery批量导入(指定时间段)正常样本到数据库 def add_normal_cat_data(data): """ 构建数据model…
在上篇博文中介绍了网络服务异常检测的大概,本篇将详细介绍SVDD和Isolation Forest这两种算法 1. SVDD算法 SVDD的英文全称是Support Vector Data Description,又称为支持向量数据描述,它是由Tax和Duin提出的一种单分类算法,它起源于V.VapniH的支持向量机.它计算围绕具有一组最小体积的球形决策边界对象,可以用于新奇检测或异常检测,检测从给定数据集中偏离的对象.通过使用不同的内核,SVDD可以获得更灵活和更准确的数据描述,通过区分由训练…