【问题标题】:Imputation in large data大数据中的插补
【发布时间】:2013-06-17 08:44:24
【问题描述】:

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

【问题讨论】:

  • CRAN 上什至还有一个用于估算的任务视图:cran.r-project.org/web/views/OfficialStatistics.html 但也许你这个问题更适合 stats.exchange.com?也许您还应该解释一下您的“数据集太大”的方式。
  • 我对大约 800000 行和 15 个变量的数据集有类似的问题。我想用VIM::kNN 估算缺失值,但我收到错误消息:Error: cannot allocate vector of size 113.1 Gb,当然这比我的机器 RAM 还要多。有什么建议吗?

标签: r imputation


【解决方案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,并且对它的强大功能感到惊讶——而且通常很慢——它可能如此!)

【讨论】:

    【解决方案2】:

    1) 你可以试试

    library(sos)
    findFn("impute")
    

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

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

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

    3) 可能是mice

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      相关资源
      最近更新 更多