定义:
异常值,即在数据集中存在不合理的值,又称离群点。比如年龄为-1,笔记本电脑重量为1吨等,都属于异常值的范围。从集合角度来看,异常值即离群点,如下图所示:
判别方法:
1.简单统计分析
对属性值进行一个描述性的统计,从而查看哪些值是不合理的。比如对年龄这个属性进行规约:年龄的区间在[0:200],如果样本中的年龄值不再该区间范围内,则表示该样本的年龄属性属于异常值。
2. 3δ原则
当数据服从正态分布:
根据正态分布的定义可知,距离平均值3δ之外的概率为 P(|x-μ|>3δ) <= 0.003 ,这属于极小概率事件,在默认情况下我们可以认定,距离超过平均值3δ的样本是不存在的。 因此,当样本距离平均值大于3δ,则认定该样本为异常值。
当数据不服从正态分布:
当数据不服从正态分布,可以通过远离平均距离多少倍的标准差来判定,多少倍的取值需要根据经验和实际情况来决定。
3.箱型图分析
箱型图提供了一个识别异常值的标准,即大于或小于箱型图设定的上下界的数值即为异常值,箱型图如下图所示:
首先我们定义下上四分位和下四分位。
上四分位我们设为 U,表示的是所有样本中只有1/4的数值大于U
同理,下四分位我们设为 L,表示的是所有样本中只有1/4的数值小于L
那么,上下界又是什么呢?
我们设上四分位与下四分位的插值为IQR,即:IQR=U-L
那么,上界为 U+1.5IQR ,下界为: L - 1.5IQR
箱型图选取异常值比较客观,在识别异常值方面有一定的优越性。
常用处理方法:
异常值的处理方法常用有四种:
1.删除含有异常值的记录
2.将异常值视为缺失值,交给缺失值处理方法来处理
3.用平均值来修正
4.不处理
需要强调的是,如何判定和处理异常值,需要结合实际。
参考
《python数据分析与挖掘实战》