特征工程总结(一):异常值检验及处理

一.定义

           异常值,即在数据集中存在不合理的值,又称离群点。

二.检验

(1)简单统计分析:对属性值进行一个描述性(经验)的统计,从而看出哪些值是不合理的。例如年龄,年龄的区间是【0,100】,如果样本中的年龄不在这个区间内,那么这个样本则被视为异常值。

(2)基于高斯分布的异常点检测:根据已有数据集,建立高斯分布的模型,通过新数据和已知分布的差异进行判断是否异常值。

(3)基于标准偏差(3δ原则)的异常值检测(高斯分布差异的一种):一般适用于服从正太分布的数据,即异常值被定义为观测值和平均值的偏差超过3倍标准偏差的值。

                                                           P(|x-μ|>3δ) <= 0.003

当数据不服从正太分布的时候,可以通过远离平均距离多少倍的标准差来判定,多少倍的取值需要经验和实际情况来判定。

(4)箱型图分析

箱型图提供了一个识别异常值的标准,即大于或小于设定的上下界的数值即为异常值。

                        Q1:上四分位数

                        Q2:下四分位数

                        IQR=Q1-Q2上下四位分数之差,包含了全部观测值的一半:

四分位数的思想就是,通过估计数据集中的最小值和最大值,一次判断异常值,估计最小和最大值:

                           min=Q2-k*IQR            

                           max=Q1+K*IQR

k的取值取决于对异常值的忍耐程度,一般k取1.5.

(5)基于(马氏距离,欧式距离)距离:利用聚类的思想,对数据进行聚类,排除距离中心最远的n个点,一般算法:kmeans,knn等,                   

(6)还有一些比较高级的检测算法,如:局部异常因子LOF算法,孤立森林iForest等。

三.处理异常值: 数据预处理时,异常值是否删除,需视具体情况而定,因为有些异常值可能蕴含着有用的信息。

一般的处理方法:

(1)直接删除含有异常值的样本

(2)视为缺失值:利用缺失值处理的方法进行处理

(3)平均值修正:可以用前后两个观测值的平均值修正该异常值

(4)不处理:可以直接在具有异常值的数据集上进行数据建模

    原文作者:行走在风中
    原文地址: https://blog.csdn.net/qq_36874480/article/details/80176756
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞