异常值

异常值指的样本中的特例,和其他样例偏离太大,以至于让我们觉得是采样来自别处.

异常值检测的必要

数据预处理过程中常常会有异常值检测的需要,一般是来避免对统计模型的影响.试想,如果回归模型中,我们使用最小二乘法时有一个偏差很大的异常值.

异常值来源

以线性回归的采样为例,我们研究中国大陆刚毕业的程序员月收入和掉发数量的关系. 异常值的来源多种多样,常见的有

  • 人工录入错误(录入掉发数量不小心多了个0)
  • 测量误差(测量掉法量的仪器损坏)
  • 采样错误(采样了一位工作多年的已经秃头的程序员)
  • 新情况(00后程序员更加注意养生)

参考

常见的检测方法

我们需要根据数据的维度和分布以及业务情况(比如数据分布是否会更新,是否需要动态检测)来选择合理的异常值检测方法.常见的方法有:

  • IQR(InterQuartile Range),数据只有一维时结合箱图来排除
  • Z-score,假设数据分布为低维高斯分布时适用
  • DBSCAN,基于数据点的密度来排除,可以动态得执行,但相应得对于新数据需要重新适应
  • 分离森林(Isolation Forest),基于随机切分的方法

In [ ]: