数据分析之异常值处理

  • 2020 年 3 月 17 日
  • 笔记
总第198篇/张俊红

异常值是我们在数据分析中会经常遇到的一种特殊情况,所谓的异常值就是非正常数据。有的时候异常数据对我们是有用的,有的时候异常数据不仅对我们无用,反而会影响我们正常的分析结果。比如在分析银行欺诈案例时,核心就是要发现异常值,这个时候异常值对我们是有用的。再比如,在统计某个城市的平均收入的时候,有人月收入是好几个亿,这个时候这个人就是一个异常值,这个异常值会拉高城市的整体平均收入,因此可能会得到一个不真实的分析结果。

这一篇来分享下,如何识别异常值以及识别到异常值以后该如何处理。

1.识别异常值

1.1业务法

根据你对业务的理解,然后对每一个指标设定一个合理的范围,一旦超过这个范围,则认为是异常值。比如收入,一般来说都是正数,如果出现小于0,则认为是异常值;再比如年龄,正常的年龄可能在100以内,如果出现年龄是好几百的,那么也认为是异常值。

1.23σ原则

3σ原则中的σ是代表标准差,3σ也就是标准差,如果数据与均值之间的绝对距离大于3倍标准差,即下图中[-∞,μ-3σ]和[μ+3σ,+∞]部分,我们把这一部分值称为是异常值。

在用3σ原则时,数据要尽可能的服从正态分布,因为只有满足正态分布时,才认为出现3倍标准差以外数据的可能性很小,所以才会把这一部分当作异常值。

1.3箱形图

箱形图就是如下图所示,会展示数据的上下界、上下四分位数、中位数、均值,我们把超过上下界的值称为异常值。分位数大家应该都知道怎么算,但是上下界怎么算出来的呢?

上界 =上四分位数 + k(上四分位数 - 下四分位数)  下界 =下四分位数 - k(上四分位数 - 下四分位数)  

当k=1.5时表示中度异常;当k=3时表示高度异常。箱形图中默认k=1.5。

2.异常值处理

通过上面识别异常值的方法我们就可以把数据中的异常值找出来,那找出异常值以后该怎么办呢?常规的异常值处理有如下几种方法:

将异常值删除,比如一个人的年龄是异常值,那么就把这个人从数据中删除; 将异常值当作缺失值进行替换,用0或者平均值进行替换

以上就是常规的关于异常值的处理内容。