Verwenden von Lmer für die Vorhersage

18

Hallo, ich habe zwei Probleme, die wie natürliche Kandidaten für mehrstufige / gemischte Modelle klingen, die ich nie benutzt habe. Die einfachere Variante, die ich als Einführung versuchen möchte, sieht wie folgt aus: Die Daten sehen aus wie viele Zeilen des Formulars

x y innergroup outergroup

wobei x eine numerische Kovariate ist, auf die ich y zurückführen möchte (eine andere numerische Variable), jedes y zu einer inneren Gruppe gehört und jede innere Gruppe in einer äußeren Gruppe verschachtelt ist (dh alle y in einer gegebenen inneren Gruppe gehören zu derselben äußeren Gruppe) . Leider hat die innere Gruppe viele Ebenen (viele Tausend) und jede Ebene hat relativ wenige Beobachtungen von y, so dass ich dachte, dass diese Art von Modell angemessen sein könnte. Meine Fragen sind

  1. Wie schreibe ich eine solche mehrstufige Formel?

  2. Sobald lmer passt das Modell, wie geht man etwa davon die Vorhersage? Ich habe einige einfachere Spielzeugbeispiele angepasst, aber keine predict () - Funktion gefunden. Die meisten Menschen scheinen mehr an Schlussfolgerungen als an Vorhersagen mit dieser Art von Technik interessiert zu sein. Ich habe mehrere Millionen Zeilen, daher sind die Berechnungen möglicherweise ein Problem, aber ich kann sie jederzeit entsprechend reduzieren.

Ich brauche die Sekunde für einige Zeit nicht zu machen, aber ich könnte genauso gut anfangen, darüber nachzudenken und damit herumzuspielen. Ich habe ähnliche Daten wie zuvor, aber ohne x, und y ist jetzt eine Binomialvariable der Form . y weist auch innerhalb innerer Gruppen eine starke Überdispersion auf. Die meisten der sind nicht mehr als 2 oder 3 (oder weniger), um Schätzungen der Erfolgsraten jedes abzuleiten, habe ich den Beta-Binomial-Schrumpfungsschätzer , wobei und(n,nk)nyi(α+ki)/(α+β+ni)αβwerden von MLE für jede innere Gruppe separat geschätzt. Das ist schon einigermaßen ausreichend, aber die Datensparsamkeit plagt mich immer noch, deshalb möchte ich alle verfügbaren Daten nutzen. Aus der einen Perspektive ist dieses Problem einfacher, da es keine Kovariate gibt, aus der anderen Perspektive macht es die Binomialnatur schwieriger. Hat jemand eine hohe (oder niedrige!) Führung?

grg s
quelle
Vergewissern Sie sich, dass die Klammern, die ich in die Schrumpfungsformel eingefügt habe, an der von Ihnen gewünschten Stelle stehen.
Whuber
1
Sollte der 2. Teil Ihrer Frage (mit einer binären Variablen) keine separate Frage sein?
Chl

Antworten:

17

Das Ausdrücken von Faktorenbeziehungen unter Verwendung von R-Formeln folgt aus der Wilkinson-Notation, wobei '*' Kreuzung und '/' Verschachtelung bedeutet, aber es gibt einige Besonderheiten in der Art und Weise, in der Formel für Modelle mit gemischten Effekten oder allgemeiner mit zufälligen Effekten umgegangen wird. Beispielsweise können zwei gekreuzte Zufallseffekte als dargestellt werden (1|x1)+(1|x2). Ich habe Ihre Beschreibung als Verschachtelung interpretiert, ähnlich wie Klassen in Schulen verschachtelt sind (verschachtelt in Bundesstaaten usw.), daher würde eine Grundformel mit lmerwie folgt aussehen (sofern nicht anders angegeben, gaussianwird standardmäßig eine Familie verwendet):

y ~ x + (1|A:B) + (1|A)

wobei A und B Ihren inneren bzw. äußeren Faktoren entsprechen. B ist in A verschachtelt und beide werden als Zufallsfaktoren behandelt. Im älteren nlme- Paket würde dies so etwas wie entsprechen lme(y ~ x, random=~ 1 | A/B). Wenn A als fester Faktor betrachtet werden soll, sollte die Formel lauten y ~ x + A + (1|A:B).

Es lohnt sich jedoch, die Spezifikationen von D. Bates für das Paket lme4 genauer zu prüfen , z. B. in seinem kommenden Lehrbuch lme4: Mixed-Effects-Modellierung mit R oder in den vielen Handouts, die auf derselben Webseite verfügbar sind. Insbesondere ist es ein Beispiel für eine solche Verschachtelung Beziehungen in Montage Linear Mixed-Effects - Modelle, die lme4 Paket in R . John Maindonalds Tutorial bietet auch einen schönen Überblick: Die Anatomie einer gemischten Modellanalyse mit Rs lme4-Paket . Schließlich enthält Abschnitt 3 der R-Vignette zur Imlementierung ein Beispiel für die Analyse einer verschachtelten Struktur.

predict()In lme4 gibt es keine Funktion(Diese Funktion existiert jetzt, siehe Kommentar unten), und Sie müssen sich vorhergesagte Einzelwerte unter Verwendung der geschätzten festen (siehe ?fixef) und zufälligen (siehe ?ranef) Effekte berechnen , aber siehe auch diesen Thread zum Fehlen der Vorhersagefunktion in lme4 . Sie können mit der mcmcsamp()Funktion auch ein Sample aus der posterioren Verteilung generieren . Manchmal kann es jedoch zu Konflikten kommen. Weitere Informationen finden Sie in der Sig-Me- Mailingliste.

chl
quelle
3
Zum Update: lme4enthält nun eine Funktion vorhersagen inside-r.org/packages/cran/lme4/docs/predict.mermod
Bar
Die Dokumentation für predict.merMod ist jetzt hier verfügbar: rdocumentation.org/packages/lme4/versions/1.1-12/topics/…
DirtStats
10

Das ez- Paket enthält die Funktion ezPredict (), mit der Vorhersagen aus früheren Modellen abgerufen werden, bei denen die Vorhersage nur auf den festen Effekten basiert. Es ist wirklich nur eine Zusammenfassung der Vorgehensweise, die im glmm-Wiki beschrieben wird .

Mike Lawrence
quelle
5

Ich würde die "logit.mixed" -Funktion in Zelig verwenden , die ein Wrapper für lime4 ist und es sehr bequem macht, Vorhersagen und Simulationen durchzuführen.

Shige
quelle
Es scheint keine predcit () -Methode für logit.mixed in zelig ..
nassimhddd
3

Die Entwicklungsversion von lme4 verfügt über eine integrierte Vorhersagefunktion (predict.merMod). Es kann unter https://github.com/lme4/lme4/ gefunden werden .

Der Code zum Installieren der "Fast aktuellen Entwicklungsbinärdateien aus dem lme4 r-forge-Repository" befindet sich auf der obigen Seite und lautet:

install.packages("lme4", repos=c("http://lme4.r-forge.r-project.org/repos", getOption("repos")["CRAN"]))
Martin P
quelle
1
Beachten Sie, dass dies nicht mehr die Entwicklungsversion ist, predictdie seit einigen Jahren verfügbar ist.
Ben Bolker
1

Stephen Raudenbush hat ein Buchkapitel im Handbuch der Mehrebenenanalyse über " Viele kleine Gruppen ". Wenn Sie nur an den Auswirkungen von x auf y interessiert sind und kein Interesse an Effekten auf höherer Ebene haben, empfiehlt er lediglich, ein Modell mit festen Effekten (dh eine Dummy-Variable für alle möglichen Gruppierungen auf höherer Ebene) zu schätzen.

Ich weiß nicht, wie zutreffend das für die Vorhersage ist, aber ich würde mir vorstellen, dass ein Teil dessen, was er schreibt, auf das zutrifft, was Sie erreichen wollen.

Andy W
quelle