异常检测方法
异常点检测(Outlier detection),又称为离群点检测,是找出与预期对象的行为差异较大的对象的一个检测过程。这些被检测出的对象被称为异常点或者离群点。异常点检测在生产生活中有着广泛应用,比如信用卡反欺诈、工业损毁检测、广告点击反作弊等。
根据不同异常检测问题分类:
- 时间序列法:移动平均,同比和环比,时序指标异常检测(STL+GESD)
- 统计法: 单特征且符合高斯分布,多个不相关特征且均符合高斯分布,多个特征相关且符合多元高斯分布
- 距离法:基于角度的异常点检测,基于KNN的异常点检测
- 线性方法:矩阵分解和PCA降维
本文主要介绍时间序列异常检测的具体实施流程:
将这类异常检测作为二分类问题来处理,按照机器学习流程分为四个阶段:预处理,特征提取,模型训练和最后的异常检测。
预处理:
在预处理过程中,我们首先面对的一个挑战是样本极度不平衡,这也是异常检测问题的主要特点。如图所示,在本次竞赛中,异常样本比例只有2%,远远低于正常样本。
如何避免呢,常用的有两种方式来使得不同类别样本比例相对平衡
- 下采样:
对训练集里面样本数量较多的类别(多数类)进行欠采样,抛弃一些样本来缓解类不平衡。 - 过采样: