Sowohl bayesglm()
(im Arm R-Paket) als auch verschiedene Funktionen im MCMCpack-Paket zielen darauf ab, die Bayes'sche Schätzung verallgemeinerter linearer Modelle durchzuführen, aber ich bin nicht sicher, ob sie tatsächlich dasselbe berechnen. Die MCMCpack-Funktionen verwenden die Markov-Kette Monte Carlo, um eine (abhängige) Probe vom Gelenk posterior für die Modellparameter zu erhalten. bayesglm()
auf der anderen Seite produziert. Ich bin mir nicht sicher was.
Es sieht so bayesglm()
aus, als würde eine Punktschätzung erstellt, die es eher zu einer MAP-Schätzung (Maximum a posteriori) als zu einer vollständigen Bayes'schen Schätzung machen würde, aber es gibt eine sim()
Funktion, die so aussieht, als könnte sie verwendet werden, um posteriore Draws zu erhalten.
Kann jemand den Unterschied in der beabsichtigten Verwendung für die beiden erklären? Kann bayesglm() + sim()
echte hintere Draws erzeugen, oder ist es eine Art Annäherung?
quelle
Antworten:
Um den vollständigen Quellcode anzuzeigen, müssen Sie die
arm
Paketquelle von CRAN herunterladen (es ist ein Tarball). Ein kurzer Blick auf diesim
Funktion lässt mich denken, dass diesarm
eine ungefähre Bayes-Methode ist, da sie eine multivariate Normalität der Schätzungen der maximalen Wahrscheinlichkeit anzunehmen scheint. In Modellen mit einer sehr nicht quadratischen Log-Wahrscheinlichkeit, wie dem binären Logistikmodell, ist es wahrscheinlich unwahrscheinlich, dass dies genau genug ist. Ich würde gerne einige Kommentare von anderen dazu bekommen. Ich habeMCMCpack
mit Erfolg verwendet; Es bietet eine exakte Bayes'sche Lösung für viele Modelle, wenn genügend hintere Draws und Konvergenz von MCMC vorliegen.quelle