Ich versuche mit MCMC von einem Posterior zu probieren, der viele Modi hat, die besonders weit voneinander entfernt sind. Es scheint, dass in den meisten Fällen nur einer dieser Modi die 95% HPD enthält, die ich suche. Ich habe versucht, Lösungen zu implementieren, die auf temperierten Simulationen basieren, aber dies liefert keine zufriedenstellenden Ergebnisse, da es in der Praxis zu kostspielig ist, von einem "Erfassungsbereich" zu einem anderen zu wechseln.
Infolgedessen scheint es mir eine effizientere Lösung zu sein, viele einfache MCMCs von verschiedenen Ausgangspunkten aus auszuführen und in die dominante Lösung einzutauchen, indem die MCMCs miteinander interagieren. Wissen Sie, ob es einen geeigneten Weg gibt, eine solche Idee umzusetzen?
Hinweis: Ich habe festgestellt, dass das Papier http://lccc.eecs.berkeley.edu/Papers/dmcmc_short.pdf (verteilte Markov-Kette Monte Carlo, Lawrence Murray) dem entspricht, wonach ich suche, aber ich verstehe das Design wirklich nicht der Funktion .
[BEARBEITEN]: Das Fehlen von Antworten scheint darauf hinzudeuten, dass es keine offensichtliche Lösung für mein anfängliches Problem gibt (mehrere MCMCs, die von derselben Zielverteilung aus verschiedenen Startpunkten abgetastet wurden, interagieren miteinander). Ist das wahr ? Warum ist es so kompliziert? Vielen Dank
quelle
Antworten:
Durst vor allem würde ich empfehlen, nach einer besseren Methode oder zumindest einer Methode mit ausführlicherer Beschreibung zu suchen, da die "verteilte Markov-Kette Monte Carlo" aus dem Papier, auf das Sie sich beziehen, nicht klar angegeben zu sein scheint. Die Vor- und Nachteile sind nicht gut erforscht. Es gibt eine Methode, die vor kurzem in arxiv aufgetaucht ist und " Wormhole Hamiltonian Monte Carlo " heißt. Ich würde empfehlen, sie zu überprüfen.
Zurück zu dem Papier, auf das Sie Bezug genommen haben, ist der entfernte Vorschlag sehr vage beschrieben. Im Anwendungsteil wird es als "maximale Wahrscheinlichkeit Gauß über die vorhergehenden t / 2 Abtastwerte" beschrieben. Vielleicht bedeutet dies, dass Sie die letzten t / 2-Werte der -Kette mitteln? Ein bisschen schwer zu erraten mit der schlechten Beschreibung in der Referenz.R.ich( θich) icht h
[UPDATE:] Die Wechselwirkung zwischen mehreren Ketten und die Anwendung dieser Idee auf Proben aus der posterioren Verteilung finden sich beispielsweise hier in parallelen MCMC-Methoden . Wenn jedoch mehrere Ketten laufen und zur Interaktion gezwungen werden, ist dies möglicherweise nicht für den multimodalen posterioren Bereich geeignet. Wenn beispielsweise ein sehr ausgeprägter Bereich vorhanden ist, in dem der größte Teil der posterioren Verteilung konzentriert ist, kann die Interaktion der Ketten die Dinge sogar verschlechtern, indem sie an diesem spezifischen Bereich festhalten Region und nicht andere, weniger ausgeprägte Regionen / Modi erkunden. Ich würde daher dringend empfehlen, nach MCMC zu suchen, die speziell für multimodale Probleme entwickelt wurden. Und wenn Sie eine andere / neue Methode erstellen möchten, können Sie, nachdem Sie wissen, was auf dem "Markt" verfügbar ist, eine effizientere Methode erstellen.
quelle
Sie sollten Multinest ausprobieren: https://arxiv.org/pdf/0809.3437.pdf https://github.com/JohannesBuchner/MultiNest Es handelt sich um eine Bayes'sche Inferenz-Engine, die Ihnen Parameterbeispiele für eine multimodale Verteilung liefert .
Der Github-Link enthält Multinest-Quellcode, den Sie gemäß den Anweisungen kompilieren und installieren. Es hat auch einen Python-Wrapper, der einfacher zu bedienen ist. Die Beispielcodes haben einen vorherigen Abschnitt, der dazu dient, Ihre Parameter einzuschränken, und einen Wahrscheinlichkeitsabschnitt, der Ihre Wahrscheinlichkeit enthält. Die Einstellungsdatei enthält alle Ihre Einstellungen und kettet nach der Anpassung die Multinest-Ausgabe des Kettenordners. Sie erhalten Beispiele Ihrer Parameter
quelle
Dies scheint ein schwieriges und anhaltendes Problem bei Rechenstatistiken zu sein. Es gibt jedoch einige weniger moderne Methoden, die in Ordnung sein sollten.
Angenommen, Sie haben bereits mehrere unterschiedliche Modi des Seitenzahns gefunden und sind froh, dass dies die wichtigsten Modi sind, und wenn der Seitenzahnbereich um diese Modi herum einigermaßen normal ist. Dann können Sie den Hessischen in diesen Modi berechnen (z. B. mit optim in R mit Hessisch = T) und den posterioren Wert als Mischung von Normalen (oder t-Verteilungen) approximieren. Siehe S. 318-319 in Gelman et al. (2003) "Bayesian Data Analysis" für Details. Dann können Sie die Normal / T-Gemisch-Näherung als Vorschlagsverteilung in einem Unabhängigkeitssampler verwenden, um Proben aus dem gesamten posterioren Bereich zu erhalten.
Eine andere Idee, die ich nicht ausprobiert habe, ist Annealed Importance Sampling (Radford Neal, 1998, Link hier ).
quelle
Wie wäre es mit einer neuen MCMC-Methode für Multimodalität, einem abstoßend-attraktiven Metropolis-Algorithmus ( http://arxiv.org/abs/1601.05633 )? Dieser multimodale Sampler arbeitet mit einem einzelnen Abstimmungsparameter wie ein Metropolis-Algorithmus und ist einfach zu implementieren.
quelle