(interagierende) MCMC für multimodalen posterioren


9

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 .Ri

[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


Klingt nach dem, wofür ich zuvor "Population MCMC" verwendet habe. Siehe "Schätzung der Bayes-Faktoren durch thermodynamische Integration und Populations-MCMC" von Calderhead und Girolami. Tut mir leid, wenn dies etwas spät kommt, aber vielleicht werden andere Leute die Referenz zu schätzen wissen!
Sam Mason

Möglicherweise ist das gleiche wie Population MCMC Sequential Monte Carlo.
Robert P. Goldman

Antworten:


1

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.Ri(θi)ith

[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.


Danke für Ihre Hilfe. Dies ist nicht ganz das, was ich erwartet hatte, aber vielleicht suche ich nach unerreichbaren Dingen. Ich untersuche derzeit (ich bin nicht sicher, ob ich in der Lage bin, alles abzuleiten, was ein Hamilton-MCMC benötigt), den sogenannten Dart-MC, den ich durch Ihre Referenzen gefunden habe. Ich gebe dir das Kopfgeld, danke nochmal für deine Ratschläge.
Peuhp

@peuhp, Dies hängt eng mit den oben genannten Hamilton-Methoden zusammen, aber der Equi-Energy Sampler ist eine MCMC-Methode, die speziell als Methode für multimodale posteriore Verteilungen in Rechnung gestellt wird. Ich weiß, dass es funktioniert, indem mehrere parallele Ketten gestartet werden und Sprünge zwischen Ketten zugelassen werden, aber ich habe nicht genügend Kenntnisse / Erfahrungen mit der Methode, um eine Antwort zu veröffentlichen. Schauen Sie sich den Link an. Ich hoffe das hilft.
Makro

1

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


Willkommen im Lebenslauf und vielen Dank für Ihre großartige Antwort. Vielleicht können Sie Ihre Antwort verbessern, indem Sie den Githublink zusammenfassen.
Ferdi

1
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.
Eric Kamau

Wow. Das ist genial. Ich habe Ihre Antwort positiv bewertet. In Zukunft können Sie eine solche Beschreibung jedes Mal einfügen, wenn Sie einen Link freigeben.
Ferdi

0

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 ).


Eine andere Sache, wenn Sie bereits eine Reihe von Ketten haben, die jeweils lokal "konvergiert" zu sein scheinen, wäre, eine Art Wichtigkeits-Resampling aus der Kombination aller Ihrer Ketten durchzuführen. Da bin ich mir allerdings nicht sicher.
Mat

Willkommen im Forum Mat. Zögern Sie nicht, Ihre Antwort zu bearbeiten, um Ihre neuen Ideen hinzuzufügen, anstatt Ihre eigene Antwort zu kommentieren. Daran ist nichts auszusetzen :)
Brumar

0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.