Singuläre Kovarianzmatrizen mit zufälligen Effekten
Das Erhalten einer zufälligen Effektkorrelationsschätzung von +1 oder -1 bedeutet, dass der Optimierungsalgorithmus "eine Grenze" erreicht: Korrelationen können nicht höher als +1 oder niedriger als -1 sein. Selbst wenn keine expliziten Konvergenzfehler oder Warnungen vorliegen, weist dies möglicherweise auf einige Probleme mit der Konvergenz hin, da wir nicht erwarten, dass echte Korrelationen an der Grenze liegen. Wie Sie sagten, bedeutet dies normalerweise, dass nicht genügend Daten vorhanden sind, um alle Parameter zuverlässig zu schätzen. Matuschek et al. 2017 sagen, dass in dieser Situation die Leistung beeinträchtigt werden kann.
Eine andere Möglichkeit, eine Grenze zu erreichen, besteht darin, eine Varianzschätzung von 0 zu erhalten: Warum erhalte ich in meinem gemischten Modell trotz einiger Abweichungen in den Daten eine Nullvarianz eines zufälligen Effekts?
In beiden Situationen kann eine entartete Kovarianzmatrix mit zufälligen Effekten erhalten werden (in Ihrem Beispiel beträgt die Ausgabekovarianzmatrix ). Eine Nullvarianz oder eine perfekte Korrelation bedeutet, dass die Kovarianzmatrix nicht den vollen Rang hat und [mindestens] einer ihrer Eigenwerte Null ist. Diese Beobachtung legt sofort nahe, dass es andere , komplexere Wege gibt, um eine entartete Kovarianzmatrix zu erhalten: Man kann eine Kovarianzmatrix ohne Nullen oder perfekte Korrelationen haben, aber dennoch rangdefizient (Singular). Bates et al. 2015 sparsame gemischte Modelle4 × 44 × 44 × 4(unveröffentlichter Preprint) empfehlen die Verwendung der Hauptkomponentenanalyse (PCA), um zu überprüfen, ob die erhaltene Kovarianzmatrix singulär ist. Wenn dies der Fall ist, schlagen sie vor, diese Situation genauso zu behandeln wie die oben genannten singulären Situationen.
Was tun?
Wenn nicht genügend Daten vorhanden sind, um alle Parameter eines Modells zuverlässig abzuschätzen, sollten wir eine Vereinfachung des Modells in Betracht ziehen. Anhand Ihres Beispielmodells X*Cond + (X*Cond|subj)
gibt es verschiedene Möglichkeiten, es zu vereinfachen:
Entfernen Sie einen der zufälligen Effekte, normalerweise die Korrelation höchster Ordnung:
X*Cond + (X+Cond|subj)
Entfernen Sie alle Korrelationsparameter:
X*Cond + (X*Cond||subj)
Update: Wie @Henrik bemerkt, entfernt die ||
Syntax Korrelationen nur, wenn alle Variablen links davon numerisch sind. Wenn kategoriale Variablen (wie Cond
) beteiligt sind, sollte man lieber sein praktisches afex
Paket (oder umständliche manuelle Problemumgehungen) verwenden. Siehe seine Antwort für weitere Details.
Entfernen Sie einige der Korrelationsparameter, indem Sie den Begriff in mehrere aufteilen, z.
X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
- Beschränken Sie die Kovarianzmatrix auf eine bestimmte Weise, z. B. indem Sie eine bestimmte Korrelation (diejenige, die die Grenze erreicht hat) auf Null setzen, wie Sie vorschlagen. Es gibt keinen eingebauten Weg
lme4
, um dies zu erreichen. Siehe @ BenBolker Antwort auf SO für eine Demonstration, wie dies über einige Smart - Hacking zu erreichen.
Im Gegensatz zu Ihren Aussagen glaube ich nicht, dass Matuschek et al. 2017 empfehlen speziell # 4. Der Kern von Matuschek et al. 2017 und Bates et al. 2015 scheint es so zu sein, dass man mit dem Maximalmodell a la Barr et al. 2013 und verringert dann die Komplexität, bis die Kovarianzmatrix den vollen Rang hat. (Darüber hinaus empfehlen sie häufig, die Komplexität noch weiter zu reduzieren, um die Leistung zu erhöhen.) Update: Im Gegensatz dazu haben Barr et al. empfehlen, die Komplexität NUR zu reduzieren, wenn das Modell nicht konvergiert; Sie sind bereit, singuläre Kovarianzmatrizen zu tolerieren. Siehe @ Henriks Antwort.
Wenn man Bates / Matuschek zustimmt, dann denke ich, ist es in Ordnung, verschiedene Möglichkeiten auszuprobieren, um die Komplexität zu verringern, um denjenigen zu finden, der die Arbeit erledigt, während er "den geringsten Schaden" anrichtet. In meiner obigen Liste enthält die ursprüngliche Kovarianzmatrix 10 Parameter. # 1 hat 6 Parameter, # 2 hat 4 Parameter, # 3 hat 7 Parameter. Welches Modell die perfekten Korrelationen beseitigt, kann man nicht sagen, ohne sie anzupassen.
Aber was ist, wenn Sie an diesem Parameter interessiert sind?
In der obigen Diskussion wird die Kovarianzmatrix mit zufälligen Effekten als Störparameter behandelt. Sie werfen eine interessante Frage auf, was zu tun ist, wenn Sie speziell an einem Korrelationsparameter interessiert sind, den Sie "aufgeben" müssen, um eine aussagekräftige Lösung mit vollem Rang zu erhalten.
Beachten Sie, dass das Festlegen des Korrelationsparameters auf Null nicht unbedingt zu BLUPs ( ranef
) führt, die nicht korreliert sind. Tatsächlich sind sie möglicherweise gar nicht so stark betroffen (siehe @ Placidias Antwort für eine Demonstration ). Eine Möglichkeit wäre also, die Korrelationen von BLUPs zu betrachten und dies zu melden.
Eine andere, vielleicht weniger attraktive Option wäre, die Behandlung subject
als festen Effekt zu verwenden Y~X*cond*subj
, die Schätzungen für jedes Subjekt zu erhalten und die Korrelation zwischen ihnen zu berechnen. Dies entspricht dem Ausführen separater Y~X*cond
Regressionen für jedes Subjekt und dem Abrufen der Korrelationsschätzungen.
Siehe auch den Abschnitt über einzelne Modelle in Ben Bolkers FAQ zu gemischten Modellen:
Es ist sehr häufig, dass überangepasste gemischte Modelle zu singulären Anpassungen führen. Technisch bedeutet Singularität, dass einige der -Parameter (Varianz-Kovarianz-Cholesky-Zerlegung), die diagonalen Elementen des Cholesky-Faktors entsprechen, genau Null sind, was der Rand des realisierbaren Raums ist, oder äquivalent, dass die Varianz-Kovarianz-Matrix etwas Null hat Eigenwerte (dh eher positiv semidefinit als positiv definit) oder (fast gleichwertig), dass einige der Varianzen als Null oder einige der Korrelationen als +/- 1 geschätzt werden.θ