(interagendo) MCMC per posteriore multimodale


9

Sto provando a campionare da un posteriore con molte modalità particolarmente distanti tra loro usando MCMC. Sembra che nella maggior parte dei casi, solo una di queste modalità contenga il 95% di hpd che sto cercando. Ho cercato di implementare soluzioni basate sulla simulazione temperata, ma ciò non fornisce risultati soddisfacenti poiché in pratica passare da un "intervallo di acquisizione" all'altro è costoso.

Di conseguenza, mi sembra che una soluzione più efficiente sarebbe quella di eseguire molti MCMC semplici da diversi punti di partenza e di immergermi nella soluzione dominante facendo interagire gli MCMC. Sai se esiste un modo adeguato per attuare tale idea?

Nota: ho trovato quel documento http://lccc.eecs.berkeley.edu/Papers/dmcmc_short.pdf (catena di Markov distribuita Monte Carlo, Lawrence Murray) che sembra vicino a quello che sto cercando ma non capisco davvero il design della funzione .Rio

[EDIT]: la mancanza di risposte sembra indicare che non esiste una soluzione ovvia al mio problema iniziale (facendo interagire tra loro diversi MCMC provenienti dalla stessa distribuzione target da punti di partenza diversi). È vero ? perché è così complicato? Grazie


Sembra quello per cui ho usato "Population MCMC" in precedenza. Vedi "Stima dei fattori di Bayes tramite integrazione termodinamica e popolazione MCMC" di Calderhead e Girolami. Scusate se arriva un po 'tardi, ma forse altre persone apprezzeranno il riferimento!
Sam Mason,

Probabilmente lo stesso di Population MCMC è Sequential Monte Carlo.
Robert P. Goldman,

Risposte:


1

Prima di tutto, consiglierei di cercare un metodo migliore, o almeno un metodo con una descrizione più approfondita, dal momento che la "catena di Markov distribuita Monte Carlo" dal documento che si sta riferendo non sembra essere chiaramente dichiarata. I vantaggi e gli svantaggi non sono ben esplorati. C'è un metodo, che è apparso in arxiv abbastanza recentemente chiamato " Wormhole Hamiltonian Monte Carlo ", che consiglierei di controllare.

Tornando al documento a cui hai dato riferimento, la proposta remota è molto vaga. Nella parte relativa all'applicazione è descritto come "massima probabilità gaussiana rispetto ai campioni t / 2 precedenti". Forse questo significa che hai la media degli ultimi valori t / 2 della catena ? Un po 'difficile da indovinare con la scarsa descrizione fornita nel riferimento.i t hRio(θio)ioth

[AGGIORNAMENTO:] L'interazione tra diverse catene e l'applicazione di questa idea per campionare dalla distribuzione posteriore può essere trovata in metodi MCMC paralleli, ad esempio qui . Tuttavia, far funzionare diverse catene e costringerle ad interagire potrebbe non adattarsi al posteriore multimodale: ad esempio, se esiste una regione molto pronunciata in cui la maggior parte della distribuzione posteriore è concentrata, l'interazione delle catene può persino turbare le cose attenendosi a quello specifico regione e non esplorare altre regioni / modalità meno pronunciate. Pertanto, consiglio vivamente di cercare MCMC appositamente progettato per problemi multimodali. E se si desidera creare un altro / nuovo metodo, dopo aver appreso cosa è disponibile nel "mercato", è possibile creare un metodo più efficiente.


Grazie per l'aiuto. Questo non è del tutto quello che mi aspettavo, ma forse sto cercando cose irraggiungibili. Attualmente sto indagando (non sono sicuro di essere in grado di ricavare tutto ciò che è necessario da un MCMC Hamiltoniano), il cosiddetto MC freccette che ho trovato attraverso i tuoi riferimenti. Ti do la generosità, grazie ancora per i tuoi consigli.
peuhp,

@peuhp, Questo è strettamente correlato ai metodi Hamiltoniani di cui sopra, ma il campionatore Equi-Energy è un metodo MCMC che viene specificamente fatturato come metodo per distribuzioni posteriori multimodali. So che funziona avviando diverse catene parallele e consentendo salti tra catene ma non ho abbastanza conoscenza / esperienza con il metodo per pubblicare una risposta. Dai un'occhiata al link. Spero che questo possa essere d'aiuto.
Macro,

1

Dovresti provare multinest: https://arxiv.org/pdf/0809.3437.pdf https://github.com/JohannesBuchner/MultiNest È un motore di inferenza bayesiana che ti fornirà campioni di parametri per una distribuzione multimodale.

Il link github contiene codice sorgente multinest che si compila e si installa secondo le istruzioni. ha anche un wrapper in pitone che è più facile da usare. I codici di esempio hanno una sezione precedente che serve a limitare i parametri e una sezione di probabilità che contiene la tua probabilità. il file delle impostazioni contiene tutte le impostazioni e l'output multinest della cartella chain dopo il montaggio. ti darà dei campioni dei tuoi parametri


Benvenuto in CV e grazie per l'ottima risposta. Forse puoi migliorare la tua risposta riassumendo il Githublink.
Ferdi,

1
Il link github contiene codice sorgente multinest che si compila e si installa secondo le istruzioni. ha anche un wrapper in pitone che è più facile da usare. I codici di esempio hanno una sezione precedente che serve a limitare i parametri e una sezione di probabilità che contiene la tua probabilità. il file delle impostazioni contiene tutte le impostazioni e l'output multinest della cartella chain dopo il montaggio. ti darà dei campioni dei tuoi parametri.
Eric Kamau,

Wow. Questo è impressionante. Ho votato a favore della tua risposta. In futuro puoi includere tale descrizione ogni volta che condividi un link.
Ferdi,

0

Questo sembra essere un problema difficile e in corso nelle statistiche computazionali. Tuttavia, ci sono un paio di metodi meno avanzati che dovrebbero funzionare bene.

Supponiamo che tu abbia già trovato diverse modalità distinte del posteriore e sei felice che queste siano le modalità più importanti e che il posteriore attorno a queste modalità sia ragionevolmente normale. Quindi puoi calcolare la tela di iuta in queste modalità (diciamo, usando optim in R con la tela di iuta = T) e puoi approssimare il posteriore come una miscela di normali (o distribuzioni t). Vedi p318-319 in Gelman et al. (2003) "Bayesian Data Analysis" per i dettagli. Quindi è possibile utilizzare l'approssimazione normale / t-miscela come distribuzione della proposta in un campionatore di indipendenza per ottenere campioni dal pieno posteriore.

Un'altra idea, che non ho ancora provato, è Annealed Importance Sampling (Radford Neal, 1998, link qui ).


Un'altra cosa, se hai già un insieme di catene che sembrano avere "convergenti" localmente, sarebbe fare una sorta di ricampionamento di importanza dalla combinazione di tutte le tue catene. Non ne sono sicuro però.
Mat,

Benvenuti nel forum Mat. Non esitate a modificare la risposta per aggiungere nuove idee invece di commentare la propria risposta. Niente di sbagliato :)
brumar,

0

Che ne dici di provare un nuovo metodo MCMC per la multimodalità, un algoritmo Metropolis attraente e ripugnante ( http://arxiv.org/abs/1601.05633 )? Questo campionatore multimodale funziona con un singolo parametro di accordatura come un algoritmo Metropolis ed è semplice da implementare.

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.