Hamiltonian / Hybrid MCMC 'Massenmatrix'-Terminologie

8

Ich versuche, HMC mit einer nicht diagonalen Massenmatrix zu implementieren, aber ich werde von einigen Begriffen gestolpert.

Laut BDA3 und Neals Bericht ist der kinetische Energiebegriff (der meiner Meinung nach aus Bequemlichkeitsgründen immer verwendet wird)

K(p)=pTM1p2.

Dies ist auch als multivariate Normalen mit dem Mittelwert Null und der Kovarianzmatrix erkennbar . BDA3 (S. 301) sagtM

Um es einfach zu halten, verwenden wir üblicherweise eine diagonale Massenmatrix M. Wenn ja, sind die Komponenten von φ unabhängig, wobei φj ∼ N (0, Mjj) für jede Dimension j = 1 ,. . . d. Es kann für M nützlich sein, grob mit der inversen Kovarianzmatrix der posterioren Verteilung (var (θ | y)) ^ - 1 zu skalieren.

(Ich lese N (0, M)) als multivariate Normalen mit Mittelwert Null und Kovarianz M.)

Der Teil, der mich auslöst, besagt, dass "es für nützlich sein kann , grob mit der inversen Kovarianzmatrix der posterioren Verteilung zu skalieren ...". M

Und dann auch noch kurz vor , dass die Dynamik Probe, die die Leapfrog Schritte beginnt ( ) mit aus einer multivariaten Normal gezogen Kovarianz Matrix . M.ϕM

Also was ist es? Schätze ich die Kovarianz- oder Präzisionsmatrix des Seitenzahns, um ein gutes M für HMC zu konstruieren? Obwohl die Kovarianzmatrix der kinetischen Energie ist, ergibt die Verwendung eines , das eine Schätzung der Präzisionsmatrix des Seitenzahns darstellt, einen effizienteren Algorithmus?M.MM

Sekundäre Frage: Was ist die Intuition, die mich hierher führen könnte?

  • Möchten Sie eine Präzisionsmatrix verwenden, damit der Impuls orthogonal zum Potential / Posterior drückt, um das Mischen zu verbessern?

  • ODER möchten Sie, dass der Impuls in Richtung des Massenteils mit hoher Wahrscheinlichkeit des Seitenzahns geht (weil Sie dort die meisten Proben ziehen möchten).

ps Der Grund, warum ich die Identitätsmatrix für ist, dass ich für mein Problem in der Lage bin, vorher eine anständige Schätzung der Kovarianzmatrix meines ziemlich hochdimensionalen (~ 1000) posterioren zu erhalten.M

bill_e
quelle

Antworten:

6

Eine lineare Transformation der Positionsvariablen entspricht der inversen linearen Transformation der Impulsvariablen. Idealerweise möchten Sie eine Stichprobe aus einer (transformierten) Verteilung ziehen, deren Kovarianzmatrix die Identitätsmatrix ist. Diese wird durch die oben angegebene Transformation erhalten.

Für Details gibt es eine schöne Erklärung in Neals "MCMC using Hamiltonian Dynamics", Kapitel 5 des Handbuchs der Markov-Kette Monte Carlo , Abschnitt 4.1 ("Effekt linearer Transformationen"). Das Kapitel finden Sie hier .

Neal erklärt:

Nehmen wir an, wir haben eine Schätzung der Kovarianzmatrix für und nehmen auch an, dass mindestens eine ungefähr Gaußsche Verteilung hat. Wie können wir diese Informationen verwenden, um die Leistung von HMC zu verbessern? Eine Möglichkeit besteht darin, die Variablen so zu transformieren, dass ihre Kovarianzmatrix nahe an der Identität liegt, indem die Cholesky-Zerlegung , wobei ein niedrigeres Dreieck ist, und gelassen wird . [ ]q q Σ = L L T L q = L - 1 q ΣqqΣ=LLTLq=L1q

Ein äquivalenter Weg, die geschätzte Kovarianz besteht darin, die ursprünglichen Variablen , aber die kinetische Energiefunktion - dh wir lassen die Impulsvariablen Kovarianz . Die Äquivalenz kann gesehen werden, indem diese kinetische Energie so transformiert wird, dass sie einer Transformation zu (siehe Gleichung (4.1)), die ergibt mit .q K ( p ) = p T Σ p / 2 Σ - 1 q ' = L - 1 q K ( p ' ) = ( p ' ) T M ' - 1 p ' M ' = ( L - 1 ( L L. T ) ( L - 1 ) T ) - 1ΣqK(p)=pTΣp/2Σ1q=L1qK(p)=(p)TM1pM=(L1(LLT)(L1)T)1=I

Nehmen wir zur Verdeutlichung an, dass das Ziel-PDF zigarrenförmig ist und in eine Richtung zeigt, die nicht achsenausgerichtet ist. Sie können den Raum entweder drehen und neu skalieren, so dass die Zigarre zu einer Kugel wird, und dann Impulse aus einer multivariaten Normaleinheit ziehen, oder Sie können den ursprünglichen Raum beibehalten und Ihre Impulse so zeichnen, dass sie mit der Zigarre ausgerichtet sind (z. mit dem größten Teil der Geschwindigkeit entlang der Hauptachse der Zigarre, damit Sie sie schnell erkunden können).

Lacerbi
quelle
Ich muss gestehen, dass ich das gelesen habe (ein paar Mal) und mich dann entschlossen habe, diese Frage zu stellen ... Wenn Sie Neals Erklärung dort mit meinen Fragen verbinden können, erhalten Sie alle Punkte
bill_e
@bill_e: Ihre erste Frage wurde oben vollständig beantwortet: "Wir lassen die Impulsvariablen Kovarianz haben ". Also ja, . Die Antwort auf die zweite Frage lautet, dass Sie senden möchten, damit die Verteilung der Impulse auf die Achsen der Kovarianzmatrix ausgerichtet ist (was einer Neuparametrisierung des ursprünglichen Raums entspricht, sodass die Kovarianzmatrix ist Die Identität). M = Σ - 1 p L T pΣ1M=Σ1pLTp
Lacerbi
Veröffentlichte Schritte einer Implementierung davon, nur um kristallklar zu sein. Ist es richtig? Ganz speziell die Umkehrung (oder das Fehlen) von . Ja, die Zigarrensache macht Sinn. Ich werde mehr darüber nachdenken. Σ^
bill_e
4

Ein einfacher Weg, um herauszufinden, warum die inverse Kovarianz der Verteilung sein sollte, aus der Sie eine Stichprobe erstellen möchten, besteht darin, eine Stichprobe aus einer multivariaten Normalen mit dem aribiträren Mittelwert und der Kovarianz . In diesem Fall können die Hamiltonschen Bewegungsgleichungen genau gelöst werden (dh es ist keine Sprungintegration erforderlich). Für passieren nun zwei magische Dinge: (i) die Bewegungsgleichungen für jede Koordinate entkoppeln sich vom Rest, und (ii) die Matrizen und heben sich gegenseitig auf und verschwinden aus den Gleichungen der Bewegung. Die Lösung ist ein Satz von Oszillatoren mit gleicher Frequenz, von denen argumentiert werden kann, dass sie das schnellstmögliche Mischen ergeben. Siehe einige Details in den Gleichungen (2.31) - (2.35)μ Σ M = Σ - 1 Σ M.MμΣM=Σ1ΣMhier .

In einer generischen Verteilung wäre dieser Ansatz nur eine Annäherung.

Aripakman
quelle
0

Wesentlicher Teil des linear transformierenden Impulses unter Verwendung der geschätzten Kovarianz.

Bei einer Schätzung der Kovarianzmatrix der posterioren HMC ist eine Stichprobe von:Σ^

  1. ZeichneϕN.(0,Σ^- -1)

  2. Simulieren Sie die Hamiltonsche Dynamik. (L-mal wiederholen)

    A. Halber Schritt: .ϕϕ+12ϵddθlÖGp(θy)

    B. Vollständiger Schritt: .θθ+ϵΣ^ϕ

    C. Halber Schritt: .ϕϕ+12ϵddθlÖGp(θy)

  3. Annehmen ablehnen.

(Wenn dies richtig ist, stimme nicht zu, stimme @lacerbi zu)

bill_e
quelle
1
subbed fürΣM1Σ^
bill_e
Ja, ich denke das ist richtig. Siehe zum Beispiel Gl. (4) dieses Papiers .
Lacerbi