数据预处理——缺失值和异常值的识别和填补

一、什么是异常值?什么是缺失值

异常值(outlier:异常值是指数据集中存在不合理的值,又称离群点。一组测定值中与平均值的偏差超过两倍标准差的测定值,与平均值的偏差超过三倍标准差的测定值,称为高度异常的异常值。【百度百科】

缺失值(missing value:是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。【百度百科】

 

二、异常值的识别和判定方法

【异常值识别】

在异常值处理之前需要对异常值进行识别,一般多采用单变量散点图或者箱型图来达到目的。

异常值产生最常见的原因是人为输入的错误,如小数点输入错误。

 

【判别方法】

  1. 简单统计分析

对属性值进行一个描述性的统计,从而查看哪些值是不合理的。比如对年龄这个属性进行规约:年龄的区间在[0:200],如果样本中的年龄值不再该区间范围内,则表示该样本的年龄属性属于异常值。

 

  1. 3δ原则

当数据服从正态分布时,根据正态分布的定义可知,距离平均值之外的概率为 P(|x-μ|>3δ) <= 0.003 ,这属于极小概率事件,在默认情况下我们可以认定,距离超过平均值的样本是不存在的。 因此,当样本距离平均值大于,则认定该样本为异常值。

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

 

  1. 箱型图分析

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

首先,我们定义下上四分位和下四分位:上四分位我们设为 U,表示的是所有样本中只有1/4的数值大于U。同理,下四分位我们设为 L,表示的是所有样本中只有1/4的数值小于L

那么,上下界又是什么呢?我们设上四分位与下四分位的插值为IQR,即:IQR=U-L 那么,上界为 U+1.5IQR ,下界为: L - 1.5IQR

箱型图选取异常值比较客观,在识别异常值方面有一定的优越性。

操作方法: R中,使用函数dotchart(),boxplot()实现绘制单变量散点图与箱型图

Python中,使用matplotlib中函数scatter(),boxplot()实现绘制单变量散点图与箱型图

【异常值处理方法】

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

  1. 删除含有异常值的记录:直接将含有异常值的记录删除。优点:简单易行。缺点:在观测值很少的情况下,会造成样本量不足,可能会改变变量的原有分布,从而造成分析结果的不准确。
  2. 视为缺失值:将异常值视为缺失值,利用缺失值处理的方法进行处理。优点:可以利用现有变量的信息,对异常值(缺失值)进行填补。
  3. 平均值修正:可以前后两个观测值的平均值修正该异常值。
  4. 不处理:直接在具有异常值的数据集上进行挖掘建模。

 

三、缺失值

【数据缺失的机制】

LittleRuth(1987)把数据缺失的机制分为三类:

1)完全随机缺失(missing completely at random, MCAR):所缺失的数据是完全随机的,缺失发生的概率既与已观察到的数据无关,也与未观察到的数据无关。这是一种比较理想的情况。

2)随机缺失(missing at random, MAR):数据的缺失不是完全随机的。缺失数据发生的概率与所观察到的变量是有关的,而与未观察到的数据的特征是无关的。这是一个比较严重的问题,在这种情况下,我们需要进一步检查数据收集过程,并尝试了解数据为什么丢失。 例如,如果在一项问卷调查中,大多数人没有回答某个问题,他们为什么这么做,是问题不清楚吗?

3)不可忽略的缺失(non-ignorable missing ,NIM),亦称为非随机缺失(not missing at random, NMAR),也有研究者将其称为MNAR(missing not at random)。缺失数据不仅依赖于其它变量,又依赖于变量本身,这种缺失即为不可忽略的缺失。

 

【缺失值填充方法】

删除:最简单最直接的方法,很多时候也是最有效的方法,这种做法的缺点是可能会导致信息丢失。对于unknown值数量较少的变量可以选择删除。删除有缺失数据的样本,删除有过多缺失数据的特征。

 

【多重插补法】

多重插补是由哈弗大学的Rubin教授在1977年首先提出的,该方法是从单一插补的基础上衍生而来的。指给每个缺失值都构造m个替代值(m>1,从而产生了m个完全数据集。然后对每个完全数据集采用相同的数据分析方法进行处理,得到m个处理结果,然后综合这些处理结果,基于某个原则,得到最终的目标变量的估计。

多重插补可以分为三个阶段:

  1. 对目标变量的估计
  2. 创建完整数据集
  3. 目标变量的确定。

其中归关键的阶段为目标变量的估计,该阶段需要确定估计缺失值得方法,即缺失值事以何种方法或者模型被评估出来,该阶段直接影响统计推断得有效性。

 

参考网址:

  1. https://blog.csdn.net/jingyi130705008/article/details/82670011
  2. https://blog.csdn.net/Hellolijunshy/article/details/80034269
  3. https://blog.csdn.net/g1027785756/article/details/99711727
  4. http://www.aibbt.com/a/21085.html
  5. https://blog.csdn.net/xsdxs/article/details/72831173
  6. https://blog.csdn.net/Amy_mm/article/details/79799629?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
  7. https://www.kaggle.com/pmarcelino/comprehensive-data-exploration-with-python
  8. https://blog.csdn.net/carlwu/article/details/75645092
  9. https://www.sohu.com/a/275318909_777125
  10. https://www.sohu.com/a/305803505_697896
  11. https://blog.csdn.net/zzlzzh/article/details/50149695
  12. https://blog.csdn.net/shuaishuai3409/article/details/51428106

https://wenku.baidu.com/view/00a209c07cd184254a353586.html

  • 13
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 查找缺失值数据预处理的重要步骤之一, 因为缺失值可能会对机器学习模型造成负面影响, 如降低模型的准确性和稳健性. 如果不清楚缺失值的分布, 可能会导致错误的做法, 例如删除或填充错误的数据. 因此, 查找缺失值数据预处理中非常重要的一个步骤. ### 回答2: 数据预处理是一个数据分析的关键步骤,而查找缺失值数据预处理中的一项重要任务。主要有以下几个原因: 首先,缺失值会导致数据分析结果的不准确性。如果数据中存在缺失值,直接进行分析可能会带来误导性的结果。例如,某个样本的某一特征值缺失,若不进行处理,可能会导致对于该特征的统计分析结果出现偏差,无法得到准确的结论。 其次,缺失值会影响数据模型的建立。对于机器学习和统计建模等数据分析任务来说,缺失值的存在会对模型的训练和评估带来困难。模型需要完整的数据集进行建模和预测,如果存在缺失值,就会影响建模的准确性和预测结果的可靠性。 此外,查找缺失值有助于决定合适的缺失值处理方法。通过查找缺失值,我们能够了解缺失值的出现情况和原因,进而根据具体情况选择合适的处理方法。常见的处理方法包括删除缺失值、补全缺失值和使用专门的缺失值处理算法等。 最后,查找缺失值还可以帮助发现数据收集过程中的问题。在数据收集环节中,缺失值的出现可能意味着数据收集过程存在问题,例如问卷调查中的遗漏,传感器故障等。通过查找缺失值,可以帮助我们发现这些问题,并采取相应措施来提高数据的质量。 综上所述,查找缺失值数据预处理中的重要步骤,其目的是为了保证数据分析结果的准确性和可靠性,以及决定合适的缺失值处理方法,并帮助发现数据收集过程中的问题。 ### 回答3: 数据预处理数据挖掘过程中的重要步骤,用于处理原始数据集中的噪声、异常值缺失值等问题,以提高数据质量和模型的准确性。在数据预处理过程中,查找缺失值是必要且重要的步骤。 首先,查找缺失值可以帮助我们了解数据集的完整性。缺失值是指数据集中某些属性或变量的值为空白或未记录,如果不进行查找,可能会因为数据缺失而导致后续数据挖掘分析的偏差。通过查找缺失值,我们可以确定数据集的完整性,从而对数据集进行合理的操作。 其次,查找缺失值使我们能够评估数据集的质量。数据集中的缺失值可能会对后续分析产生影响,降低模型的准确性和可靠性。通过查找缺失值,我们可以了解到缺失值的分布情况,进而评估数据集的质量,判断数据缺失的原因并采取相应的处理措施,例如对缺失值进行填补或删除。 此外,查找缺失值还可以帮助我们选择合适的缺失值处理方法。不同的缺失值处理方法适用于不同的情况,通过查找缺失值,我们可以了解到数据集缺失值型和缺失的模式,进而选择合适的缺失值处理方法,如均值插补、回归插补或使用插值算法等。 综上所述,数据预处理中的查找缺失值是必要的,它可以帮助我们了解数据集的完整性和质量,评估缺失值处理的效果,并选择合适的缺失值处理方法,从而提高数据的可靠性和分析结果的准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值