我需要估算缺失值。我的数据集有大约800,000行和92个变量。我在r中的imputation包中尝试了kNNImpute,但看起来数据集太大了。 R中的任何其他包/方法?我宁愿不使用mean来替换缺失的值。 谢谢
答案 0 :(得分:4)
1)你可以尝试
library(sos)
findFn("impute")
这显示113个包中的400个匹配。这显示了113个包中的400个匹配:您可以根据插补函数的要求缩小它。
2)你看到/尝试Hmisc了吗?
描述:Hmisc库包含许多对数据有用的函数 分析,高级图形,实用程序操作,功能 用于计算样本大小和功率,导入数据集, 输入缺失值,高级制表,变量 聚类,字符串操作,S的转换 对象到LaTeX代码,并重新编码变量。
3)可能是mice
使用完全条件规范(FCS)的多重插补 由MICE算法实现。每个变量都有自己的变量 插补模型。提供内置插补模型 连续数据(预测平均匹配,正常),二进制数据 (逻辑回归),无序分类数据(多元逻辑 回归)和有序分类数据(比例赔率)。 MICE可以 还可以归因于连续的两级数据(正常模型,泛,二级) 变量)。被动估算可用于保持一致性 变量之间。各种诊断图可供检查 估算的质量。
答案 1 :(得分:1)
MICE是一个很棒的软件包,具有强大的诊断工具,并且可以在如此庞大的数据集中完成工作。
你应该注意的一点是:MICE是S-L-O-W。在这么大的数据集上工作,如果你打算使用MICE,我强烈建议你使用计算云 - 否则,你需要提前规划自己,因为有800k x~100矩阵,可能需要几天才能完成工作,具体取决于您指定模型的方式。
MICE根据要估算的变量类型为您提供了许多不同的插补方法。最快的是预测均值匹配。 PMM最初打算用于估算连续数据,但似乎pmm足够灵活,可以容纳其他类型的变量。看看这个Paul Allison的帖子和Stef van Buuren的回复:http://statisticalhorizons.com/predictive-mean-matching
(我看到这是一个三年前的帖子,但我一直在使用MICE,并且对于它有多强大而且经常很慢 - 它可能会很惊讶!)