Bei drei Variablen y
und x
, die positiv stetig sind und z
die 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.fe
in verschachtelt ist fit.me
. Wenn dieses allgemeine Szenario zutrifft, kann normalerweise ein Chi-Quadrat-Test durchgeführt werden. In R
können wir diesen Test mit dem folgenden Befehl durchführen:
anova(fit.fe,fit.me)
Wenn beide Modelle zufällige Effekte enthalten (generiert lmer
aus dem lme4
Paket), 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:
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 = 3für gemischte Effekte. Ich würde mich über Unterstützung in dieser Angelegenheit freuen.
Hat schließlich jemand eine geeignetere ( R
basierte) Lösung für den Vergleich dieser Modelle?
quelle
lm()
mitgls()
aus demnlme
Paket undlmer()
mitlme()
(wieder aus demnlme
Paket) 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.Antworten:
Technisch gesehen können Sie es zum Laufen bringen, indem Sie einfach die Reihenfolge der Parameter ändern:
Wird gut funktionieren. Wenn Sie ein Objekt übergeben, das
lmer
zuerst von generiert wurde ,anova.merMod
wird das anstelle von aufgerufenanova.lm
(das nicht weiß, wie es mitlmer
Objekten umgeht ). Sehen: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 :
quelle