当鼠标返回错误时,在 R 中插补"system is computationally singular"



>我正在尝试对中等大小的数据帧(~100,000 行(进行插补,其中 5 列中有 30 列具有 NA(比例很大,约为 60%(。

我使用以下代码尝试了鼠标:

library(mice)    
data_3 = complete(mice(data_2))

第一次迭代后,我得到了以下异常:

iter imp variable
  1   1  Existing_EMI  Loan_Amount  Loan_Period
Error in solve.default(xtx + diag(pen)): system is computationally singular: reciprocal condition number = 1.08007e-16

是否有其他软件包对这种情况更强大? 我该如何处理这个问题?

您的 5 列可能有许多不平衡因素。当这些变量变成虚拟变量时,您很有可能将一列作为另一列的线性组合。mice的默认插补方法涉及线性回归,这会导致 X 矩阵无法反转,并将导致您的错误。

将正在使用的方法更改为其他内容,例如购物车 - mice(data_2, method = "cart") --.还要检查您在插补之前/期间调用的种子,以获得可重现的结果。

我的建议是浏览老鼠的7个小插曲。您可以了解如何更改用于单独列而不是整个数据集的插补method

相关内容

最新更新