异常检测
TASK04:基于相似度的方法
我们所说的异常通常是指:具有特定业务意义的那一类特殊的异常值。
基于距离的度量
基于距离的方法:基于最近邻距离来定义异常值。
适用:
- 多维数值数据
- 分类数据
- 文本数据
- 时间序列数据
- 序列数据
前提假设:
异常点的
K
K
K近邻距离要远大于正常点。
最简单的方法:
嵌套循环。
基于单元的方法
基于单元的方法:数据空间被划分为单元格。
数据的每个维度被划分为宽度最多为
D
2
⋅
d
\frac{D}{{2\cdot\sqrt d}}
2⋅dD的单元格。
可以观察到以下性质:
- 单元格中两点之间的距离最多为 D / 2 D/2 D/2
- 一个点与 L 1 L_{1} L1邻接点之间的最大距离为 D D D
- 一个点与它的 L r Lr Lr邻居(其中 r r r>2)中的一个点之间的距离至少为 D D D
基于索引的方法
利用多维索引结构来搜索每个数据对象 A A A在半径 D D D范围内的相邻点。
基于密度的度量
算法主要有:
- 局部离群因子(LOF, local outlier factor)
- LOCI局部关联积分
- CLOF基于组合局部孤立点的噪声处理算法
- 等基于LOF的改进算法。