如何解决 R 中 MICE 插补的错误 - 系统在计算上是奇异的?

问题描述 投票:0回答:1

我正在尝试使用 MICE 来估算数据集中的缺失值。 我有一个由 116 个 obs 组成的数据集。 134 个变量。我的数据集包含数字、分类和二进制数据。所有缺失数据超过 50% 的变量均已被删除。我使用 Quickpred 函数来选择预测变量。 但是,我不断收到错误:

Error in solve.default(xtx + diag(pen)):
system is computationally singular: reciprocal condition number = 1.77279e-16

这是我使用的代码

inlist <- c("r_age", "r_sex")
exlist <- c("studysubjectid", "studyid") 
pred_matrix <- quickpred(dataset, minpuc = 0.5, include = inlist, exclude = exlist)

imputed_data <- mice(dataset, m = 20, maxit = 20, pred = pred_matrix, printFlag = FALSE, seed=1234)

我尝试对 mincor 和 minpuc 使用不同的值,但结果没有改变。 我该如何解决这个问题?

r statistics imputation r-mice multiple-mice
1个回答
0
投票

我怀疑您可能会遇到共线性问题,尤其是在使用这么多变量时,而我的理解是quickpred并不能直接解决这个问题。解决问题的一种方法是将岭参数从默认值 1e-5 增加到例如 1e-3。这种调整可以使算法更加稳健,但代价是引入一些偏差(参见https://stefvanbuuren.name/fimd/sec-modelform.html

© www.soinside.com 2019 - 2024. All rights reserved.