Verwendung von sim() mit lmer()
Frage
Ich habe zwei mehrstufige logistische Regressionen mit denselben Prädiktoren, aber mit zwei unterschiedlichen Antworten durchgeführt:
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
ist diskret mit Werten c(-2,-1,0,1,2)
, HDI
ist stetig zwischen 0 und 1, Country
ist kategorisch und die Antworten sind beide 1/0.
Um Konfidenzbänder darzustellen, führe ich eine Simulation mit der Funktion sim() aus dem Arm-Paket aus:
sim(fruitMLM,100)
sim(fuelMLM,100)
Der erste berechnet gut.Der zweite gibt den folgenden Fehler zurück:
Error in mvnorm(n.sims, bhat[j,], V.beta) :
'Sigma' is not positive definite
Ich mache das tatsächlich mit 8 verschiedenen Antworten.Sechs davon funktionierten einwandfrei und zwei von ihnen gaben diesen Fehler zurück.
Weiß jemand, wie man das beheben kann?
Lösung
Können Sie sehen, ob die Fehlermeldung korrekt ist, d. h. „von Hand“ prüfen, ob die Kovarianzmatrix aus dem fehlerhaften Modell tatsächlich positiv semidefinit ist?Ich bin mir nicht sicher, aber ich kann mir vorstellen, dass Sie einige Überprüfungen durchführen könnten – vielleicht ist hier etwas dabei: http://en.wikipedia.org/wiki/Positive-definite_matrix