Benchmark prestazionali per MCMC


14

Ci sono stati studi su larga scala dei metodi MCMC che hanno confrontato le prestazioni di diversi algoritmi su una suite di densità di test? Sto pensando a qualcosa di equivalente al documento di Rios e Sahinidis (2013), che è un confronto approfondito di un gran numero di ottimizzatori della scatola nera privi di derivati ​​su diverse classi di funzioni di test.

Per MCMC, le prestazioni possono essere stimate, ad esempio, in un numero effettivo di campioni (ESS) per valutazione della densità o in qualche altra metrica appropriata.

Alcuni commenti:

  • Apprezzo che le prestazioni dipenderanno fortemente dai dettagli del pdf di destinazione, ma un argomento simile (forse non identico) vale per l'ottimizzazione, e tuttavia esiste una pletora di funzioni di benchmark, suite, competizioni, documenti, ecc. Che si occupa dell'ottimizzazione del benchmarking algoritmi.

  • Inoltre, è vero che MCMC differisce dall'ottimizzazione in quanto, comparativamente, sono necessarie molta più cura e messa a punto da parte dell'utente. Tuttavia, ora ci sono diversi metodi MCMC che richiedono poca o nessuna messa a punto: metodi che si adattano nella fase di burn-in, durante il campionamento o metodi multi-stato (chiamati anche ensemble ) (come Emcee ) che evolvono più catene interagenti e utilizzano informazioni da altre catene per guidare il campionamento.

  • Sono particolarmente interessato al confronto tra metodi standard e multistato (aka ensemble). Per la definizione di multistato, consultare la Sezione 30.6 del libro di MacKay :

In un metodo multi-stato, vengono mantenuti più vettori di parametri X ; si evolvono individualmente con mosse come Metropolis e Gibbs; ci sono anche interazioni tra i vettori.

  • Questa domanda è nata da qui .

Aggiornare

  • Per un'interessante interpretazione dei metodi degli ensemble multistato aka, vedere questo post di Bob Carpenter sul blog di Gelman e il mio commento in riferimento a questo post del CV.

Risposte:


5

Dopo alcune ricerche online, ho avuto l'impressione che non esista un benchmark completo dei metodi MCMC consolidati, analogo a quello che si può trovare nella letteratura sull'ottimizzazione. (Sarei felice di sbagliarmi qui.)

È facile trovare confronti di alcuni metodi MCMC su problemi specifici all'interno di un dominio applicato. Ciò andrebbe bene se potessimo mettere in comune queste informazioni, tuttavia la qualità di tali parametri di riferimento è spesso insufficiente (ad esempio, a causa della mancanza delle metriche riportate o delle scelte di progettazione inadeguate).

Di seguito posterò quelli che ritengo siano contributi preziosi come li trovo:

  • Nishihara, Murray e Adams, MCMC parallelo con campionamento ellittico generalizzato della fetta , JMLR (2014). Gli autori propongono un nuovo metodo multi-stato, GESS, ed eseguono un confronto con altri 6 metodi a stato singolo e multi-stato su 7 funzioni di test. Valutano le prestazioni come ESS (Effective Sample Size) al secondo e per valutazione della funzione.

  • SamplerCompare è un pacchetto R con l'obiettivo di confrontare gli algoritmi MCMC - esattamente quello che stavo chiedendo nella mia domanda originale. Sfortunatamente, il pacchetto contiene solo alcune funzioni di test; il documento di accompagnamento non riporta parametri di riferimento reali (solo un piccolo esempio); e sembra che non ci siano stati follow-up.

Thompson, Madeleine B. "Introduzione a SamplerCompare." Journal of Statistical Software 43.12 (2011): 1-10 ( link ).

  • Per un'interessante interpretazione dei metodi degli ensemble multistato aka, vedere questo post di Bob Carpenter sul blog di Gelman e il mio commento in riferimento a questo post del CV.

Il tuo secondo link è morto - potresti cambiarlo in uno funzionante?
Tim

Potresti dare un'occhiata a questo articolo di dicembre 2017: Ryan Turner e Brady Neal, quanto funziona davvero il tuo campionatore? Sembra fornire una soluzione chiara esattamente a questo problema di trovare un buon punto di riferimento per gli algoritmi MCMC.
Carl,

2

Concordo con la tua valutazione secondo cui non sono stati stabiliti parametri di riferimento completi per i metodi MCMC. Questo perché ogni campionatore MCMC ha vantaggi e svantaggi e sono estremamente specifici del problema.

In una tipica impostazione di modellazione bayesiana, è possibile eseguire lo stesso campionatore con diverse velocità di miscelazione quando i dati sono diversi. Vorrei dire che se in futuro dovesse emergere uno studio comparativo completo di vari campionatori MCMC, non mi fiderei che i risultati siano applicabili al di fuori degli esempi mostrati.

Per quanto riguarda l'uso di ESS per valutare la qualità del campionamento, vale la pena ricordare che ESS dipende dalla quantità che deve essere stimata dal campione. Se si desidera trovare la media del campione, l'ESS ottenuto sarà diverso da se si desidera stimare il 25 ° quantile. Detto questo, se la quantità di interesse è fissa, ESS è un modo ragionevole di confrontare i campionatori. Forse un'idea migliore è ESS per unità di tempo.

Un difetto con ESS è che per problemi di stima multivariata, ESS restituisce una dimensione del campione efficace per ciascun componente separatamente, ignorando tutte le correlazioni incrociate nel processo di stima. In questo documento recentemente, è stato proposto un ESS multivariato e implementato in Rpacchetti mcmcsetramite la funzione multiESS. Non è chiaro come questo metodo sia comparabile all'ESS del codapacchetto, ma all'inizio sembra più ragionevole dei metodi ESS univariati.


2
(+1) Grazie per la risposta. Sono d'accordo con alcuni dei tuoi punti, ma penso ancora che alcune informazioni potrebbero essere ottenute da un simile punto di riferimento. Il modo in cui uno utilizza i risultati di tali parametri di riferimento per guidare le scelte future dipende da loro - ma alcune prove sono meglio di nessuna prova. Aspetti positivi su ESS. Per multi-stato intendo multi-stato (o multi-catena, se preferisci), non semplicemente multivariato - vedi la citazione dal libro di MacKay nella mia domanda originale.
lacerbi,

2
In generale, è noto che alcuni campionatori hanno prestazioni scarse per le distribuzioni multimodali (MH, Gibbs) e alcuni sono dannosi per il supporto non convesso (Hamiltonian MC). D'altra parte, per problemi di dimensioni elevate Hamiltonian MC funziona bene e per le distribuzioni multimodali il temperamento simulato ecc. È buono. Per eseguire qualsiasi benchmarking, potrebbe essere necessario definire diverse ampie classi di distribuzioni target (sub-esponenziali, log concave ecc.) Affinché i risultati siano interpretabili in generale.
Greenparker

1
Bene, sì, questo è il punto centrale della costruzione di un punto di riferimento per una classe di algoritmi. Vedi ad esempio questo per l'ottimizzazione globale. Chiaramente un benchmark per MCMC non può semplicemente prendere in prestito quelli esistenti per l'ottimizzazione; è necessario concentrarsi sulle caratteristiche delle densità target specifiche, comuni e di interesse per i problemi MCMC, come quelli menzionati.
Lacerbi,
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.