我可以根据响应变量替换 NA 吗?

机器算法验证 r 数据转换 缺失数据 数据插补
2022-03-30 13:25:22

我的数据包含 1 个响应变量“年龄”和 1 个特征(测试版)。该功能包含一些缺失值 (NA),因此我想替换它们。我一直在用特征的中值替换它们。但是,当我绘制结果时,我感觉我过度屠杀了我的数据,因为用中值替换似乎不公平,因为我似乎创建了异常值。为了改进,我现在选择取每 NA 年龄最接近的 10 个样本的平均值。在这种情况下,替换似乎更加自然(也许太好了)。

红色的替换 NA 红色的替换 NA

做这样的替换是否正确?是否有其他替代方法可以替代平均或中值 NA 替换?

1个回答

简而言之,您应该看看多重插补(==替换)技术,该技术由鲁宾于 1987 年首次提出。

更详细地说:用单个值替换假定这个替换值是确定性的,并且可能会忽略任何选择性的信息丢失(因此是偏见!)此外,您应该尝试考虑您的数据丢失的方式。一般来说,存在三种解释缺失的“机制”: 完全随机缺失(MCAR):这大致意味着缺失值与应该测量的单位/个体的任何已知或未知属性无关。随机缺失(MAR):缺失值与应该测量的单位/个体的已知属性有关。非随机缺失(MNAR):缺失值与未知有关应该测量的单位/个人的属性。

这些情况(MCAR、MAR、MNAR)只是理论上的,因为它们经常在数据集中同时发生,甚至是每个缺失值。有大量可用的文献展示了在不同情况下处理缺失数据的不同策略是如何产生的 [1-5]。请务必检查适合您学习的选项

一般而言(这很笼统,有时基于意见),最好使用多重插补技术。这些技术基于根据数据的已知部分多次估计缺失值,以创建多个完整的插补数据集。然后在所有完整的插补数据集中执行预期的分析,并根据预定义的规则进行汇总,同时考虑到用估计替换缺失值时发生的不确定性。最后,可以将这种汇总分析解释为您将在完整的案例数据库中进行分析。

我一直发现Stef van Buuren 在 R 中的 MICE 包非常适合执行这些技术。尤其是因为他在缺失数据的偏差以及 R 编程语言中 MICE 函数的处理方面提供了出色的背景知识。

请注意,有更多方法可以实现多种插补技术(例如,另请参见 Amelia 期望最大化)。

参考:

  1. 鲁宾 DB。调查中未答复的多重插补。纽约:威利;1987 年。
  2. Donders AR、van der Heijden GJ、Stijnen T 等。评论:对缺失值估算的温和介绍。临床流行病学杂志 2006;59(10):1087-1091。
  3. 李 P,斯图尔特 EA,艾莉森 DB。多重插补:处理缺失数据的灵活工具。JAMA 2015;314(18):1966-1967。
  4. Groenwold RH、Donders AR、Roes KC 等。在随机试验和观察性研究中处理缺失的结果数据。美国流行病学杂志 2012;175(3):210-217。
  5. van Buuren S, Groothuis-Oudshoorn K. 小鼠:R. J Stat Softw 2011 中链式方程的多元插补;45(3):1-67。
  6. http://www.stefvanbuuren.nl/mi/MICE.html