Was sollte ich über das Entwerfen eines guten Hybrid / Hamilton-Monte-Carlo-Algorithmus wissen?


12

Ich entwerfe einen hybriden Monte-Carlo- Abtastalgorithmus für PyMC und versuche, ihn so unkompliziert und allgemein wie möglich zu gestalten. Daher suche ich nach guten Ratschlägen für den Entwurf eines HMC-Algorithmus. Ich habe Radfords Umfragekapitel gelesen und Beskos et. In dem kürzlich erschienenen Artikel von al. zur optimalen (schrittweisen) Abstimmung von HMC haben wir die folgenden Tipps zusammengestellt:

  • Impulsvariablen sollten mit der Kovarianz , wobei CC-1C im Allgemeinen so etwas wie die Kovarianzmatrix der Verteilung ist (für einfache Verteilungen), aber möglicherweise anders sein kann (für lustig geformte Verteilungen). Standardmäßig benutze ich den Hessischen im Modus.
  • Trajektorien sollten mit der leapfrog Methode berechnet werden (andere Integratoren scheinen es nicht wert zu sein)
  • Optimale Akzeptanzrate ist .651 für wirklich große Probleme und sonst höher.
  • Schrittgröße sollte so skaliert wird , wobei L eine freie Variable ist , und d ist die Anzahl der Dimensionen.L×d(1/4)Ld
  • Die Schrittgröße sollte kleiner sein, wenn es leichte Schwänze oder andere Bereiche mit ungeraden Stabilitätseigenschaften gibt. Die Zufallsauswahl der Schrittgröße kann dabei helfen.

Gibt es andere Ideen, die ich übernehmen oder zumindest in Betracht ziehen sollte? Andere Papiere, die ich lesen sollte? Gibt es beispielsweise adaptive Schrittgrößenalgorithmen, die sich lohnen? Gibt es gute Ratschläge zur Flugbahnlänge? Gibt es tatsächlich bessere Integratoren?

Jemand bitte mache dies zu einem Community-Wiki.

Antworten:


3

Dieses Papier ist sehr interessant (obwohl ich es noch nicht richtig verstanden habe),

Girolami M. Calderhead B. (2011) Riemanns vielfältige Langevin- und Hamilton-Monte-Carlo-Methoden. JR Statist. Soc. B. (mit Diskussion). 73, Teil 2. S. 1-37.


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.