码迷,mamicode.com
首页 > 编程语言 > 详细

异常点检测算法

时间:2017-08-22 19:51:23      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:logs   取值   扩展   cbo   简单的   基于   计算   over   out   

基于统计学的方法

一、基于正态分布的一元离群点检测方法

假设有 n 个点$(x_1, ...,x_n)$, 那么可以计算出这n个点的均值$\mu$和方差$\sigma$.均值和方差分别被定义为:

 技术分享

在正态分布的假设下,区域$\mu +- 3 \sigma$包含了99.7% 的数据,如果某个值距离分布的均值$\mu$超过了$3 \sigma$,那么这个值就可以被简单的标记为一个异常点(outlier)。

二、多元离群点的检测方法

涉及两个或者两个以上变量的数据称为多元数据,很多一元离群点的检测方法都可以扩展到高维空间中,从而处理多元数据。

 1)基于一元正态分布的离群点检测方法

假设n维的数据集合形如技术分享,那么可以计算每个维度的均值和方差,具体来说,对于 技术分享,可以计算

技术分享

在正态分布的假设下,如果有一个新的数据技术分享,可以计算概率技术分享如下:

技术分享

根据概率值的大小就可以判断 x 是否属于异常值。

 2)多元高斯分布的异常点检测

假设 n 维的数据集合 技术分享,可以计算 n 维的均值向量

技术分享

和 技术分享 的协方差矩阵:

技术分享

如果有一个新的数据 技术分享,可以计算

技术分享

根据概率值的大小就可以判断 技术分享 是否属于异常值。

 3)使用Mahalanobis距离检测多元离群点

对于一个多维的数据集合 D,假设 技术分享 是均值向量,那么对于数据集 D 中的其他对象 技术分享,从 技术分享 到 技术分享 的 Mahalanobis 距离是

技术分享

其中 技术分享 是协方差矩阵。

在这里,技术分享 是数值,可以对这个数值进行排序,如果数值过大,那么就可以认为点 技术分享 是离群点。或者对一元实数集合 技术分享 进行离群点检测,如果 技术分享 被检测为异常点,那么就认为 技术分享 在多维的数据集合 D 中就是离群点。

 4)使用技术分享统计量检测多元离群点

在正态分布的假设下,技术分享 统计量可以用来检测多元离群点。对于某个对象 技术分享技术分享 统计量是

技术分享

其中,技术分享 是 技术分享 在第 i 维上的取值,技术分享 是所有对象在第 i 维的均值,n 是维度。如果对象 技术分享 的 技术分享 统计量很大,那么该对象就可以认为是离群点。

 

基于矩阵分解的异常点检测方法

https://zr9558.com/2016/06/23/outlierdetectiontwo/

 

 

https://zr9558.com/2016/06/13/outlierdetectionone/

 

异常点检测算法

标签:logs   取值   扩展   cbo   简单的   基于   计算   over   out   

原文地址:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/7413121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!