丢失数据是如何发生的

数据挖掘 预处理 缺失数据
2022-02-22 02:10:20

我是 ML 新手。我发现预处理步骤之一是处理丢失的数据。

我的查询是

  • 有没有办法理解缺失数据的性质
  • 我可以看到大部分丢失的数据被删除或替换为均值/模式是正确的方法
3个回答

看起来您的查询是一个由 3 部分组成的问题

  • 缺失数据是如何发生的:当没有为变量存储数据值,或者由于无响应,或者信息不可用时,可能会发生缺失数据

  • 了解缺失:缺失的形式有不同的类型

    1. MCAR(完全随机缺失):缺失数据值与数据集中的任何其他数据无关,并且缺失数据本身的实际值没有模式。
    2. MAR(随机缺失):缺失数据确实与数据集中的其他变量有关系。但是,缺少的实际值是随机的。
    3. MNAR(missing not at random):缺失的模式与数据集中的其他变量有关,但此外,缺失数据的值不是随机的。
  • 处理缺失的数据:一旦你了解了缺失的含义。下一步是处理它们,删除丢失的数据或用均值/模式替换是很少的技术。

    1. 删除方法
      • 列表删除:MCAR 的理想选择
      • 成对删除:MAR 或 MCAR 的理想选择
    2. 单一插补:
      • 均值/中值/众数替换
      • 回归插补
      • LOCF(最后一次观察结转)
    3. 基于模型的方法:
      • 最大似然:最佳最大似然技术是 EM(期望最大化)
      • 多重插补:MICE 算法、Amelia(非常适合时间序列)是处理多重插补的少数软件包。

查看这些以更好地了解您的缺失

拿起一份不良数据手册(Q. Ethan McCallum,2012 年)。

它有 18 个不同作者关于他们在野外处理预处理经验的案例研究。丢失数据不是最坏的情况。 如果您不在流程的早期检查结果,不良数据可能会导致您走上错误的道路。这是一本非常有启发性的读物,内容涉及事情如何出错以及作者将数据整理成可用和有用的东西的方法。

...想知道是否所有数据都是数据开始...

我可以看到大部分丢失的数据被删除或替换为均值/模式是正确的方法

这主要是因为您可能指的是不专注于此的教程/博客。或者,与丢失的行相比,数据量非常高。所以,可能被忽略了。

有没有办法理解缺失数据的性质

是的,很少有好读物——