什么是数据挖掘:数据挖掘函数
什么是异常检测:异常检测spa
异常检测的目标是发现与大部分其余对象不一样的对象。一般,异常对象被称为离群点,由于在数据的散布图中,他们远离其余数据点。异常检测也称为误差检测、例外挖掘。对象
异常检测的方法各类各样,全部这些的思想都是:异常的数据对象是不寻常的,或者在某些方面与其余对象不一致。blog
1. 基于模型的技术
首先创建一个模型,异常是那些不能完美匹配的对象。例如,数据分布模型能够经过估计几率分布的参数来建立。若是一个对象不能很好地同该模型拟合,即若是它极可能不服从该分布,则它是一个异常。get
2. 基于近邻度的技术
能够在对象之间定义邻近性度量,许多异常检测方法都基于邻近度。异常对象是那些远离大部分其余对象的对象。当数据用二维或三维散布图显示,能够从视觉上检测出基于距离的离群点。it
3. 基于密度的技术
对象的密度估计能够相对直接地计算,特别是当对象之间存在近邻性度量时,低密度区域中的对象相对远离近邻,可能被看作异常。数据挖掘
异常检测的三种基本方法:基础
三者的主要区别至少对于对于某些数据而言是类标号(异常或正常)能够利用的程度。变量
1. 监督的异常检测
要求存在异常类和正常类的训练集(注意:可能有多个正常类或者异常类)
方法
2. 非监督的异常检测
没有提供类标号。在这种状况下,目标是将一个得分(或标号)赋予每一个实例,反映该实例是异常的程度。注意,许多类似的异常可能会致使被标记为正常,或有较低的离群点得分。
3. 半监督的异常检测
训练数据包含被标记的正常数据,可是没有关于异常对象的信息。目标是使用有标记的正常对象的信息,对于给定的对象集合,发现异常标号。
1. 用于定义异常的属性个数
对象能够有许多属性,它可能在某些属性上具备异常值,而在其余属性上具备正常值。注意,即便一个对象的全部属性值都不是异常,对象也可能异常。
2. 点的异常程度
二元方式报告对象是否异常:要么正常要么不正常。这不能反映某些对象比其余对象更加极端异常的基本事实。须要有某种对象异常程度的评估,这种评估称为异常或离群点得分。
3. 全局观点与局部观点
一个对象可能相对于全部对象看上去不正常,可是相对于它的局部近邻并不是如此。
4. 一次识别一个与多个异常
一次一个:每次识别并删除最异常的实例,重复该过程。一次多个:异常集族一块儿识别。前者常遇到屏蔽问题,后者可能陷入泥潭。
5. 评估
6. 有效性
各类方案的计算开销显著不一样。
2.0 统计方法
统计学方法是基于模型的方法,即为数据建立模型,根据对象的拟合程度来评估他们。
定义 离群点:离群点是一个对象,关于数据的几率分布模型,它具备低几率。
问题:
1. 识别数据集的具体分布
2. 使用属性的个数
3. 混合分布
高斯分布 N(μ,σ),第一个参数为均值,第二个为标准差。下图为均值为0,标准差为1的高斯分布的几率密度函数:
来自N(0,1)分布的对象,出如今尾部的机会很小
由于值到N(0,1)分布中心的距离 c 直接与该值的几率相关,所以可使用它做为检测对象(值)是不是离群点的基础。
因为不一样变量(属性)之间的相关性,多元正态分布并不关于它的中心对称,以下图,该分布均值为(0,0),协方差矩阵为
什么是协方差矩阵: 协方差矩阵
若是咱们打算用一个简单的阀值来决定一个对象是不是离群点,能够用 Mahalanobis 距离,它是是一种考虑数据分布形状的距离度量。
数据用两个分布的混合模型建模,一个分布为普通数据;另外一个为离群点。
初始时将全部对象放入普通对象集,而异常对象集为空。而后用一个迭代过程将对象从普通集转移到异常集,只要该转移能提升数据的总似然(数据和模型之间的类似度)。
假定数据集D包含来自两个几率分布的对象:M是大多数(正常)对象的分布,A是异常对象的分布,则数据的总几率分布能够记做:D(x) = (1 - λ) + λA(x)
其中,x是一个对象,λ是一个0 - 1之间的数,给出离群点的指望比例。M由数据估计,A一般取均匀分布。初始时刻 t = 0,M0 = D,A0为空。在任意时刻 t,整个数据集的似然和对数似然分别为如下两式:
PD、PMt 和 PAt 分别是 D、Mt 和 At 的几率分布函数。
由于正常对象的数量比异常对象大得多,所以当一个对象移动到异常集后,正常的分布变化不大。这时,每一个正常对象对正常对象的总似然的贡献保持相对不变。
另外,若是假定异常服从均匀分布,则移动到异常集的每一个对象对异常的似然贡献一个固定的量。这样,当一个对象移动到异常集时,数据总似然的改变粗略等于该对象在均匀分布下的几率(用λ加权)减去该对象在正常数据点的分布下的几率(用1-λ加权)。从而,异常集由这样一些对象组成,这些对象在均匀分布下的几率明显比在正常对象分布下的几率高。