本文最后更新于720 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
无监督的数据异常检测算法(1)- LOF
无监督的数据异常检测算法(1)- LOF
1.1 LOF简介
在众多的离群点检测方法中,LOF方法是一种典型的基于密度的高精度离群点检测方法。在LOF方法中,通过给每个数据点都分配一个依赖于邻域密度的离群因子LOF,进而判断该数据点是否为离群点。若LOF,则该数据点为离群点;若LOF接近于1,则该数据点为正常数据点。
1.2 距离度量尺度
设对于没有相同点的样本集合,假设共有个检测样本,数据维数为,对于
针对数据集中的任意两个数据点,存在如下几种常用的距离度量方式:
- Euclid距离(欧几里得距离)
- Hamming距离(汉明距离)汉明距离使用在数据传输差错控制编码里面,用于度量信息不相同的位数
- Mahalanobis距离(马氏距离)
- 球面距离
- 除上述之外,还有切比雪夫距离,闵可夫斯基距离,绝对值距离,曼哈顿距离等,根据具体问题具体分析选择哪一种距离度量方式
在下述内容中统一使用表示点和点之间的距离。根据定义,可以根据交换律得
1.3 LOF计算步骤
1.3.1 第距离
为点的第距离,满足如下条件
- 在集合中至少存在个点使得
- 在集合中至多存在个点使得
简而言之:点是距离最近的第个点
确定的值在后续的离群点检测中十分重要,这个数值的确定表示在离群点的检测中通过带检测点周围多少个点来对其进行判断。
在确定了的值之后,也就是确定了第距离。因为有了第距离从而有了距离邻域
1.3.2 距离邻域
设为点的第距离邻域,满足:
此处的邻域表示的是具体的点,这个邻域集合中包含所有到点的距离小于点第邻域距离的点。
同样由第距离得到的概念还有-可达距离
1.3.3 可达距离
以为中心,点到点的第可达距离定义为:
可达距离可以看作是一种简化,直接的衡量方式:
点到点的第可达距离至少是点的第距离。距离点最近的个点,他们到的可达距离被认为是相等的,都等于
通过距离邻域和可达距离,引出了局部可达密度
1.3.4 局部可达密度
局部可达密度的定义为:
局部可达密度表示点的第邻域内所有点到的平均可达距离。如果和周围邻域点是同一簇,那么可达距离更可能为较小的,导致可达距离之和更小,局部可达密度更大。如果点和周围邻域点较远,那么可达距离可能会取较大值,导致可达距离之和更大,局部可达密度更小。
通过局部可达密度引出了最终的LOF局部离群因子。
1.3.5 局部离群因子
LOF局部离群因子则是点的邻域内其他点的局部可达密度与点的局部可达密度之比的平均数。如果这个比值越接近于,说明点的邻域点密度差不多(相近),点的邻域点密度差不多,点则可能和邻域同属于一簇(不是离群点);如果这个比值小于,则说明的密度高于其邻域点的密度,为局部的密集点(不是离群点);如果这个比值大与,说明点的密度小于其邻域点密度,点可能是异常点。
根据局部可达密度的定义可以知道,如果一个数据点与其他点比较疏远的话,那么显然它的局部可达密度就会比较小。但是局部离群因子是通过一个数据点的局部可达密度与其距离邻域中的数据点的局部密度比较,获得一个相对的密度。这样就可以允许数据分布不均匀,密度不同。
1.4 示例
如下图所示:
图中是一个二维数据集,图中包含两个簇和两个离群点,其中更为稠密,稀疏,是局部离群点,是全局离群点。如果根据全局的异常因子检测方法,离群点易于挖掘,但是会难以挖掘。如果为了挖掘出而调整全局离群点检测的参数,那么中大部分的数据点都可能会被标识为离群点。也正是为了解决上述的数据异常检测问题,所以引入了局部离群点检测