Ich besitze ein GLMM mit einer Binomialverteilung und einer Logit-Link-Funktion und habe das Gefühl, dass ein wichtiger Aspekt der Daten im Modell nicht gut dargestellt wird.
Um dies zu testen, möchte ich wissen, ob die Daten durch eine lineare Funktion auf der Logit-Skala gut beschrieben werden. Daher möchte ich wissen, ob die Residuen gut erzogen sind. Ich kann jedoch nicht herausfinden, bei welchen Residuen der Plot gezeichnet werden soll und wie der Plot zu interpretieren ist.
Beachten Sie, dass ich die neue Version von lme4 verwende ( die Entwicklungsversion von GitHub ):
packageVersion("lme4")
## [1] ‘1.1.0’
Meine Frage ist: Wie überprüfe und interpretiere ich die Residuen eines binomial verallgemeinerten linearen gemischten Modells mit einer Logit-Link-Funktion?
Die folgenden Daten stellen nur 17% meiner realen Daten dar, aber das Anpassen dauert auf meinem Computer bereits rund 30 Sekunden, sodass ich es so belasse:
require(lme4)
options(contrasts=c('contr.sum', 'contr.poly'))
dat <- read.table("http://pastebin.com/raw.php?i=vRy66Bif")
dat$V1 <- factor(dat$V1)
m1 <- glmer(true ~ distance*(consequent+direction+dist)^2 + (direction+dist|V1), dat, family = binomial)
Das einfachste plot ( ?plot.merMod
) ergibt folgendes:
plot(m1)
Sagt mir das schon was?
type=c("p","smooth")
inplot.merMod
oder bewegen zu ,ggplot
wenn Sie Konfidenzintervall wollen) ist , dass es aussieht gibt es eine kleine , aber signifikante Muster, die Sie Ist möglicherweise in der Lage, das Problem zu beheben, indem Sie eine andere Verknüpfungsfunktion verwenden. Das war's schon ...true ~ distance*(consequent+direction+dist)^2 + (direction+dist|V1)
funktioniert? Wird das Modell give Schätzung der Wechselwirkung zwischendistance*consequent
,distance*direction
,distance*dist
und die Steigung vondirection
unddist
daß Variiert mitV1
? Was bedeutet das Quadrat in(consequent+direction+dist)^2
?Warning message: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model failed to converge with max|grad| = 0.123941 (tol = 0.001, component 1)
. Warum ?Antworten:
Kurze Antwort, da ich keine Zeit zum Besseren habe: Dies ist ein herausforderndes Problem. Binärdaten erfordern fast immer eine Art Binning oder Glättung, um die Anpassungsgüte zu beurteilen. Es war etwas hilfreich,
fortify.lmerMod
(vonlme4
, experimentell) in Verbindung mitggplot2
und insbesonderegeom_smooth()
zum Zeichnen im Wesentlichen der gleichen Residuen-gegen-Fit-Darstellung zu verwenden, die Sie oben haben, aber mit Konfidenzintervallen (ich habe auch die y-Grenzen etwas verkleinert, um auf die ( -5,5) Region). Das deutete auf eine systematische Variation hin, die durch Optimierung der Link-Funktion verbessert werden könnte. (Ich habe auch versucht, Residuen gegen die anderen Prädiktoren zu zeichnen, aber es war nicht allzu nützlich.)Ich habe versucht, das Modell mit allen 3-Wege-Interaktionen zu versehen, aber es hat sich weder in Bezug auf die Abweichung noch in Bezug auf die Form der geglätteten Restkurve wesentlich verbessert.
Dann habe ich dieses bisschen rohe Gewalt benutzt, um Inverse-Link-Funktionen der Form für Bereich von 0,5 bis 2,0 zu testen: λ( logistisch ( x ) )λ λ
Ich fand heraus, dass ein von 0,75 etwas besser war als das ursprüngliche Modell, wenn auch nicht signifikant - ich habe die Daten möglicherweise überinterpretiert.λ
Siehe auch: http://freakonometrics.hypotheses.org/8210
quelle
Dies ist ein weit verbreitetes Thema in Kursen zu Biostatistik / Epidemiologie, und es gibt aufgrund der Art des Modells keine sehr guten Lösungen dafür. Oft bestand die Lösung darin, eine detaillierte Diagnose unter Verwendung der Residuen zu vermeiden.
Ben schrieb bereits, dass für die Diagnose häufig Binning oder Smoothing erforderlich sind. Das Binning von Residuen ist (oder war) im R-Paket-Arm verfügbar, siehe z . B. diesen Thread . Darüber hinaus wurden einige Arbeiten durchgeführt, die vorhergesagte Wahrscheinlichkeiten verwenden. Eine Möglichkeit ist das Trennungsdiagramm, das zuvor in diesem Thread erläutert wurde . Diese könnten oder könnten nicht direkt in Ihrem Fall helfen, aber könnten möglicherweise die Interpretation helfen.
quelle
Sie können AIC anstelle von Residuendiagrammen verwenden, um die Modellanpassung zu überprüfen. Mit dem Befehl in R: AIC (model1) erhalten Sie eine Nummer. Dann müssen Sie diese mit einem anderen Modell (z. B. mit mehr Prädiktoren) vergleichen - AIC (model2), das eine andere Nummer ergibt. Vergleichen Sie die beiden Ausgänge, und Sie möchten das Modell mit dem niedrigeren AIC-Wert.
Übrigens sind Dinge wie AIC und Log Likelihood Ratio bereits aufgelistet, wenn Sie die Zusammenfassung Ihres glmer-Modells erhalten, und beide geben Ihnen nützliche Informationen zur Modellanpassung. Sie möchten eine große negative Zahl für das Log-Likelihood-Verhältnis, um die Nullhypothese abzulehnen.
quelle
Das Diagramm Angepasst gegen Residuen sollte kein (klares) Muster zeigen. Das Diagramm zeigt, dass das Modell mit den Daten nicht gut funktioniert. Siehe http://www.r-bloggers.com/model-validation-interpreting-residual-plots/
quelle