1、异常值简介
异常值是我们在数据分析中会经常遇到的一种特殊情况,所谓的异常值就是非正常数据。
有的时候异常数据对我们是有用的,比如在分析银行欺诈案例时,核心就是要发现异常值,这个时候异常值对我们是有用的。
有的时候异常数据不仅对我们无用,反而会影响我们正常的分析结果。比如,在统计某个城市的平均收入的时候,有人月收入是好几个亿,这个时候这个人就是一个异常值,这个异常值会拉高城市的整体平均收入,因此可能会得到一个不真实的分析结果。
下面来分享下,如何识别异常值以及识别到异常值以后该如何处理。
2.识别异常值
2.1 业务法
根据你对业务的理解,然后对每一个指标设定一个合理的范围,一旦超过这个范围,则认为是异常值。比如收入,一般来说都是正数,如果出现小于0,则认为是异常值;再比如年龄,正常的年龄可能在100以内,如果出现年龄是好几百的,那么也认为是异常值。
2.2 3σ原则
3σ原则中的σ是代表标准差,3σ也就是3倍的标准差,如果数据与均值之间的绝对距离大于3倍标准差,即下图中[-∞,μ-3σ]和[μ+3σ,+∞]部分,我们把这一部分值称为是异常值。
在用3σ原则时,数据要尽可能的服从正态分布,因为只有满足正态分布时,才认为出现3倍标准差以外数据的可能性很小,所以才会把这一部分当作异常值。
2.3 箱形图
箱形图就是如下图所示,会展示数据的上下界、上下四分位数、中位数、均值,我们把超过上下界的值称为异常值。分位数大家应该都知道怎么算,但是上下界怎么算出来的呢?
上界=上四分位数 + k(上四分位数 - 下四分位数)
下界=下四分位数 - k(上四分位数 - 下四分位数)
当k=1.5时表示中度异常;当k=3时表示高度异常。箱形图中默认k=1.5。
3. 异常值处理
找出异常值之后,那就要对异常值进行处理,常规方法如下:
将异常值删除,比如一个人的年龄是异常值,那么就把这个人从数据中删除;
将异常值当作缺失值进行替换,用0或者平均值进行替换。