开发者学堂课程【高校精品课北京理工大学数据仓库与数据挖掘(下):Hierarchical Methods】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1041/detail/15655
Statistical Approaches
内容介绍:
一、基于统计的异常检测
二、对一元数据的异常检测
三、多元数据异常检测方法
四、无参的异常检测方法
本课程开始数据仓库与数据挖掘的学习。在这一部分,介绍基于统计的异常检测方法。
一、基于统计的异常检测
在基于统计的异常检测方法中,假设数据对象是由某一个随机过程或者称之为生成模型产生的。可以首先根据给定的数据集,去拟合这样的一个随机过程或生成模型。
得到生成模型之后,可以去计算每一个数据对象由这个生成模型产生的概率。如果这个对象由这个模型产生的概率比较低,就认为这个对象是异常。
在基于统计的异常检测算法中,主要是包含两类,一类是带参的模型,一类是无参的模型。
二、对一元数据的异常检测
1.向量检索常用算法
向量检索
2.典型算法讲解
那这四种方式呢,
3.PG 自定义索引方法介绍
有了这些 ANN 首先来看一下对一元数据的异常检测,所谓的一元数据,指的是数据只有一个属性。对于一元属性,一往往假设这个数据是由正态分布产生,根据给定的数据,去学习正态分布的参数,再得到正态分布的参数之后,就可以利用正态概率密度函数去估算每一个数据对象,由这样的一个模型产生的概率。
1. 3σ 原则
通过一个例子介绍基于统计的一元数据异常检测。假设有一组数据,首先假设这些数据是由正态分布产生。使用最大释然方法可以估算,正态分布模型的两个、均值和方差。在计算得到均值和方差之后,就可以利用 3σ 原则进行检测。比如下图的一个数据集,计算得到了它的均值和方差。然后就可以利用 z-score 方法,将数据进行标准化,将它标准化为,以零为均值以一为方差的一个正态分布。
比如以24为例,24经过 z-score 规范化之后,它的值是-3.04。,根据正态分布的3σ 原则,大部分数据是分布在零的左右三个方差的范围之内的,也就是在-3到3之间的数据,大概占了总体数据量的99.7%,24所对应-3.04就超出了这样的一个 u 正负 3σ 的范围,认为这个数据就是异常的。
2. 最大标准残差检验
除了使用常见的 3σ 原则,还可以使用最大标准残差检验来对数据进行判断,比如依然是在计算了正态分布的两个参数均值和方差的基础上,将数据进行 z-score 规范化。在规范化之后,就可以根据 z 来进行最大标准残差检验。
在下图的一个计算公式中,n 指的是数据集的个数。而 T²a/(₂ₙ)ₙ-₂ 部分,就指的是在显著水平 ∂ 下的 t 分布的值。
三、多元数据异常检测方法
在介绍了一元数据的异常检测之后,介绍一下多元数据异常检测方法。对于多元数据来说,就指的是它的属性,个数是大于等于二的。对于多元数据异常检测方法,可以使用马哈拉洛比斯距离或者是卡方检验来进行。
1. 马哈拉洛比斯距离
首先介绍马哈拉洛比斯距离,首先计算数据集的均值。然后根据数据集的均值可以计算数据集中每一个数据对象 o 到这个均值的距离,这个时候计算的是马哈拉洛比斯距离。在得到每一个数据对象到均值的马氏距离之后,就可以构建一个一维数组,这个一维数组中的每一个点代表的是每一个对象到这个数据集均值的马哈拉洛比斯距离。在对于这样的一个一维数据,就可以使用之前介绍的最大标准残差检验的方法来检查异常,如果得到异常之后,和这个距离所对应的数据对象就是异常对象。
2. 卡方检验
除了使用马哈拉洛比斯距离还可以通过卡方检验。依然是在计算数据集的均值的基础之上,可以计算每一个数据对象的卡方值,然后利用卡方值来进行异常检测。
上面介绍的方法都是代参的,也就是会假设数据分布是由一个参数模型来表达。
四、无参的异常检测方法
下面介绍无参的基于统计的异常检测方法,其中最具有代表性的就是绘制直方图。
1.交易额直方图
比如下图展示的就是一个交易额的直方图。
通过这样的一个交易额的直方图,会发现大部分的交易额度都是低于5000的,也就是可以累积的算一下低于5000的交易的比率,占到了整个数据集的99.8%。,如果有一个交易的额度达到的是7500,就认为7500的数据是异常的,因为它只是占了数据中的一小部分。
2.困难
对于直方图进行异常检测来说,它的困难在于很难去决定合适的直方图的宽度。如果直方图的宽度设置的比较小一些,正常的数据就会落入到空的直方图或者是稀疏的直方图里面去,这样就会产生大量的错误的正式力。
如果直方图的宽度比较大,异常点就很可能会落入到一些频率比较高的直方里面去,这样就会导致比较高的错误的负试力。
关于基于统计的异常检测方法就介绍到这里。