Varianz-Kovarianz-Struktur für Zufallseffekte in lme4

10

Was ist die Standardvarianz-Kovarianz-Struktur für zufällige Effekte im glmeroder lmerim lme4Paket? Wie spezifiziert man eine andere Varianz-Kovarianz-Struktur für zufällige Effekte im Code? Ich konnte diesbezüglich keine Informationen in der lme4Dokumentation finden.

user40451
quelle

Antworten:

14

Die Standardvarianz-Kovarianz-Struktur ist unstrukturiert - das heißt, die einzige Einschränkung für die Varianz-Kovarianz-Matrix für einen Vektor-Zufallseffekt mit Ebenen ist, dass sie positiv definit ist. Separate zufällige Effektterme werden jedoch als unabhängig betrachtet. Wenn Sie also (z. B.) ein Modell mit zufälligem Achsenabschnitt und Steigung anpassen möchten, bei dem Achsenabschnitt und Steigung nicht korreliert sind (nicht unbedingt eine gute Idee), können Sie die Formel verwenden , bei der es sich um die handelt Gruppierungsfaktor; dasn(1|g) + (0+x|g)g0im zweiten Term unterdrückt der Achsenabschnitt. Wenn Sie unabhängige Parameter einer kategorialen Variablen anpassen möchten (wiederum möglicherweise fraglich), müssen Sie wahrscheinlich numerische Dummy-Variablen von Hand erstellen. Sie können eine zusammensetzungssymmetrische Varianz-Kovarianz-Struktur erstellen (obwohl nur mit nicht negativen Kovarianzen), indem Sie den Faktor als verschachtelte Gruppierungsvariable behandeln. Wenn zum Beispiel fein Faktor ist, dann (1|g/f)werden gleiche Korrelationen zwischen den Ebenen von angenommen f.

Für andere / komplexere Varianz-Kovarianz-Strukturen müssen Sie (in R) (1) verwenden nlme(wobei die pdMatrixKonstruktoren mehr Flexibilität ermöglichen); (2) Verwendung MCMCglmm(die eine Vielzahl von Strukturen bietet, einschließlich unstrukturierter, zusammengesetzter Symmetrie, Identität mit unterschiedlichen Varianzen oder Identität mit homogenen Varianzen); (3) Verwenden Sie ein spezielles Paket pedigreemm, das eine speziell strukturierte Matrix erstellt. Es gibt einen flexLambdaZweig auf Github, der schließlich mehr Funktionen in diese Richtung bieten möchte.

Ben Bolker
quelle
Vielleicht ist darauf hinzuweisen, dass das xxMPaket auch eine gute, aber kompliziertere Option ist, die die Modellierung von Strukturgleichungen ermöglicht. xxm.times.uh.edu
User33268
5

Ich kann dies anhand eines Beispiels zeigen.

Kovarianzterme werden in derselben Formel wie die festen und zufälligen Effekte angegeben. Kovarianzbegriffe werden durch die Art und Weise angegeben, wie die Formel geschrieben wird.

Beispielsweise:

glmer(y ~ 1 + x1 + (1|g) + (0+x1|g), data=data, family="binomial")

Hier gibt es zwei feste Effekte, die zufällig variieren dürfen, und einen Gruppierungsfaktor g. Da die beiden zufälligen Effekte in ihre eigenen Begriffe unterteilt sind, ist kein Kovarianzbegriff zwischen ihnen enthalten. Mit anderen Worten wird nur die Diagonale der Varianz-Kovarianz-Matrix geschätzt. Die Null im zweiten Term besagt ausdrücklich, dass kein zufälliger Intercept-Term hinzugefügt oder ein vorhandener zufälliger Intercept mit variiert werden darf x1.

Ein zweites Beispiel:

glmer(y ~ 1 + x1 + (1+x1|g), data=data, family="binomial")

Hier wird eine Kovarianz zwischen dem Achsenabschnitt und x1zufälligen Effekten angegeben, da 1 + x1 | g alle im selben Term enthalten sind. Mit anderen Worten werden alle 3 möglichen Parameter in der Varianz-Kovarianz-Struktur geschätzt.

Ein etwas komplizierteres Beispiel:

glmer(y ~ 1 + x1 + x2 + (1+x1|g) + (0+x2|g), data=data, family="binomial")

Hier können der Achsenabschnitt und die x1zufälligen Effekte zusammen variieren, während eine Nullkorrelation zwischen dem x2zufälligen Effekt und jedem der beiden anderen auferlegt wird . Wiederum wird a 0nur dann in den x2Zufallseffektbegriff aufgenommen, um explizit zu vermeiden, dass ein zufälliger Abschnitt eingeschlossen wird, der mit dem x2Zufallseffekt übereinstimmt .

ndoogan
quelle