Leistungsbenchmarks für MCMC

14

Wurden groß angelegte Studien zu MCMC-Methoden durchgeführt, in denen die Leistung mehrerer verschiedener Algorithmen für eine Reihe von Testdichten verglichen wurde? Ich denke an etwas, das dem von Rios und Sahinidis (2013) entspricht und einen gründlichen Vergleich einer großen Anzahl derivatfreier Black-Box-Optimierer für verschiedene Klassen von Testfunktionen darstellt.

Für MCMC kann die Leistung beispielsweise anhand der effektiven Anzahl von Proben (ESS) pro Dichtebewertung oder einer anderen geeigneten Metrik geschätzt werden.

Ein paar Kommentare:

  • Ich weiß, dass die Leistung stark von den Details des PDF-Ziels abhängt , aber ein ähnliches (möglicherweise nicht identisches) Argument gilt für die Optimierung, und dennoch gibt es eine Vielzahl von Benchmark-Funktionen, -Suiten, -Wettbewerben, -Papieren usw., die sich mit der Benchmarking-Optimierung befassen Algorithmen.

  • Es ist auch wahr, dass MCMC sich von der Optimierung dadurch unterscheidet, dass der Benutzer vergleichsweise viel mehr Sorgfalt und Abstimmung benötigt. Nichtsdestotrotz gibt es nun mehrere MCMC Methoden , die wenig oder keine Abstimmung erfordern: Methoden , die in der Burn-In - Phase anzupassen, während der Probennahme oder mit mehreren Zuständen (auch genannt ensemble Methoden (wie) Emcee ) daß Entwickeln mehr Ketten und die Verwendung interagieren Informationen von anderen Ketten als Leitfaden für die Probenahme.

  • Ich interessiere mich besonders für den Vergleich zwischen Standard- und Multi-State-Methoden (auch bekannt als Ensemble-Methoden). Informationen zur Definition von Multi-State finden Sie in Abschnitt 30.6 des MacKay-Handbuchs :

Bei einer Methode mit mehreren mehrere Parametervektoren beibehalten. sie entwickeln sich individuell unter Bewegungen wie Metropolis und Gibbs; Es gibt auch Wechselwirkungen zwischen den Vektoren.x

  • Diese Frage entstand von hier .

Aktualisieren

  • In diesem Blog-Beitrag von Bob Carpenter auf Gelmans Blog und in meinem Kommentar zu diesem CV-Beitrag finden Sie eine interessante Darstellung von Methoden mit mehreren Staaten, die auch als Ensemble bezeichnet werden .
lacerbi
quelle

Antworten:

5

Nach einigen Online-Recherchen bin ich auf den Eindruck gekommen, dass es keinen umfassenden Benchmark für etablierte MCMC-Methoden gibt, analog zu dem, was man in der Optimierungsliteratur finden kann. (Ich würde mich freuen, hier falsch zu liegen.)

Es ist einfach, Vergleiche einiger MCMC-Methoden zu bestimmten Problemen in einer angewandten Domäne zu finden. Dies wäre in Ordnung, wenn wir diese Informationen bündeln könnten. Die Qualität solcher Benchmarks ist jedoch häufig unzureichend (z. B. aufgrund mangelnder Messdaten oder unzureichender Designauswahl).

Im Folgenden werde ich die meiner Meinung nach wertvollen Beiträge veröffentlichen, sobald ich sie finde:

  • Nishihara, Murray und Adams, Parallel MCMC mit Generalized Elliptical Slice Sampling , JMLR (2014). Die Autoren schlagen eine neuartige Mehrzustandsmethode vor, GESS, und führen einen Vergleich mit 6 anderen Einzustands- und Mehrzustandsmethoden an 7 Testfunktionen durch. Sie bewerten die Leistung als ESS (Effective Sample Size) pro Sekunde und pro Funktionsbewertung.

  • SamplerCompare ist ein R-Paket mit dem Ziel, MCMC-Algorithmen zu vergleichen - genau das, was ich in meiner ursprünglichen Frage gefragt habe. Leider enthält das Paket nur wenige Testfunktionen; Das Begleitpapier enthält keine tatsächlichen Benchmarks (nur ein kleines Beispiel). und es scheint, dass es keine Follow-ups gegeben hat.

Thompson, Madeleine B. "Einführung in SamplerCompare." Journal of Statistical Software 43.12 (2011): 1-10 ( Link ).

  • In diesem Blog-Beitrag von Bob Carpenter auf Gelmans Blog und in meinem Kommentar zu diesem CV-Beitrag finden Sie eine interessante Darstellung von Methoden mit mehreren Staaten, die auch als Ensemble bezeichnet werden .
lacerbi
quelle
Ihr zweiter Link ist tot - können Sie ihn in einen funktionierenden Link ändern?
Tim
Vielleicht möchten Sie einen Blick auf dieses Paper vom Dezember 2017 werfen: Ryan Turner & Brady Neal, Wie gut funktioniert Ihr Sampler wirklich? Es scheint eine gute Lösung für genau dieses Problem zu sein, einen guten Benchmark für MCMC-Algorithmen zu finden.
Carl
2

Ich stimme Ihrer Einschätzung zu, dass für MCMC-Methoden keine umfassenden Benchmarks festgelegt wurden. Dies liegt daran, dass jeder MCMC-Sampler Vor- und Nachteile hat und äußerst problemspezifisch ist.

In einer typischen Bayes'schen Modellierung können Sie denselben Sampler mit unterschiedlichen Mischraten ausführen, wenn die Daten unterschiedlich sind. Ich würde so weit gehen zu sagen, dass ich, wenn es in Zukunft eine umfassende Benchmark-Studie zu verschiedenen MCMC-Probenehmern geben sollte, nicht darauf vertrauen würde, dass die Ergebnisse auch außerhalb der gezeigten Beispiele anwendbar sind.

Bezüglich der Verwendung von ESS zur Beurteilung der Probenahmequalität ist zu erwähnen, dass ESS von der Menge abhängt, die anhand der Probe geschätzt werden soll. Wenn Sie den Mittelwert der Stichprobe ermitteln möchten, unterscheidet sich der ermittelte ESS davon, wenn Sie das 25. Quantil schätzen möchten. Wenn die Höhe des Interesses jedoch feststeht, ist ESS eine vernünftige Methode zum Vergleichen von Probenehmern. Vielleicht ist ESS pro Zeiteinheit eine bessere Idee.

Ein Nachteil von ESS ist, dass ESS bei Problemen mit multivariaten Schätzungen eine effektive Stichprobengröße für jede Komponente separat zurückgibt, wobei alle Kreuzkorrelationen im Schätzprozess ignoriert werden. In diesem Artikel wurde kürzlich ein multivariates ESS vorgeschlagen und in RPaketen mcmcseüber die Funktion implementiert multiESS. Es ist unklar, wie diese Methode mit dem ESS des codaPakets verglichen wird , aber zu Beginn erscheint sie vernünftiger als univariate ESS-Methoden.

Greenparker
quelle
2
(+1) Danke für die Antwort. Ich bin mit einigen Ihrer Punkte einverstanden, aber ich denke immer noch, dass einige Informationen aus einem solchen Benchmark gewonnen werden könnten. Wie man die Ergebnisse solcher Benchmarks verwendet, um zukünftige Entscheidungen zu treffen, liegt an ihnen - aber einige Beweise sind besser als keine Beweise. Gute Punkte zu ESS. Mit "Multi-State" meine ich "Multi-State" (oder "Multi-Chain", wenn Sie es vorziehen), nicht einfach "Multivariate" - siehe das Zitat aus MacKays Buch in meiner ursprünglichen Frage.
Lacerbi
2
Im Allgemeinen ist bekannt, dass einige Sampler für multimodale Verteilungen (MH, Gibbs) eine schlechte Leistung erbringen, und einige sind für nicht-konvexe Unterstützung (Hamiltonian MC) schlecht. Auf der anderen Seite funktioniert Hamiltonian MC für hochdimensionale Probleme gut und für multimodale Verteilungen sind simulierte Temperierungen usw. gut. Um ein Benchmarking durchzuführen, müssen möglicherweise verschiedene breite Klassen von Zielverteilungen (subexponentiell, logarithmisch konkav usw.) definiert werden, damit die Ergebnisse allgemein interpretierbar sind.
Greenparker
1
Nun ja, das ist der springende Punkt beim Erstellen eines Benchmarks für eine Klasse von Algorithmen. Siehe zum Beispiel dies für die globale Optimierung. Es ist klar, dass ein Benchmark für MCMC nicht nur diejenigen ausleihen kann, die für die Optimierung existieren. Es besteht die Notwendigkeit, sich auf Merkmale der Zieldichten zu konzentrieren, die spezifisch, allgemein und für MCMC-Probleme von Interesse sind, wie die von Ihnen erwähnten.
Lacerbi