使用sim()和lmer()

时间:2010-02-25 22:28:22

标签: r variance sim-card lme4

我使用相同的预测变量运行了两个多级逻辑回归,但是在两个不同的响应中:

fruitMLM <- lmer(InsuffFruit ~ Income + HDI + Income:HDI + (1 + Income | Country),family=binomial(link="logit"))  
fuelMLM <- lmer(Pollution ~ Income + HDI + Income:HDI + (1 + Income | Country),family=binomial(link="logit"))

Income是离散的,值c(-2,-1,0,1,2)HDI在0和1之间连续,Country是分类,响应都是1/0。

为了绘制置信带,我使用arm包中的sim()函数运行模拟:

sim(fruitMLM,100)  
sim(fuelMLM,100)

第一个计算好。第二个返回以下错误:

Error in mvnorm(n.sims, bhat[j,], V.beta) :  
  'Sigma' is not positive definite

我实际上是通过8种不同的回答做到这一点。其中六个工作正常,其中两个返回了这个错误。

有谁知道如何纠正这个问题?

1 个答案:

答案 0 :(得分:1)

你能看出错误信息是否正确,即“手动”检查失败模型的协方差矩阵是否实际为正半正定?我不确定,但我想有一些你可以执行的检查 - 也许这里有一些东西:http://en.wikipedia.org/wiki/Positive-definite_matrix