1

我需要估算缺失值。我的数据集有大约 800,000 行和 92 个变量。我在 r 的 imputation 包中尝试了 kNNImpute,但看起来数据集太大了。R中的任何其他包/方法?我宁愿不使用均值来替换缺失值。谢谢你

4

2 回答 2

4

1)你可以试试

library(sos)
findFn("impute")

这显示了 113 个包中的 400 个匹配项。这显示了 113 个包中的 400 个匹配项:您可以根据您对插补函数的要求缩小范围。

2)你看到/尝试过 Hmisc吗?

描述:Hmisc 库包含许多对数据分析、高级图形、实用程序操作、计算样本大小和功率、导入数据集、填补缺失值、高级制表、变量聚类、字符串操作、S 转换有用的函数对象到 LaTeX 代码,并重新编码变量。

3) 可能是老鼠

使用由 MICE 算法实现的完全条件规范 (FCS) 进行多重插补。每个变量都有自己的插补模型。为连续数据(预测均值匹配,正态)、二元数据(逻辑回归)、无序分类数据(多元逻辑回归)和有序分类数据(比例赔率)提供了内置插补模型。MICE 还可以估算连续的两级数据(正态模型、泛型、二级变量)。被动插补可用于保持变量之间的一致性。可以使用各种诊断图来检查插补的质量。

于 2013-06-20T14:21:48.443 回答
2

MICE 是一个很棒的软件包,具有强大的诊断工具,并且可能能够在如此大的数据集中完成这项工作。

您应该注意的一件事:MICE 很慢。处理如此大的数据集,如果您打算使用 MICE,我强烈建议您使用计算云——否则,您最好提前计划好自己,因为使用 800k x ~100 矩阵,可能需要几天才能完成工作,具体取决于您指定模型的方式。

MICE 根据要估算的变量类型为您提供了多种不同的估算方法。最快的是预测均值匹配。PMM 最初旨在用于估算连续数据,但似乎 pmm 足够灵活以适应其他类型的变量。看看这个 Paul Allison 的帖子和 Stef van Buuren 的回复:http ://statisticalhorizo​​ns.com/predictive-mean-matching

(我看到这是一篇三年前的帖子,但我一直在使用 MICE,并且对它的强大功能感到惊讶——而且通常很慢——它可能如此!)

于 2016-08-28T07:16:51.647 回答