È stato implementato un campionatore Monte Carlo / MCMC in grado di gestire i massimi locali isolati della distribuzione posteriore?


10

Attualmente sto usando un approccio bayesiano per stimare i parametri per un modello costituito da diversi ODE. Dato che ho 15 parametri da stimare, il mio spazio di campionamento è di 15 dimensioni e la mia ricerca per distribuzione posteriore sembra avere molti massimi locali che sono molto isolati da grandi regioni con probabilità molto basse.

Ciò porta a mescolare i problemi delle mie catene Monte Carlo in quanto è molto improbabile che una catena "salti" da un massimo locale e colpisca accidentalmente uno degli altri massimi.

Sembra che ci siano molte ricerche in questo settore in quanto è facile trovare documenti che affrontano questo problema (vedi sotto), ma trovare un'implementazione effettiva è difficile. Ho trovato solo pacchetti relativi alla dinamica molecolare, ma non all'inferenza bayesiana. Esistono implementazioni di campionatori (MC) MC in grado di gestire i massimi locali isolati?

Sono costretto a lavorare con Matlab in quanto è quello in cui è scritto il mio modello ODE, quindi le proposte riguardanti Matlab sono benvenute ;-) Tuttavia, se esiste un'app killer in un'altra lingua, forse posso convincere il mio PI a cambiare ;-).

Attualmente sto lavorando con un campionatore Monte Carlo ritardato / adattivo scritto da Haario, Laine et al. , e questo è anche l'unico campionatore che ho trovato finora che è più sofisticato dell'algoritmo Metropolis-Hastings standard


Approcci notevoli sembrano essere:

EDIT Aggiornato il 2017-mar-07 con quello che ho imparato nel frattempo

Più catene simili con diversi punti di partenza

Adattamento tra catene. Utilizzare la matrice empirica di covarianza dei campioni aggregati generati da più catene indipendenti per aggiornare le matrici di covarianza delle distribuzioni di proposte della catena. (1)

Catene multiple con diverso rinvenimento

Rinvenimento: una sorta di "temperatura" sembra modificare il paesaggio posteriore, rendendo più probabile la miscelazione delle catene. (Non mi sono ancora immerso molto in questo) (1) Lo scopo del temperamento è quello di appiattire il paesaggio di probabilità (ad alta dimensione) formato dalla distribuzione di probabilità posteriore. Si ottiene comunemente portando la probabilità posteriore alla potenza di , dove il paesaggio posteriore viene appiattito per (3, p. 298). Ciò significa, invece di calcolare la probabilità posteriore di uno stato , dati viene calcolata la probabilità posteriore temperata1/TT>1p(θ|D)θD

p(θ|D)1/Tα(p(D|θ)p(θ))1/T

Viene scelta la più alta , diventano picchi più piatti e più ampi nel panorama delle probabilità. Pertanto, valori più alti di portano a una maggiore probabilità del campionatore di passare da un massimo locale a un altro. Tuttavia, non è la distribuzione posteriore cercata se . Pertanto, la catena di campioni di quella distribuzione deve essere utilizzata per abilitare il campionamento da seguito.TTp(θ|D)1/TT1p(θ|D)

I campioni della distribuzione posteriore originale, non temperata, dati i campioni da una versione temperata di quella distribuzione possono essere ottenuti con diversi metodi:

  • Metropoli accoppiato MCMC Run catene multiple simultaneamente, ciascuno avente un valore diverso ma costante per . Cambia probabilisticamente gli stati di due catene. Utilizzare solo i campioni della catena con per le stime a valle; le altre catene si assicurano solo che tutti i picchi vengano campionati. Ref. (4) ha un algoritmo parallelo e cita un articolo della conferenza e un libro di testo per l'idea (5,6)TT=1

  • MCMC del piccolo mondo. Il campionatore passa da una proposta all'altra. Molto spesso viene utilizzata una distribuzione di proposta con varianza ridotta, raramente viene utilizzata una proposta con varianza elevata. La scelta tra queste due proposte è stocastica. Proposte con grande varianza possono anche essere tratte da un'altra catena che fa solo salti molto grandi, campionando il più possibile lo spazio campione in modo approssimativo. (2,7)

Hamiltonian Monte Carlo (HMC)

Non ne so molto, ma il campionatore No-U-Turn (NUTS) di JAGS sembra usarlo. Vedi rif. (8). Alex Rogozhnikov ha creato un tutorial visivo sull'argomento.


Riferimenti:

(1) Craiu et al., 2009: Impara dal tuo vicino: catena parallela e MCMC adattivo regionale. J Am Stat Assoc 104: 488, pagg. 1454-1466. http://www.jstor.org/stable/40592353

(2) Guam et al., 2012: Small World MCMC con tempera: ergonomia e gap spettrale. https://arxiv.org/abs/1211.4675 ( solo su arXiv )

(3): Brooks et al. (2011). Manuale di Markov Chain Monte Carlo. CRC premere.

(4): Altekar et al. (2004): Parallel Metropolis ha accoppiato la catena di Markov Monte Carlo per l'inferenza filogenetica bayesiana. Bioinformatica 20 (3) 2004, pagg. 407–415, http://dx.doi.org/10.1093/bioinformatics/btg427

(5): Geyer CJ (1991) Markov chain Monte Carlo massima verosimiglianza. In: Keramidas (a cura di), Informatica e statistica: Atti del 23 ° Simposio sull'interfaccia . Foundation Interface, Fairfax Station, pagg. 156-163.

(6): Gilks ​​WR e Roberts GO (1996). Strategie per migliorare MCMC. In: Gilks ​​WR, Richardson S e Spiegelhalter (a cura di) Markov Chain Monte Carlo in Practice . Chapman & Hall, pag. 89-114.

(7): Guan Y, et al. Markov Chain Monte Carlo in piccoli mondi. Statistics and Computing (2006) 16 (2), pagg. 193-202. http://dx.doi.org/10.1007/s11222-006-6966-6

(8): Hoffmann M e Gelman A (2014): il campionatore senza inversione a U: impostazione adattiva della lunghezza del percorso in Monte Carlo Hamiltoniano. Journal of Machine Learning Research , 15, pagg. 1351-1381. https://arxiv.org/abs/1111.4246

Risposte:


1

Nessuna delle strategie sopra è particolarmente adatta per optima multipla.

Una scelta migliore sono MCMC Differential Evolution e MCMC derivati ​​come DREAM. Questi algoritmi funzionano con diverse catene MCMC che vengono miscelate per generare proposte. Se hai almeno una catena in ogni optima, saranno in grado di saltare in modo efficiente tra optima. Un'implementazione in R è disponibile qui https://cran.r-project.org/web/packages/BayesianTools/index.html

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.