第六章 异常挖掘
为了使用该定义,需要指定α值。从不寻常的值(对 象)预示来自不同的值的观点来说,α表示我们错误 地将来自给定分布的值分类为异常点的概率。从异 常点是N(0,1)分布的稀有值的观点来说,α表示稀 有程度。
基于统计方法异常点检测技术的优缺点
优点: 异常点检测的统计学方法具有坚实的基础,建立在标准 的统计学技术(如分布参数的估计)之上。 当存在充分的数据和所用的检验类型的知识时,这些检 验可能非常有效。 缺点: 大部分统计方法都是针对单个属性的,对于多元数据技 术方法较少。 在许多情况下, 数据分布是未知的。 对于高维数据, 很难估计真实的分布。
第六章 异常挖掘
主要内容
异常挖掘及其应用 异常数据挖掘方法简介
基于统计的方法 基于距离的方法 基于密度的方法 基于聚类的方法
未来研究展望
什么是异常(Outlier)?
Hawkins的定义:异常是在数据集中偏离大部分数据 的数据,使人怀疑这些数据的偏离并非由随机因素产 生,而是产生于完全不同的机制。 Weisberg的定义:异常是与数据集中其余部分不服从 相同统计模型的数据。 Samuels的定义:异常是足够地不同于数据集中其余 部分的数据。 Porkess的定义:异常是远离数据集中其余部分的数 据
如果一个点的邻域内包含的对象少于整个数据集的一定比例 则标识它为异常,也就是将没有足够邻居的对象看成是基于 距离的异常。 使用k-最近邻的距离度量一个对象是否远离大部分点,一个 对象的异常程度由到它的k-最近邻的距离给定 。 这种方法对k的取值比较敏感。如果k太小(例如1),则少量的 邻近异常点可能导致较低的异常程度。如果k太大,则点数 少于k的簇中所有的对象可能都成了异常点。
c 1 1.5 2 2.5 3 N(0,1)的α 0.3173 0.1336 0.0455 0.0124 0.0027
3.5 4
0.0005 0.0001
定义
定义 设属性x 取自具有均值0 和标准差1 的高斯 分布。如果属性值x 满足: P(|x|≥c)=α,其中c 是一个选定的常量,则x以概 率1-α为异常点。
什么是异常挖掘? (Outlier mining,Exception mining)
异常挖掘可以描述为:给定N个数据对象和所 期望的异常数据个数,发现明显不同、意外, 或与其它数据不一致的前k个对象。 异常挖掘问题由两个子问题构成:
(1)如何度量异常; (2)如何有效发现异常。
为什么会出现异常数据?
异常数据实例
一个人的年龄为-999就可能是由于程序处理缺省数据设置 默认值所造成的 ; 一个公司的高层管理人员的工资明显高于普通员工的工资 可能成为异常数据但却是合理的数据(如平安保险公司 2007年 5位高管税后收入超过了1000万元); 一部住宅电话的话费由每月200元以内增加到数千元可能 就因为被盗打或其它特殊原因所致; 一张信用卡出现明显的高额消费也许是因为是盗用的卡。
例:
C D B
当k=5时,哪个点具有 最高的异常点得分,B 的异常点得分和D的异 常点得分哪个低?
A
基于密度的异常检测
基于密度的异常检测
当数据集含有多种分布或数据集由不同密度子集混 合而成时,数据是否异常不仅仅取决于它与周围数 据的距离大小,而且与邻域内的密度状况有关。 密度的两种不同理解: ♦到第k个最近邻的距离大小; ♦到第k个最近邻邻域内的对象的个数;
在基于距离的方法中, p2 不是异常,而在LOF 方法中p1 和p2 都被判 定为异常。
p2
p1
定义6-3 (1) 对象的局部邻域密度
yN ( x ,k ) distance y) (x, density k) (x, | N ( x, k ) |
1
利用k最近邻距离的大小来判定异常 。
到k-最近邻的距离的计算
k-最近邻的距离:
一个对象的异常点得分由到它的k-最近邻的距离给 定。 异常点得分的最低值为0,最高值是距离函数的可 能最大值----如无穷大
基于距离的异常点检测 例1
请问该二维数据集中,当 k=5时,哪个点具有最高 的异常点得分?
测量、输入错误或系统运行错误所致 数据内在特性所决定 客体的异常行为所致
由于异常产生的机制是不确定的,异常挖掘算法检测出 的“异常数据”是否真正对应实际的异常行为,不是 由异常挖掘算法来说明、解释的,只能由领域专家来 解释,异常挖掘算法只能为用户提供可疑的数据,以 便用户引起特别的注意并最后确定是否真正的异常。 对于异常数据的处理方式也取决于应用,并由领域专 家决策。
异常数据具有特殊的意义和很高 的实用价值
现有数据挖掘研究大多集中于发现适用于大部分 数据的常规模式,在许多应用领域中,异常数据通 常作为噪音而忽略,许多数据挖掘算法试图降低 或消除异常数据的影响。而在有些应用领域识别 异常数据是许多工作的基础和前提,异常数据会 带给我们新的视角。 如在欺诈检测中,异常数据可能意味欺诈行为的 发生,在入侵检测中异常数据可能意味入侵行为 的发生。
例:如果假定数据具有高斯分布,则基本分布的均 值和标准差可以通过计算数据的均值和标准差来估 计,然后可以估计每个对象在该分布下的概率。
实例:检测一元正态分布中的异常点
下面利用统计学中最常使用的分布之一:高斯(正态) 分布,来介绍一种简单的统计学异常点检测方法。
正态分布用记号:N (μ,σ)表示,μ表示均值,σ表示方 差。
但,这不能反映某些对象比其他对象更加极端异常 的基本事实 所以:可以通过定义对象的异常程度来给对象打 分 ,如都为异常的情况下,也还有分高和分低的 区别。——异常点得分(outlier score)
(4)评估
如果可以使用类标号来识别异常和正常数据:
可以利用分类性能度量来评估异常检测方案的有效 性。 也可以使用如精度、召回率等度量方法来度量
异常检测的应用领域
电信、保险、银行中的欺诈检测与风险分析 发现电子商务中的犯罪行为 灾害气象预报 税务局分析不同团体交所得税的记录,发现异常模型和趋势 海关、民航等安检部门推断哪些人可能有嫌疑 海关报关中的价格隐瞒 营销定制:分析花费较小和较高顾客的消费行为 医学研究中发现医疗方案或药品所产生的异常反应 计算机中的入侵检测 运动员的成绩分析 应用异常检测到文本编辑器,可有效减少文字输入的错误 ……
如果不能使用类标号,则评估是困难的。
(5)有效性
各种异常检测方案的计算开销是显著不同的 例如:
基于分类的方案需要相当多的资源(训练数据和测 试数据)来创建分类模型,但是这个模型一旦建立 好了,使用时的开销通常很小 而基于邻近度的方法,其时间复杂度通常为O(n2)
异常检测的挑战和前提
基于距离的异常点检测 例2
请问该二维数据集中,当 k=5时,哪个点具有最高 的异常点得分?
基于距离的异常检测的优缺点
优点:
基于距离的异常点检测方案简单
缺点:
时间复杂度O(m2),不适用于大数据集 不能处理不同密度区域的数据集,因为它使用全局 阈值,不能考虑这种密度的变化
不能处理不同密度区域的数据集
挑战:
数据中有多少异常点? 方法应该是无监督的,就像在干草堆中寻找一根针
前提假设:
假定数据集中被认为正常的点数远远超过被认为异 常的点数
基于统计的异常检测
基于统计的异常检测
这类方法大部分是从针对不同分布的异常检验方 法发展起来的,通常用户使用分布来拟合数据集。
假定所给定的数据集存在一个分布或概率模型(例如, 正态分布或泊松分布),然后将与模型不一致(即分布不 符合)的数据标识为异常数据。
定义1 对于正整数k,对象p到它的第k个最近邻 o的距离k-distance(p)定义为: (1) 至少有k个对象满足 d( p,o') d( p,o) (2) 至多k-1个对象满足 d( p,o') d( p,o)
2013-7-9
使用相对密度的异常点检测(LOF)
对每个点, 计算它的局部邻域密度 计算样本p的局部异常因子(LOF),把它作为样本 p的平均密度比率和近邻密度 异常点为具有最大LOF参数模型来描述数据的分布 (如正 态分布) 应用基于统计分布的异常点检测方法依赖于
数据分布 参数分布 (如均值或方差) 期望异常点的数目 (置信度区间)
异常点的概率定义
异常点的概率定义:
异常点是一个对象,关于数据的概率分布模型,它 具有低概率
概率分布模型通过估计用户指定的分布的参数, 由数据创建。
异常检测中需要处理的几个问题
(1)用于定义异常的属性个数
一个对象只有单个属性 一个对象具有多个属性:
可能某个属性异常,某个属性正常 如:对于男生而言, 身高1.6m,体重55kg,这个很正常; 身高1.6m,体重75kg,这个有点异常; 身高1.8m,体重75kg,基本正常。 若对于女生,则三组值可能都不太正常。
从类标号(正常或异常)可以利用的程 度分类
无监督的异常检测方法
在实际情况下,没有提供类标号 要求存在异常类和正常类的训练集 训练数据包含被标记的正常数据,但是没有关于异常对 象的信息
有监督的异常检测方法
半监督的异常检测方法