Parametrisches, semiparametrisches und nichtparametrisches Bootstrapping für gemischte Modelle

9

Die folgenden Transplantate stammen aus diesem Artikel . Ich bin ein Neuling im Bootstrap und versuche, das parametrische, semiparametrische und nichtparametrische Bootstrapping-Bootstrapping für ein lineares gemischtes Modell mit R bootPaket zu implementieren.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

R-Code

Hier ist mein RCode:

library(SASmixed)
library(lme4)
library(boot)

fm1Cult <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=Cultivation)
fixef(fm1Cult)


boot.fn <- function(data, indices){
 data <- data[indices, ]
 mod <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=data)
 fixef(mod)
 }

set.seed(12345)
Out <- boot(data=Cultivation, statistic=boot.fn, R=99)
Out

Fragen

  1. Wie mache ich parametrisches, semiparametrisches und nichtparametrisches Bootstrapping für gemischte Modelle mit bootPaket?
  2. Ich denke, ich mache nichtparametrisches Bootstrapping für gemischte Modelle in meinem Code.

Ich habe diese Folien gefunden , konnte aber das R-Paket nicht bekommen merBoot. Irgendeine Idee, wo ich dieses Paket bekommen kann. Jede Hilfe wird sehr geschätzt. Vielen Dank im Voraus für Ihre Hilfe und Zeit.

MYaseen208
quelle

Antworten:

8

Das Bootstrapping in gemischten linearen Modellen ähnelt stark dem Bootstrapping in der Regression, mit der Ausnahme, dass Sie die Komplikation haben, dass die Effekte in feste und zufällige unterteilt sind. Bei der Regression für den parametrischen Bootstrap passen Sie das parametrische Modell an die Daten an, berechnen die Modellreste, booten die Residuen, nehmen die Bootstrap-Residuen und fügen sie dem angepassten Modell hinzu, um ein Bootstrap-Beispiel für die Daten zu erhalten, und passen dann das Modell an zu den Bootstrap-Daten, um Schätzungen der Bootstrap-Beispielparameter zu erhalten. Sie wiederholen den Vorgang, indem Sie die ursprünglichen Residuen erneut booten und dann die anderen Schritte des Verfahrens wiederholen, um eine weitere Bootstrap-Beispielschätzung der Parameter zu erhalten. Für den nichtparametrischen Bootstrap erstellen Sie den Vektor der Antwort- und Kovariatenwerte und booten die Auswahl der Vektoren für das Bootstrap-Beispiel. Aus dem Bootstrap-Beispiel passen Sie das Modell an, um die Parameter abzurufen, und wiederholen den Vorgang. Der einzige Unterschied zwischen dem parametrischen und dem nichtparametrischen Bootstrap besteht darin, dass Sie die Residuen für den parametrischen Bootstrap booten, während der nichtparametrische Bootstrap die Vektoren bootet. Im Fall eines gemischten Modells können Sie auch einen semiparametrischen Bootstrap erstellen, indem Sie einige Effekte parametrisch und die anderen nichtparametrisch behandeln. Wenn Ihr Code Bootstrapping-Vektoren ist, führen Sie den nichtparametrischen Bootstrap durch. Ich habe keine spezifische Lösung, um dies in R zu tun, aber wenn Sie sich das Buch von Efron und Tibshirani oder mein Buch mit Robert LaBudde ansehen, werden Sie R-Code für ähnliche Modelltypen wie das lineare gemischte Modell sehen.

Michael R. Chernick
quelle
Danke @Michael für deine nette Antwort. Ich würde mich sehr freuen, wenn Sie Beispiele für alle drei in implementierten Bootstrapping-Methoden teilen R.
MYaseen208
Ich glaube nicht, dass ich semiparametrische Beispiele habe. Ich bin (noch) kein R-Programmierer. Robert LaBudde hat die gesamte R-Programmierung in unserem Buch durchgeführt. Er gibt ein Beispiel für einen in R codierten parametrischen Bootstrap für ein stationäres autoregressives Modell (S. 120-122). Auf Seite 10 des Buches zeigt er alle Bootstrap-Funktionen in R, die mit der Abfrage "> help.search ('bootstrap') angezeigt werden. Efron und Tibshirani haben in ihrem Buch das Bootstrap-Paket in R dokumentiert, das sie" bootstrap "nennen Paket wegen Davison und Hinkley ist ihr Paket "Boot", über das Sie mehr in ihrem Bootstrap-Buch erfahren können.
Michael R. Chernick
Es sollte erwähnt werden, dass striktes nichtparametrisches Bootstrapping eines gemischten Modells fehleranfällig ist. Es kann eine Ebene einer Zufallsvariablen vollständig weglassen, wodurch der Prozess angehalten wird.
Bryan
2

Vielleicht möchten Sie einen Blick auf die bootMerFunktion in der Entwicklungsversion von lme4 werfen.

install_github("lme4",user="lme4")
library(lme4)

das kann modellbasiertes (halb-) parametrisches Bootstrapping von gemischten Modellen durchführen ... Überprüfen Sie einfach ?bootMer

Tom Wenseleers
quelle