Cosa dovrei sapere sulla progettazione di un buon algoritmo Monte Carlo ibrido / hamiltoniano?


12

Sto progettando un algoritmo di campionamento ibrido Monte Carlo per PyMC e sto cercando di renderlo il più semplice e generale possibile, quindi sto cercando buoni consigli sulla progettazione di un algoritmo HMC. Ho letto il capitolo del sondaggio di Radford e Beskos et. Il recente articolo di al. sull'ottimizzazione ottimale (dimensioni del gradino) di HMC e ho raccolto i seguenti suggerimenti:

  • Le variabili del momento dovrebbero essere distribuite con la covarianza , dove C è generalmente qualcosa di simile alla matrice di covarianza della distribuzione (per distribuzioni semplici), ma potrebbe essere concepibilmente differente (per distribuzioni a forma di divertente). Di default sto usando l'assia alla modalità.C1C
  • Le traiettorie dovrebbero essere calcolate con il metodo leapfrog (altri integratori non sembrano valerne la pena)
  • Il tasso di accettazione ottimale è .651 per problemi molto grandi e comunque più elevati.
  • Step size dovrebbe essere scalata come , dove L è una variabile libera e d è il numero di dimensioni.L×d(1/4)Ld
  • La dimensione del gradino dovrebbe essere inferiore quando vi sono code leggere o comunque regioni con strane caratteristiche di stabilità. La randomizzazione della dimensione del passo può aiutare in questo.

Ci sono altre idee che dovrei adottare o almeno prendere in considerazione? Altri articoli che dovrei leggere? Ad esempio, ci sono algoritmi adattativi di dimensione del passo che ne valgono la pena? Ci sono buoni consigli sulla lunghezza della traiettoria? Esistono davvero integratori migliori?

Qualcuno, per favore, trasformalo in un wiki della community.

Risposte:


3

Questo documento è molto interessante (anche se non ho ancora capito bene),

Girolami M. Calderhead B. (2011) Riemann varietà Langevin e Hamiltonian Monte Carlo metodi. Statista JR. Soc. B. (con discussione). 73, parte 2. pp 1-37.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.