Использование sim() с lmer()
Вопрос
Я провел две многоуровневые логистические регрессии с использованием одних и тех же предикторов, но для двух разных ответов:
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.
Чтобы построить доверительные интервалы, я запускаю симуляцию, используя функцию sim() из пакета Arm:
sim(fruitMLM,100)
sim(fuelMLM,100)
Первый считает нормально.Второй возвращает следующую ошибку:
Error in mvnorm(n.sims, bhat[j,], V.beta) :
'Sigma' is not positive definite
На самом деле я делаю это с 8 разными ответами.Шесть из них работали нормально, а двое из них вернули эту ошибку.
Кто-нибудь знает, как это исправить?
Решение
Можете ли вы проверить, правильно ли сообщение об ошибке, т. е. проверить «вручную», является ли ковариационная матрица из неудачной модели действительно положительной полуопределенной?Я не уверен, но думаю, что вы могли бы выполнить некоторые проверки - может быть, здесь что-то есть: http://en.wikipedia.org/wiki/Positive-definite_matrix