2

使用 R 代码并得到矩阵错误

library(eRm)
data <- na.omit(Main_data[,51:72])
model <- RSM(data)

有错误

solve.default(parest$hessian) 中的错误:系统在计算上是奇异的:倒数条件数 = 5.82277e-23

我已经删除了所有缺失的值。我尝试使用带有 MPRM() 代码的 pcIRT 包得到一些表格格式错误。我还尝试将数据转换为矩阵并得到相同的错误。

4

2 回答 2

1

显然,您正在使用 Rasch-Andrich Rating Scale Model进行 Rasch 分析。您可以尝试使用包mirtTAM而不是 eRm。我在使用 eRm 时遇到了类似的问题,但其他两个包都有效。

例如,像这样使用 mirt:

model <- "scale = 1 - 10" #define the model
fit <- mirt(data = data, model = model, itemtype = "rsm")
coef(fit, simplify = T)

或谭:

fit <- tam.mml(ati_clean_mh, irtmodel="RSM")
summary(fit)
于 2021-01-28T19:31:52.667 回答
0

RSM 方法是lmR 基础包中的一个包装器。该方法的隐含要求之一lm是应用它的矩阵必须是可逆的。这转化为高度相关的数据(相关值远大于 0 并接近 1)可能导致矩阵中的坑洞,使其在本地不可逆....然后您会收到此错误。

将数据(数据帧、矩阵、列表列表)传递给方法时,无论您如何构造数据(数据框、矩阵、列表列表),它都会引发错误,因为数据中的值会破坏矩阵的稳定性,并使在当前状态下无法使用该方法.

最好的解决方案是使用相关矩阵来确定是否可以削减一些高度相关的变量以使矩阵可逆。

即使您能够让模型按原样运行,您最终也会在结果中遇到稳定性问题,这会危及模型的安全实用性。

于 2020-04-16T19:35:44.223 回答