Wie kann ich 95% -Konfidenzintervalle mithilfe der Profilerstellung für Parameter schätzen, die durch Maximieren einer Log-Likelihood-Funktion mithilfe von Optim in R geschätzt werden?

9

Wie kann ich 95% -Konfidenzintervalle mithilfe der Profilerstellung für Parameter schätzen, die durch Maximieren einer Log-Likelihood-Funktion mithilfe von Optim in R geschätzt werden?

Ich weiß, dass ich die Kovarianzmatrix durch Invertieren des Hessischen asymptotisch schätzen kann , aber ich bin besorgt, dass meine Daten nicht den Annahmen entsprechen, die für die Gültigkeit dieser Methode erforderlich sind. Ich würde es vorziehen, Konfidenzintervalle mit einer anderen Methode zu schätzen.

Ist die Profilwahrscheinlichkeitsmethode angemessen, wie in Stryhn und Christensen sowie in Venables und Ripleys MASS-Buch, §8.4, S. 220-221, erörtert?

Wenn ja, gibt es Pakete, die mir dabei helfen können, dies in R zu tun? Wenn nicht, wie würde der Pseudocode für eine solche Methode aussehen?

fmark
quelle

Antworten:

6

Die mleFunktion aus dem stats4-Paket ist ein Wrapper von optim, der die Erstellung von Profilwahrscheinlichkeitsberechnungen recht einfach macht. Siehe help("profile,mle-method", package = "stats4")für weitere Informationen.

NRH
quelle
Genau das möchte ich tun :) Damit es funktioniert!
Mark
@fmark, wie einfach es ist, es richtig funktionieren zu lassen, hängt vom Optimierungsproblem ab. Ich benutze es oft zum Unterrichten mit ziemlich einfachen Problemen (ein bis drei Parameter) und "schönen" Modellen und für einfache praktische Probleme. Wenn die Wahrscheinlichkeit einer Optimierung und eines Profils jedoch schwierig ist, funktioniert dies wahrscheinlich nicht sofort.
NRH
2

Es gibt das ProfileLikelihood-Paket, wenn Sie nlme verwenden. Persönlich habe ich es nicht geschafft, es zu benutzen.

Mit dem Paket lme4a oder lmeEigen gibt es eine profile () - Funktion, die genau darauf abzielt, das zu tun, was Sie wollen. Versuchen Sie so etwas, um diese Pakete zu installieren:

install.packages("lme4a",repos="http://lme4.r-forge.r-project.org/repos") 

oder besuchen Sie die Website, um das Zip-Archiv zu erhalten. Ebenso und leider habe ich es nicht geschafft :) Vielleicht sollten wir auf ein Update von lme4 warten.

Die Methode ist im Entwurf des Buches von Douglas Bates beschrieben

EDIT: Cool! Die profile () -Funktion für frühere Modelle ist jetzt in der neuesten Version von lme4 verfügbar und kann durch Eingabe von: installiert werden.

install.packages("lme4",repos="http://r-forge.r-project.org")
Stéphane Laurent
quelle
Mir ist klar, dass ich die ursprüngliche Frage nicht genau genug gelesen hatte. Meine Antwort gilt für gemischte Modelle. Ich denke, die Antwort von NRH unten ist für den Fall klassischer Modelle.
Stéphane Laurent