Wenn wir einen Glimmer nachrüsten, erhalten wir möglicherweise eine Warnung, die uns mitteilt, dass das Modell Schwierigkeiten hat, sich anzunähern ... z
>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.00389462 (tol = 0.001)
Eine andere Möglichkeit, die Konvergenz zu überprüfen, die @Ben Bolker in diesem Thread diskutiert hat, ist:
relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
#[1] 1.152891e-05
Wenn max(abs(relgrad))
ist <0.001
dann die Dinge in Ordnung sein könnten ... Also haben wir in diesem Fall widersprüchliche Ergebnisse? Wie sollen wir zwischen Methoden wählen und uns bei unseren Modellpassungen sicher fühlen?
Auf der anderen Seite, wenn wir extremere Werte erhalten wie:
>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 35.5352 (tol = 0.001)
relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
#[1] 0.002776518
Bedeutet dies, dass wir die Modellergebnisse / Schätzungen / p-Werte ignorieren müssen? Ist 0,0027 viel zu groß, um fortzufahren?
Wenn verschiedene Optimierer unterschiedliche Ergebnisse liefern und das Zentrieren von Variablen / Entfernen von Parametern (Reduzieren von Modellen auf das Minimum) nicht hilft, aber die VIFs niedrig sind, Modelle nicht überstreut sind und Modellergebnisse basierend auf den Erwartungen von vornherein logisch sinnvoll sind, ist es schwer zu wissen was ist zu tun.
Ratschläge zur Interpretation der Konvergenzprobleme, wie extrem sie sein müssen, um uns wirklich Sorgen zu machen, und mögliche Wege, um sie zu bewältigen, die über die genannten hinausgehen, wären sehr hilfreich.
Mit:
R version 3.1.0 (2014-04-10)
undlme4_1.1-6
quelle
lme4
(Version 1.1-7) weist ein anderes Warnverhalten auf, von dem die Autoren glauben, dass es weniger wahrscheinlich ist, dass sie "Fehlalarm" -Warnungen ausgibt. Sie können versuchen,lme4
auf die neueste Version zu aktualisieren , das Modell erneut anzupassen und feststellen, ob zumindest im ersten Fall ähnliche Warnungen angezeigt werden.Antworten:
Angst haben. Hab große Angst.
Letztes Jahr habe ich John Nash, den Autor von optim und optimx, für einen Artikel auf der DeveloperWorks-Site von IBM interviewt . Wir haben darüber gesprochen, wie Optimierer funktionieren und warum sie versagen, wenn sie versagen. Er schien es als selbstverständlich anzusehen, dass sie es oft taten. Deshalb ist die Diagnose im Lieferumfang enthalten. Er meinte auch, dass Sie "Ihr Problem verstehen" und Ihre Daten verstehen müssen. All dies bedeutet, dass Warnungen ernst genommen werden sollten und eine Aufforderung sind, Ihre Daten auf andere Weise zu betrachten.
In der Regel bricht ein Optimierer die Suche ab, wenn die Verlustfunktion nicht mehr sinnvoll verbessert werden kann. Es weiß im Grunde nicht, wohin es als nächstes gehen soll. Wenn der Gradient der Verlustfunktion zu diesem Zeitpunkt nicht Null ist, haben Sie kein Extrem erreicht. Wenn der Hessische nicht positiv ist, der Gradient jedoch Null, haben Sie kein Minimum gefunden, aber möglicherweise haben Sie ein Maximum oder einen Sattelpunkt gefunden. Abhängig vom Optimierer werden jedoch möglicherweise keine Ergebnisse zum Hessischen geliefert. Wenn Sie in Optimx die KKT-Bedingungen auswerten möchten, müssen Sie sie anfordern - sie werden nicht standardmäßig ausgewertet. (Diese Bedingungen untersuchen den Gradienten und das Hessische, um festzustellen, ob Sie wirklich ein Minimum haben.)
Das Problem bei gemischten Modellen besteht darin, dass die Varianzschätzungen für die Zufallseffekte nur positiv sind und somit eine Grenze innerhalb des Optimierungsbereichs setzen. Angenommen, ein bestimmter Zufallseffekt wird in Ihrem Modell nicht wirklich benötigt, dh die Varianz des Zufallseffekts ist 0. Ihr Optimierer bewegt sich in diese Grenze, kann nicht fortfahren und stoppt mit einem Gradienten ungleich Null. Wenn Sie diesen zufälligen Effekt entfernen, um die Konvergenz zu verbessern, wissen Sie, dass dies das Problem war.
Im Übrigen ist anzumerken, dass die asymptotische Maximum-Likelihood-Theorie davon ausgeht, dass sich der MLE in einem inneren Punkt befindet (dh nicht an der Grenze zulässiger Parameterwerte). Daher funktionieren Likelihood-Ratio-Tests für Varianzkomponenten möglicherweise nicht, wenn tatsächlich die Nullhypothese der Nullvarianz vorliegt wahr. Das Testen kann mithilfe von Simulationstests erfolgen, die im Paket RLRsim implementiert sind.
Ich vermute, dass Optimierer auf Probleme stoßen, wenn zu wenig Daten für die Anzahl der Parameter vorliegen oder das vorgeschlagene Modell wirklich nicht geeignet ist. Denken Sie an Glasslipper und hässliche Stiefschwester: Sie können Ihre Daten nicht in das Modell einlesen, egal wie sehr Sie es versuchen, und es muss etwas geben.
Selbst wenn die Daten zum Modell passen, sind sie möglicherweise nicht in der Lage, alle Parameter abzuschätzen. In diese Richtung ist mir etwas Komisches passiert. Ich habe einige gemischte Modelle simuliert, um eine Frage zu beantwortenWas passiert, wenn Sie nicht zulassen, dass die zufälligen Effekte beim Anpassen eines gemischten Effektmodells korreliert werden? Ich habe Daten mit einer starken Korrelation zwischen den beiden zufälligen Effekten simuliert und dann das Modell in beide Richtungen mit lmer angepasst: 0-Korrelationen und freie Korrelationen. Das Korrelationsmodell passte besser als das unkorrelierte Modell, aber interessanterweise hatte ich in 1000 Simulationen 13 Fehler beim Anpassen des wahren Modells und 0 Fehler beim Anpassen des einfacheren Modells. Ich verstehe nicht ganz, warum dies passiert ist (und habe die Sims zu ähnlichen Ergebnissen wiederholt). Ich vermute, dass der Korrelationsparameter ziemlich nutzlos ist und der Optimierer den Wert nicht finden kann (weil es egal ist).
Sie haben gefragt, was zu tun ist, wenn verschiedene Optimierer unterschiedliche Ergebnisse liefern. John und ich haben diesen Punkt besprochen. Einige Optimierer sind seiner Meinung nach einfach nicht so gut! Und alle von ihnen haben Schwachstellen - dh Datensätze, die dazu führen, dass sie versagen. Aus diesem Grund hat er optimx geschrieben, das eine Vielzahl von Optimierern enthält. Sie können mehrere auf demselben Datensatz ausführen.
Wenn zwei Optimierer dieselben Parameter, aber unterschiedliche Diagnosen liefern - und diese Parameter sind in der Praxis sinnvoll -, würde ich den Parameterwerten eher vertrauen. Die Schwierigkeit könnte bei der Diagnose liegen, die nicht narrensicher ist. Wenn Sie die Gradientenfunktion und / oder die Hessische Matrix nicht explizit angegeben haben, muss der Optimierer diese aus der Verlustfunktion und den Daten abschätzen.
Wenn Sie auch andere Parameterwerte erhalten, möchten Sie möglicherweise andere Startwerte ausprobieren und sehen, was dann passiert. Einige Optimierer und einige Probleme reagieren sehr empfindlich auf die Startwerte. Sie möchten im Baseballstadion starten.
quelle
Ich möchte nur die großartige Antwort von @ Placidia ergänzen. Vielleicht möchten Sie "Reich parametrisierte lineare Modelle: Additive, Zeitreihen und räumliche Modelle mit zufälligen Effekten" von James Hodges (2014) ausprobieren. Es wird diskutiert, was wir über gemischte Modelle nicht wissen, und gleichzeitig versucht, eine breite Theorie sowie praktische Tipps für die Anpassung komplexer Modelle anzubieten.
Als selbst oft verängstigter Modellbauer finde ich Hodges Diskussionen über "Rätsel" von unschätzbarem Wert. Er erklärt seltsame Fälle, die sich aus der Anpassung von Modellen mit gemischten Effekten ergeben, darunter "Ein zufälliger Effekt, der mit einem festen Effekt konkurriert" und "Wettbewerb zwischen zufälligen Effekten". Kommt mir bekannt vor?
quelle