Vergleich von Modellen mit gemischten und festen Effekten (Prüfung der Signifikanz von Zufallseffekten)

10

Bei drei Variablen yund x, die positiv stetig sind und zdie kategorisch sind, habe ich zwei Kandidatenmodelle, die gegeben sind durch:

fit.me <- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )

und

fit.fe <- lm( y ~ 1 + x )

Ich hoffe, diese Modelle vergleichen zu können, um festzustellen, welches Modell besser geeignet ist. Es scheint mir, dass in gewissem Sinne fit.fein verschachtelt ist fit.me. Wenn dieses allgemeine Szenario zutrifft, kann normalerweise ein Chi-Quadrat-Test durchgeführt werden. In Rkönnen wir diesen Test mit dem folgenden Befehl durchführen:

anova(fit.fe,fit.me)

Wenn beide Modelle zufällige Effekte enthalten (generiert lmeraus dem lme4Paket), anova()funktioniert der Befehl einwandfrei. Aufgrund Randparameter ist, es in der Regel ratsam , die resultierende Chi-Quadrat - Statistik über Simulation zu testen, dennoch können wir immer noch nutzen die Statistik im Simulationsverfahren.

Wenn beide Modelle nur feste Effekte enthalten, anova()funktionieren dieser Ansatz - und der zugehörige Befehl - einwandfrei.

Wenn jedoch ein Modell zufällige Effekte enthält und das reduzierte Modell nur feste Effekte enthält, wie im obigen Szenario, anova()funktioniert der Befehl nicht.

Insbesondere erhalte ich den folgenden Fehler:

 > anova(fit.fe, fit.me)
 Error: $ operator not defined for this S4 class

Ist etwas falsch daran, den Chi-Quadrat-Ansatz von oben zu verwenden (mit Simulation)? Oder ist dies einfach ein Problem, anova()wenn man nicht weiß, wie man mit linearen Modellen umgeht, die von verschiedenen Funktionen erzeugt werden?

Mit anderen Worten, wäre es angemessen, die aus den Modellen abgeleitete Chi-Quadrat-Statistik manuell zu generieren? Wenn ja, welche Freiheitsgrade sind für den Vergleich dieser Modelle angemessen? Nach meiner Einschätzung:

F=((SSEreducedSSEfull)/(pk))((SSEfull)/(np1))Fpk,np1

Wir schätzen zwei Parameter im Modell mit festen Effekten (Steigung und Achsenabschnitt) und zwei weitere Parameter (Varianzparameter für die zufällige Steigung und den zufälligen Schnittpunkt) im Modell mit gemischten Effekten. Typischerweise wird der Intercept-Parameter bei der Berechnung der Freiheitsgrade nicht berücksichtigt, was impliziert, dass und ; Ich bin mir jedoch nicht sicher, ob die Varianzparameter für die Zufallseffektparameter in die Berechnung der Freiheitsgrade einbezogen werden sollen. Die Varianzschätzungen für Parameter mit festen Effekten werden nicht berücksichtigt , aber ich glaube, dass dies daran liegt, dass die Parameterschätzungen für feste Effekte als unbekannte Konstanten angenommen werden, während sie als nicht erkennbare Zufallsvariablen betrachtet werdenp = k + 2 = 3k=1p=k+2=3für gemischte Effekte. Ich würde mich über Unterstützung in dieser Angelegenheit freuen.

Hat schließlich jemand eine geeignetere ( Rbasierte) Lösung für den Vergleich dieser Modelle?

user9171
quelle
4
Wenn Sie lm()mit gls()aus dem nlmePaket und lmer()mit lme()(wieder aus dem nlmePaket) ersetzen , funktioniert alles einwandfrei. Beachten Sie jedoch, dass Sie einen konservativen Test erhalten (zu große p- Werte), da sich die Parameter für das einfachere Modell an der Grenze des Parameterraums befinden. Und tatsächlich sollte die Wahl, ob die zufälligen Effekte einbezogen werden sollen, auf der Theorie (z. B. dem Stichprobenplan) und nicht auf einem statistischen Test beruhen.
Karl Ove Hufthammer
1
Was willst du mit den Modellen machen? Ein Modell kann für einige Zwecke besser sein und das andere Modell für andere Zwecke besser. Alle Modelle sind falsch, daher ist die Frage nicht, welches Modell richtig ist, sondern welches für Ihr spezielles Problem nützlicher ist.
Kodiologe
1
@Kodiologist Grundsätzlich möchte ich sicherstellen, dass die Parameterschätzungen für die festen Effekte zuverlässig sind. Die Standardfehler können unzuverlässig sein, wenn angenommen wird, dass die Beobachtungen unabhängig sind. Außerdem wäre es schön, eine Aussage darüber zu machen, wie variabel der Zufallseffekt ist, aber ich denke, das ist nicht ganz so wichtig.
user9171
2
@ user9171 Eine gute Möglichkeit, die Stabilität (Zuverlässigkeit) der Parameterschätzungen eines Modells zu überprüfen, ist die Verwendung von Bootstrapping. Diagramm-Bootstrap-Verteilungen für jeden Parameter, den die beiden Modelle gemeinsam nutzen, mit einem Diagramm pro Parameter und Modell. Engere Verteilungen bedeuten eine höhere Stabilität. Sie werden wahrscheinlich feststellen, dass das einfachere Modell stabilere Schätzungen liefert, da weniger Parameter eine genauere Schätzung jedes Parameters ermöglichen.
Kodiologe

Antworten:

6

Technisch gesehen können Sie es zum Laufen bringen, indem Sie einfach die Reihenfolge der Parameter ändern:

> anova(fit.me, fit.fe) 

Wird gut funktionieren. Wenn Sie ein Objekt übergeben, das lmerzuerst von generiert wurde , anova.merModwird das anstelle von aufgerufen anova.lm(das nicht weiß, wie es mit lmerObjekten umgeht ). Sehen:

?anova.merMod

Die Auswahl eines gemischten Modells oder eines festen Modells ist jedoch eine Modellierungsentscheidung, bei der der experimentelle Entwurf berücksichtigt werden muss, nicht ein Modellauswahlproblem. Weitere Informationen finden Sie unter https://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#testing-significance-of-random-effects von @ BenBolker :

Betrachten Sie nicht die Bedeutung von Zufallseffekte zu testen.

witek
quelle
+1. Ich habe mir erlaubt, einen Link zu @ BenBolkers FAQ einzufügen, der einige weitere Diskussionen und Referenzen enthält.
Amöbe sagt Reinstate Monica