数据的预处理基础:如何处理缺失值(一)

简介: 数据的预处理基础:如何处理缺失值(一)

数据集缺少值?让我们学习如何处理:

数据清理/探索性数据分析阶段的主要问题之一是处理缺失值。缺失值表示未在观察值中作为变量存储的数据值。这个问题在几乎所有研究中都是常见的,并且可能对可从数据得出的结论产生重大影响。

image.png

查看数据中的缺失值,您的第一项工作是基于3种缺失值机制来识别缺失模式:

  1. MCAR(完全随机丢失):如果数据的缺失与任何值(观察或缺失)之间没有关系,则为MCAR。
  2. MAR(半随机丢失):您必须考虑MAR与MCAR有何不同, 如果缺失和观测值之间存在系统关系,则为MAR。例如-男性比女性更容易告诉您自己的体重,因此体重就是MAR。“ Weight”变量的缺失取决于变量“ Sex”的观测值。
  3. MNAR(不随机丢失):如果2个或更多变量的缺失具有相同模式,则为MNAR。

您可以可视化数据来验证完整性(使用Python代码):

image.png

您可以可视化数据集中缺失的位置(使用Python代码):

image.png

在可视化中,您可以检查缺失是MCAR,MAR还是MNAR。

  • 如果两个或多个变量中的缺失具有相同的模式,则为MNAR。您可以使用一个变量对数据进行排序(并可视化),并可以确定它是否完全是MNAR。例如 “住房”和“贷款”变量的缺失模式相同。
  • 如果任何两个或多个变量的缺失之间没有关系,并且一个变量的缺失值和另一个变量的观测值之间也没有关系,则这就是MCAR
  • 如果缺失和观测值之间存在系统关系,则为MAR。我们将在下面学习如何识别缺失值是MAR。

您可以按照以下两种方法检查缺失值:

  1. 缺失热图/相关图:此方法创建列/变量之间的缺失值的相关图。它解释了列之间缺失的依赖性。

image.png

它显示了变量“房屋”和“贷款”的缺失之间的相关性。

  1. 缺失树状图:缺失树状图是缺失值的树形图。它通过对变量进行分组来描述它们之间的相关性。

image.png

  • 它表明变量“住房”和“贷款”高度相关,这就是MNAR。
  • 从“ age_group”到“ contact”的变量在“ 0”级别彼此关联,并充分预测彼此的存在。或者,您可以说此部分没有缺失的值。
  • 其余变量的缺失是MAR或MCAR。要检查这一点,我们可以使用2种方法:

方法1:

  • 可视化变量的缺失如何相对于另一个变量变化。
  • 通过使用两个变量的散点图,我们可以检查两个变量之间的关系是否缺失。

image.png

  • x轴变量的缺失值分布在y轴的整个其他变量中。因此,我们可以说没有关系。缺失值是MCAR。如果您没有在散点图中找到任何关系,则可以说变量中的缺失是“随机缺失”。

方法2:

  • 然后,您可以在此变量与数据集中的其他变量之间运行t检验卡方检验,以查看此变量的缺失是否与其他变量的值有关。
  • 例如,如果女性相比男性确实不太可能告诉您自己的体重,则卡方检验会告诉您,女性在体重变量上缺失数据的百分比比男性高。

现在,我们已经确定了缺失值的性质。让我们学习如何处理缺失的值:

Listwise删除:如果缺少的值非常少,则可以使用Listwise删除方法。如果缺少分析中所包含的变量的值,按列表删除方法将完全删除个案。

image.png

目录
相关文章
|
6月前
|
数据采集 SQL 分布式计算
在数据清洗过程中,处理大量重复数据通常涉及以下步骤
【4月更文挑战第2天】在数据清洗过程中,处理大量重复数据通常涉及以下步骤
164 2
|
6月前
|
机器学习/深度学习 数据采集 算法
大模型开发:什么是时间序列预测,以及如何处理此类数据?
时间序列预测分析历史数据以预测未来,涉及数据收集、预处理、模型选择(如ARIMA或DeepAR)、模型训练、评估及未来值预测。处理时序数据需注意时间依赖性,预处理和模型选择对准确性影响大。
139 3
|
6月前
|
数据采集 机器学习/深度学习 存储
【机器学习】数据清洗——基于Numpy库的方法删除重复点
【机器学习】数据清洗——基于Numpy库的方法删除重复点
209 1
|
6月前
|
数据采集 数据可视化 Python
在Python中进行数据清洗和预处理缺失值处理查看缺失值比例
在Python中进行数据清洗和预处理缺失值处理查看缺失值比例
117 5
|
6月前
|
数据采集 数据挖掘 数据处理
数据清洗的主要步骤包括**理解数据、处理重复值、处理空缺值、处理异常值、数据标准化和数据收集
【4月更文挑战第3天】数据清洗的主要步骤包括**理解数据、处理重复值、处理空缺值、处理异常值、数据标准化和数据收集
299 2
|
6月前
|
数据采集 Python
在Python中进行数据清洗和预处理缺失值处理缺失数据剔除
在Python中进行数据清洗和预处理缺失值处理缺失数据剔除
95 4
|
2月前
|
数据采集 机器学习/深度学习 算法
数据清洗过程中,如何确定哪些数据是异常
数据清洗过程中,如何确定哪些数据是异常
|
3月前
|
数据采集 机器学习/深度学习 前端开发
Java爬虫中的数据清洗:去除无效信息的技巧
Java爬虫中的数据清洗:去除无效信息的技巧
|
6月前
|
机器学习/深度学习 算法 前端开发
【视频】为什么要处理缺失数据?如何用R语言进行缺失值填充?
【视频】为什么要处理缺失数据?如何用R语言进行缺失值填充?
|
6月前
stata对包含协变量的模型进行缺失值多重插补分析
stata对包含协变量的模型进行缺失值多重插补分析

相关实验场景

更多
下一篇
无影云桌面