转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/anomaly_detection.html
本文主要针对IBM SPSS Modeler 18.0中离群点检测算法的原理以及“异常”节点(见图1)使用方法进行说明。SPSS Modeler中的离群点检测算法思想主要基于聚类分析。如图2所示,可先将图中样本点聚成三类,$A$、$B$和$C$三个样本点应分别属于距离他们最近的类,但与相对类内的其他样本点,这三个点又分别远离各自的类,所以可以基于此判定是离群点。
图1:“异常”节点
图2:离群点检测示意图
1. 离群点检测算法思想
根据上述分析,你群点检测算法主要分为三个阶段:第一阶段,聚类,即将样本点聚成若干类;第二阶段,计算,即在第一阶段聚类的基础上,依据距离计算所有样本点的异常性测度指标;第三阶段,诊断,即在第二阶段异常性测度指标的基础上,确定最终的离群点,并分析导致样本点异常的原因,也就是分析离群点在哪个变量方向上呈现异常。以下就这三个阶段分别讨论:
1.1. 第一阶段:聚类
该阶段主要借助两步聚类算法实现对所有样本点的聚类(可参考两步聚类算法的相关内容)。两步聚类算法主要分为两个步骤:第一步是通过构造聚类特征(CF)树将大量零散的数据样本浓缩成可管理数量的子簇;第二步是从CF树叶节点的子簇开始利用凝聚法(agglomerative hierarchical clustering method),逐个地合并子簇,直到期望的簇数量。
两步聚类算法可以进行离群点处理,首先在CF树瘦身(rebuilding)之前筛选出潜在离群点,并CF树瘦身步骤后重新插入误识离群点到中。
潜在离群点的筛选。在CF树实施瘦身之前,从当前CF树中的所有叶元项(leaf entry)中找出包含最多数据样本的元项,记录该元项包含的数据样本数目($N_{\max} $),根据事先确定的比例参数$\alpha$;如果某叶元项包含的数据样本数目小于$\alpha N_{\max} $,则该叶元项置为潜在离群点,从当前CF 树中