Umgang mit Singular Fit in gemischten Modellen


14

Nehmen wir an, wir haben ein Modell

mod <- Y ~ X*Condition + (X*Condition|subject)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects 

summary(model)
Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         ConditionB       0.54367  0.7373   -0.37  0.37      
         X:ConditionB     0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
ConditionB       -0.19707    0.06382   -3.09  0.00202 ** 
X:ConditionB      0.22809    0.05356    4.26 2.06e-05 ***

Hier beobachten wir eine singuläre Anpassung, da die Korrelation zwischen Intercept- und x-Zufallseffekten -1 beträgt. Gemäß diesem hilfreichen Link besteht eine Möglichkeit, mit diesem Modell umzugehen, darin, zufällige Effekte höherer Ordnung (z. B. X: Bedingung B) zu entfernen und zu prüfen, ob dies beim Testen auf Singularität einen Unterschied macht. Die andere besteht darin, den Bayes'schen Ansatz zu verwenden, z. B. das blmePaket, um Singularität zu vermeiden.

Was ist die bevorzugte Methode und warum?

Ich frage dies, weil die Verwendung des ersten oder des zweiten zu unterschiedlichen Ergebnissen führt. Im ersten Fall entferne ich den Zufallseffekt X: ConditionB und kann die Korrelation zwischen den Zufallseffekten X und C: ConditionB nicht abschätzen. Andererseits blmeermöglicht mir die Verwendung von X: ConditionB und die Schätzung der angegebenen Korrelation. Ich sehe keinen Grund, warum ich überhaupt die nicht-bayesianischen Schätzungen verwenden und zufällige Effekte entfernen sollte, wenn singuläre Anpassungen auftreten, wenn ich alles mit dem Bayes'schen Ansatz schätzen kann.

Kann mir jemand die Vorteile und Probleme erklären, die mit beiden Methoden auftreten, um mit einzelnen Anpassungen umzugehen?

Vielen Dank.


Was machst du dir Sorgen um diesen Corr = -1? Es ist eine Korrelation zwischen zufälligen Effekten.
user158565

Jedes Subjekt gibt Ihnen also zwei Messungen von Y, eine unter Bedingung A und eine unter Bedingung B? Wenn dies zutrifft, können Sie uns auch mitteilen, ob sich der Wert der stetigen Variablen X für ein bestimmtes Subjekt zwischen den Bedingungen A und B ändert?
Isabella Ghement

Warum setzen Sie Bedingung in die zufälligen Effekte? Haben Sie getestet, ob es erforderlich ist?
Dimitris Rizopoulos

@ user158565 ja, aber es zeigt Singuarität an ...
User33268

@ IsabellaGhement In der Tat. Ja, x ändert sich für ein bestimmtes Thema zwischen A und B. Darüber hinaus gibt es theoretische Gründe anzunehmen, dass die Regression von Y auf X für jedes Fach unterschiedlich ist
User33268

Antworten:


18

Wenn Sie eine singuläre Anpassung erhalten, deutet dies häufig darauf hin, dass das Modell überangepasst ist - das heißt, die Struktur der Zufallseffekte ist zu komplex, um von den Daten unterstützt zu werden, was natürlich zu dem Rat führt, den komplexesten Teil der Zufallseffekte zu entfernen Struktur (normalerweise zufällige Steigungen). Der Vorteil dieses Ansatzes besteht darin, dass er zu einem sparsameren Modell führt, das nicht überpasst ist.

Haben Sie jedoch einen guten Grund, bevor Sie etwas unternehmen X, Conditionund ihre Interaktion, die sich in erster Linie je nach Thema unterscheidet? Schlägt die Theorie, wie die Daten erzeugt werden, dies vor?

Wenn Sie das Modell mit der maximalen Zufallseffektstruktur lme4anpassen möchten und eine singuläre Anpassung erhalten möchten, können Sie durch Anpassen desselben Modells in einem Bayes'schen Framework sehr gut darüber informiert werden, warum lme4 Probleme aufgetreten sind, indem Sie die Trace-Diagramme untersuchen und wie gut die verschiedenen Parameterschätzungen konvergieren . Der Vorteil des Bayes'schen Ansatzes besteht darin, dass Sie auf diese Weise ein Problem mit dem Originalmodell aufdecken können, d. H. Der Grund, warum die Struktur mit den maximalen Zufallseffekten von den Daten nicht unterstützt wird, oder warum möglicherweise lme4nicht in das Modell passt. Ich bin auf Situationen gestoßen, in denen ein Bayes'sches Modell nicht gut konvergiert, es sei denn, es werden informative Prioritäten verwendet - was möglicherweise in Ordnung ist oder nicht.

Kurz gesagt, beide Ansätze haben ihre Berechtigung.

Ich würde jedoch immer an einem Ort beginnen, an dem das ursprüngliche Modell sparsam ist und durch Expertenwissen informiert wird, um die am besten geeignete Struktur für zufällige Effekte zu bestimmen. Gruppenvariablen Festlegen ist relativ einfach, aber zufällige Pisten in der Regel nicht haben aufgenommen werden. Schließen Sie sie nur ein, wenn sie theoretisch sinnvoll sind UND von den Daten unterstützt werden.

Bearbeiten: In den Kommentaren wird erwähnt, dass es fundierte theoretische Gründe gibt, um die maximale Zufallseffektstruktur anzupassen. Also, eine relativ einfache Art und Weise mit einem äquivalenten Bayes - Modell zu verfahren ist , den Anruf zu wechseln glmermit stan_glmeraus dem rstanarmPaket - es ist so konzipiert , Plug and Play sein. Es verfügt über Standardpriors, sodass Sie schnell ein Modell anpassen können. Das Paket enthält auch viele Instrumente zur Bewertung der Konvergenz. Wenn Sie feststellen, dass alle Parameter zu plausiblen Werten konvergieren, sind Sie alle gut. Es kann jedoch eine Reihe von Problemen geben - zum Beispiel eine Varianz, die auf oder unter Null geschätzt wird, oder eine Schätzung, die weiter driftet. Die Website mc-stan.org bietet eine Fülle von Informationen und ein Benutzerforum.


1
Ja, ich habe gute theoretische Gründe anzunehmen, dass die Regression von Y auf X für die Bedingungen A und B zwischen den Subjekten unterschiedlich variieren sollte. Die Regression impliziert einen Verarbeitungsstil. Können Sie mir weitere Informationen zur Interpretation von Trace-Plots als Diagnosewerkzeug für Singularitätsursachen geben?
User33268

11

Dies ist ein sehr interessanter Thread mit interessanten Antworten und Kommentaren! Da dies noch nicht angesprochen wurde, wollte ich darauf hinweisen, dass wir für jedes Thema nur sehr wenige Daten haben (so wie ich es verstehe). In der Tat hat jedes Subjekt nur zwei Werte für jede der Antwortvariablen Y, der kategorialen Variablen Bedingung und der kontinuierlichen Variablen X. Insbesondere wissen wir, dass die zwei Werte von Bedingung A und B sind.

Wenn wir die zweistufige Regressionsmodellierung anstelle der Modellierung mit gemischten Effekten verfolgen würden, könnten wir nicht einmal ein lineares Regressionsmodell an die Daten eines bestimmten Subjekts anpassen, wie im folgenden Spielzeugbeispiel für eines der Subjekte dargestellt:

y <- c(4, 7)
condition <- c("A", "B")
condition <- factor(condition)
x <- c(0.2, 0.4)

m <- lm(y ~ condition*x)
summary(m)

Die Ausgabe dieses fachspezifischen Modells wäre:

Call:
lm(formula = y ~ condition * x)

Residuals:
ALL 2 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
         Estimate Std. Error t value Pr(>|t|)
(Intercept)         4         NA      NA       NA
conditionB          3         NA      NA       NA
x                  NA         NA      NA       NA
conditionB:x       NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,     Adjusted R-squared:    NaN 
F-statistic:   NaN on 1 and 0 DF,  p-value: NA

Beachten Sie, dass die Modellanpassung unter Singularitäten leidet, da wir versuchen, 4 Regressionskoeffizienten plus die Fehlerstandardabweichung mit nur 2 Beobachtungen zu schätzen.

Die Singularitäten würden bestehen bleiben, selbst wenn wir dieses Thema unter jeder Bedingung zweimal - und nicht einmal - beobachten würden. Wenn wir das Subjekt jedoch unter jeder Bedingung dreimal beobachten würden, würden wir Singularitäten loswerden:

y <- c(4, 7, 3, 5, 1, 2)
condition <- c("A", "B", "A","B","A","B")
condition <- factor(condition)
x <- c(0.2, 0.4, 0.1, 0.3, 0.3, 0.5)

m2 <- lm(y ~ condition*x)
summary(m2)

Hier ist die entsprechende R-Ausgabe für dieses zweite Beispiel, aus dem die Singularitäten verschwunden sind:

>     summary(m2)

Call:
lm(formula = y ~ condition * x)

Residuals:
    1       2       3       4       5       6 
1.3333  2.3333 -0.6667 -1.1667 -0.6667 -1.1667 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)     4.667      3.555   1.313    0.320
conditionB      6.000      7.601   0.789    0.513
x             -10.000     16.457  -0.608    0.605
conditionB:x   -5.000     23.274  -0.215    0.850

Residual standard error: 2.327 on 2 degrees of freedom
Multiple R-squared:  0.5357,    Adjusted R-squared:  -0.1607 
F-statistic: 0.7692 on 3 and 2 DF,  p-value: 0.6079

Natürlich passt das Modell mit gemischten Effekten nicht zu nicht verwandten, separaten linearen Regressionsmodellen für jedes Subjekt - es passt zu "verwandten" Modellen, deren Abschnitte und / oder Steigungen zufällig um einen typischen Abschnitt und / oder eine Steigung abweichen, so dass die zufälligen Abweichungen von den Ein typischer Achsenabschnitt und / oder eine typische Steigung folgen einer Normalverteilung mit dem Mittelwert Null und einer unbekannten Standardabweichung.

Trotzdem deutet meine Intuition darauf hin, dass das Modell mit gemischten Effekten mit der geringen Anzahl von Beobachtungen - nur 2 - zu kämpfen hat, die für jedes Thema verfügbar sind. Je mehr das Modell mit zufälligen Steigungen beladen ist, desto mehr Probleme hat es wahrscheinlich. Ich vermute, wenn jedes Subjekt 6 Beobachtungen anstelle von 2 (dh 3 pro Bedingung) beisteuerte, würde es nicht länger Schwierigkeiten haben, alle zufälligen Steigungen zu berücksichtigen.

Es scheint mir, dass dies ein Fall sein könnte (?), In dem das aktuelle Studiendesign die komplexen Modellierungsambitionen nicht unterstützt. Um diese Ambitionen zu unterstützen, wären unter jeder Bedingung für jedes Fach (oder zumindest für einige der Fälle) mehr Beobachtungen erforderlich Themen?). Dies ist nur meine Intuition, also hoffe ich, dass andere ihre Erkenntnisse zu meinen obigen Beobachtungen hinzufügen können. Danke im Voraus!


Ich muss Sie korrigieren - jeder Teilnehmer hat 30 Beobachtungen für X und Y unter A- und B-Bedingungen!
User33268

2
Oh, das war in Ihrer ersten Antwort nicht angegeben, daher wäre es mir unmöglich gewesen zu erraten, wie viele Beobachtungen pro Subjekt und Zustand Sie tatsächlich haben. Dann ist noch etwas los. Haben Sie versucht, Ihre X-Variable zu standardisieren? Hilft das dem lme fit? Haben Sie sich auch die Diagramme von Y gegen X (oder standardisiertes X) für Bedingung = A gegen Bedingung = B für jedes Subjekt separat angesehen? Das könnte Ihnen zusätzliche Hinweise geben, was los ist.
Isabella Ghement

Ich habe x nicht standardisiert, da es sich um Reaktionszeitdaten handelt und diese für die Interpretation des Regressionskoeffizienten wichtig sind. Die Daten wurden jedoch zentralisiert. Ich werde in einzelne Handlungen schauen und sehen ...
User33268

1
@ User33268 Ich bin etwas spät dran, aber Sie können immer noch standardisierte Koeffizienten interpretieren. Sie müssen nur die für die Skalierung verwendeten Werte speichern und nach dem Ausführen des Modells eine Rücktransformation durchführen.
Frans Rodenburg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.