Annahmen überprüfen lmer / lme gemischte Modelle in R

25

Ich habe einen wiederholten Entwurf durchgeführt, bei dem ich 30 Männer und 30 Frauen in drei verschiedenen Aufgaben getestet habe. Ich möchte verstehen, wie unterschiedlich sich Männer und Frauen verhalten und wie das von der jeweiligen Aufgabe abhängt. Ich habe sowohl das lmer- als auch das lme4-Paket verwendet, um dies zu untersuchen. Ich habe jedoch nicht versucht, die Annahmen für beide Methoden zu überprüfen. Der Code, den ich ausführe, ist

lm.full <- lmer(behaviour ~ task*sex + (1|ID/task), REML=FALSE, data=dat)
lm.full2 <-lme(behaviour ~ task*sex, random = ~ 1|ID/task, method="ML", data=dat)

Ich habe geprüft, ob die Interaktion das beste Modell ist, indem ich sie mit dem einfacheren Modell ohne die Interaktion verglichen und eine Anova ausgeführt habe:

lm.base1 <- lmer(behaviour ~ task+sex+(1|ID/task), REML=FALSE, data=dat)
lm.base2 <- lme(behaviour ~ task+sex, random= ~1|ID/task), method="ML", data=dat)
anova(lm.base1, lm.full)
anova(lm.base2, lm.full2)

F1: Ist es in Ordnung, diese kategorialen Prädiktoren in einem linearen gemischten Modell zu verwenden?
F2: Verstehe ich richtig, dass es in Ordnung ist, dass die Ergebnisvariable ("Verhalten") nicht normal verteilt werden muss (über Geschlecht / Aufgaben)?
F3: Wie kann ich die Homogenität der Varianz überprüfen? Für ein einfaches lineares Modell verwende ich plot(LM$fitted.values,rstandard(LM)). Ist die Verwendung plot(reside(lm.base1))ausreichend?
F4: Um auf Normalität zu prüfen, ist der folgende Code in Ordnung?

hist((resid(lm.base1) - mean(resid(lm.base1))) / sd(resid(lm.base1)), freq = FALSE); curve(dnorm, add = TRUE)
Crazjo
quelle
Eine Sache, die mir aufgefallen ist, ist auch, dass die Version von lme4, die ich verwendete, nicht die neueste war und daher die einfache Handlung (myModel.lm) nicht funktionierte. Vielleicht ist dies hilfreich, damit andere Leser es wissen.
crazjo

Antworten:

26

Q1: Ja - genau wie jedes Regressionsmodell.

F2: Genau wie bei allgemeinen linearen Modellen muss Ihre Ergebnisvariable nicht normal als univariate Variable verteilt werden. LME-Modelle setzen jedoch voraus, dass die Residuen des Modells normalverteilt sind. Eine Transformation oder das Hinzufügen von Gewichten zum Modell wäre daher eine Möglichkeit, sich darum zu kümmern (und dies natürlich anhand von Diagnoseplots zu überprüfen).

Q3: plot(myModel.lme)

Q4: qqnorm(myModel.lme, ~ranef(., level=2)). Mit diesem Code können Sie QQ-Diagramme für jede Ebene der zufälligen Effekte erstellen. LME-Modelle gehen davon aus, dass nicht nur die Residuen innerhalb des Clusters normal verteilt sind, sondern auch jede Ebene der zufälligen Effekte. Variieren Sie die Werte levelvon 0, 1 bis 2, um Ratten-, Aufgaben- und subjektinterne Residuen zu überprüfen.

EDIT: Ich sollte auch hinzufügen, dass, obwohl Normalität angenommen wird und Transformation wahrscheinlich hilft, Probleme mit nicht normalen Fehlern / zufälligen Effekten zu reduzieren, es nicht klar ist, dass alle Probleme tatsächlich gelöst sind oder dass keine Verzerrung eingeführt wird. Wenn für Ihre Daten eine Transformation erforderlich ist, sollten Sie bei der Schätzung der zufälligen Effekte vorsichtig sein. Hier ist ein Artikel, der dies anspricht .

Elch
quelle
Danke für deine Antwort. Ich möchte meinen Datensatz und mein Skript für die Analyse einschließlich der Ausgabe freigeben, um zu überprüfen, ob das, was ich getan habe, tatsächlich korrekt ist. Ist ein Stapelaustausch möglich? Außerdem denke ich, ich habe den falschen Zufallsfaktor (1 | rat / task) eingegeben, sollte es nicht einfach (1 | rat) sein? Ich habe 60 Ratten (30 von jedem Geschlecht) auf drei Aufgaben getestet.
Crazjo
9
Ich habe kürzlich den Code für Q4 ausprobiert und einen Fehler über ein Objekt vom Typ 'S4' erhalten, das nicht untergeordnet werden kann. War dieser Code für Modelle gedacht, die zum Paket lme passen? Was ist mit lme4?
Emudrak
In Bezug auf Q4 müssen die Leute, die diese Diagramme erstellen, berücksichtigen, dass das N für jedes der produzierten Diagramme wesentlich kleiner als die Gesamtsumme ist und daher die Diagramme viel variabler sind. Erwarten Sie nicht, dass sie so gleichmäßig normalverteilt aussehen wie der Gesamteindruck.
John
14

Sie scheinen in Bezug auf die Annahmen in Bezug auf mehrstufige Modelle irreführend zu sein. Es gibt keine Annahme einer Homogenität der Varianz in den Daten, nur dass die Residuen ungefähr normalverteilt sein sollten. Und kategoriale Prädiktoren werden die ganze Zeit in der Regression verwendet (die zugrunde liegende Funktion in R, die eine ANOVA ausführt, ist der lineare Regressionsbefehl).

Einzelheiten zur Überprüfung der Annahmen finden Sie im Pinheiro and Bates-Buch (S. 174, Abschnitt 4.3.1). Wenn Sie lme4 verwenden möchten (wofür das Buch nicht geschrieben ist), können Sie die Diagramme mit plot with a lmermodel ( ?plot.merMod) replizieren .

Um die Normalität schnell zu überprüfen, wäre es einfach qqnorm(resid(myModel)).

John
quelle
Vielen Dank für Ihren Kommentar. Schlagen Sie vor, den lmer anstelle der lme4-Methode zu verwenden? Und habe ich Recht, wenn ich verstehe, dass die Antwortvariable nicht normal verteilt werden muss? Ich werde das Buch von Pinheiro und Bates gründlich durchlesen.
Crazjo
Sind Sie sicher, dass die Ausführung von qqnorm (resid (myModel)) in einem gemischten Modell mit mehreren Faktoren funktioniert?
Crazjo
Die neuere lmer-Funktion bietet mehr Funktionen und eine höhere Leistung. Haben Sie qqnorm ausprobiert? Befolgen Sie die Ratschläge am Anfang des Buches zum Lesen.
John
Die Handlung hatte ich anfangs komisch ausgesehen, möglicherweise weil ich ja nicht die neueste Version von lmer hatte. Vielen Dank, dass Sie dies zur Kenntnis genommen haben. Jetzt funktioniert es nach Bedarf.
Crazjo
12

Zu Q2:

Gemäß dem Buch von Pinheiro und Bates können Sie den folgenden Ansatz verwenden:

"Die lmeFunktion ermöglicht die Modellierung der Heteroskelastizität der fehlerinternen Gruppe über ein weightsArgument. Dieses Thema wird in § 5.2 ausführlich behandelt, es reicht jedoch vorerst aus, zu wissen, dass die varIdentVarianzfunktionsstruktur unterschiedliche Varianzen für jede Stufe von zulässt ein Faktor und kann verwendet werden, um das heteroskedastische Modell zu passen [...] "

Pinheiro und Bates, p. 177

Wenn Sie prüfen möchten, ob die Abweichungen gleich sind, können sexSie diesen Ansatz verwenden:

plot( lm.base2, resid(., type = "p") ~ fitted(.) | sex,
  id = 0.05, adj = -0.3 )

Bei unterschiedlichen Abweichungen können Sie Ihr Modell folgendermaßen aktualisieren:

lm.base2u <- update( lm.base2, weights = varIdent(form = ~ 1 | sex) )
summary(lm.base2u)

Darüber hinaus können Sie sich die robustlmmVerpackung ansehen , die ebenfalls einen Wiegeansatz verwendet. Kollers Dissertation zu diesem Konzept liegt als Open Access vor ("Robust Estimation of Linear Mixed Models"). Die Zusammenfassung lautet:

"Eine neue Skalenschätzung, die Design Adaptive Scale Schätzung, wurde mit dem Ziel entwickelt, eine solide Grundlage für nachfolgende robuste Tests zu schaffen. Dabei wird die natürliche Heteroskedastizität der Residuen ausgeglichen und die robuste Schätzgleichung für die Skala selbst angepasst Diese designadaptiven Korrekturen sind für kleine Stichproben entscheidend, bei denen die Anzahl der Beobachtungen möglicherweise nur das Fünffache der Anzahl der zu schätzenden Parameter oder weniger beträgt. "



Ich habe nicht genug Punkte für Kommentare. Ich sehe jedoch die Notwendigkeit, einen Aspekt von @Johns Antwort oben zu klären. Pinheiro und Bates geben auf p an. 174:

Annahme 1 - Die gruppeninternen Fehler sind unabhängig und identisch normalverteilt, mit dem Mittelwert Null und der Varianz σ2, und sie sind unabhängig von den zufälligen Effekten.

Diese Aussage ist in der Tat nicht eindeutig in Bezug auf homogene Varianzen und ich bin nicht tief genug in der Statistik, um alle mathematischen Grundlagen des LME-Konzepts zu kennen. Jedoch auf p. 175, §4.3.1, der Abschnitt über die Annahme 1, den sie schreiben:

In diesem Abschnitt konzentrieren wir uns auf Methoden zur Bewertung der Annahme, dass die gruppeninternen Fehler normalverteilt sind, auf Null zentriert sind und eine konstante Varianz aufweisen .

Auch in den folgenden Beispielen sind " konstante Varianzen " in der Tat wichtig. Man kann also spekulieren, ob sie homogene Varianzen implizieren, wenn sie auf p " identisch normalverteilt" schreiben . 174 ohne es direkter anzusprechen.

ToJo
quelle
-5

F1: Ja, warum nicht?

F2: Ich denke, die Voraussetzung ist, dass die Fehler normal verteilt sind.

F3: Kann zum Beispiel mit dem Leven-Test getestet werden.

user12719
quelle