Apakah ada sampler Monte Carlo / MCMC yang diimplementasikan yang dapat menangani maxima distribusi posterior lokal yang terisolasi?


10

Saat ini saya menggunakan pendekatan bayesian untuk memperkirakan parameter untuk model yang terdiri dari beberapa ODE. Karena saya memiliki 15 parameter untuk diperkirakan, ruang pengambilan sampel saya adalah 15-dimensi dan pencarian saya untuk distribusi posterior tampaknya memiliki banyak maxima lokal yang sangat terisolasi oleh daerah besar dengan probabilitas sangat rendah.

Hal ini menyebabkan masalah pencampuran rantai Monte Carlo saya karena sangat tidak mungkin satu rantai "melompat" dari satu maksimum lokal dan secara tidak sengaja mencapai salah satu dari maksimum lainnya.

Tampaknya ada banyak penelitian di bidang ini karena mudahnya menemukan makalah yang menangani masalah ini (lihat di bawah), tetapi menemukan implementasi yang sebenarnya sulit. Saya hanya menemukan paket yang berkaitan dengan dinamika molekuler, tetapi bukan inferensi bayesian. Apakah ada implementasi (MC) MC sampler yang dapat menangani maxima lokal terisolasi di luar sana?

Saya dipaksa untuk bekerja dengan Matlab karena itulah model ODE saya ditulis, jadi proposal tentang Matlab sangat disambut ;-). Namun jika ada "aplikasi pembunuh" dalam bahasa lain, mungkin saya bisa meyakinkan PI saya untuk beralih ;-).

Saya saat ini bekerja dengan sampler Monte Carlo Penolakan / Adaptive Tertunda yang ditulis oleh Haario, Laine et al. , dan itu juga satu-satunya sampler yang bisa saya temukan sejauh ini yang lebih canggih daripada algoritma Metropolis-Hastings standar


Pendekatan yang menonjol tampaknya adalah:

EDIT Diperbarui pada 2017-Mar-07 dengan apa yang telah saya pelajari sementara itu

Banyak rantai serupa dengan titik awal berbeda

Adaptasi Antar-Rantai. Gunakan matriks kovarians empiris dari sampel yang dikumpulkan yang dihasilkan oleh banyak rantai independen untuk memperbarui matriks kovarians dari distribusi proposal rantai. (1)

Banyak Chains dengan temper yang berbeda

Tempering: Semacam "suhu" tampaknya mengubah lanskap posterior, membuat pencampuran rantai lebih memungkinkan. (Saya belum banyak membahas hal ini) (1) Tujuan tempering adalah untuk meratakan lanskap probabilitas (dimensi tinggi) yang dibentuk oleh distribusi probabilitas posterior. Biasanya dilakukan dengan mengambil probabilitas posterior ke kekuatan , di mana lanskap posterior diratakan untuk (3, hal.298). Ini berarti, alih-alih menghitung probabilitas posterior dari keadaan , mengingat data probabilitas posterior marah dihitungT > 1 p ( θ D ) θ D1/TT>1hal(θD)θD

hal(θD)1/T(hal(Dθ)hal(θ))1/T

lebih tinggi dipilih, puncak yang lebih datar dan lebih luas dalam lanskap probabilitas menjadi. Oleh karena itu, nilai yang lebih tinggi mengarah pada probabilitas sampler yang lebih tinggi untuk beralih dari satu maksimum lokal ke yang lain. Namun, bukan distribusi posterior yang dicari jika . Oleh karena itu, rantai sampel distribusi tersebut harus digunakan untuk memungkinkan pengambilan sampel dari sesudahnya.T p ( q | D ) 1 / T T 1 p ( q | D )TThal(θD)1/TT1hal(θD)

Sampel dari distribusi posterior asli, yang tidak ditempa, diberikan sampel dari versi tempered dari distribusi yang dapat diperoleh dengan beberapa metode:

  • Metropolis ditambah MCMC Jalankan beberapa rantai secara bersamaan, masing-masing memiliki nilai berbeda tetapi konstan . Ganti status dua rantai secara probabilistik. Hanya gunakan sampel dari rantai dengan untuk estimasi hilir; rantai lainnya hanya memastikan bahwa semua puncak disampel. Ref. (4) memiliki algoritma paralel dan mengutip artikel konferensi dan buku teks untuk ide tersebut (5,6)T = 1TT=1

  • MCMC Dunia Kecil. Sampler beralih di antara dua proposal. Paling sering distribusi proposal dengan varians kecil digunakan, jarang proposal dengan varians besar digunakan. Pilihan antara kedua proposal ini bersifat stokastik. Proposal dengan varian besar juga dapat diambil dari rantai lain yang hanya membuat lompatan sangat besar, mengambil sampel sebanyak mungkin dari ruang sampel dengan cara kasar. (2,7)

Hamiltonian Monte Carlo (HMC)

Saya tidak tahu banyak tentang itu, tetapi No-U-Turn sampler (NUTS) dari JAGS tampaknya menggunakannya. Lihat referensi. (8) Alex Rogozhnikov telah membuat tutorial visual tentang topik tersebut.


Referensi:

(1) Craiu et al., 2009: Belajar Dari Tetangga-Mu: Rantai Paralel dan Adaptif Regional MCMC. J Am Stat Assoc 104: 488, hlm. 1454-1466. http://www.jstor.org/stable/40592353

(2) Guam et al., 2012: MCMC Dunia Kecil dengan temper: Ergocity dan gap spektral. https://arxiv.org/abs/1211.4675 ( hanya di arXiv )

(3): Brooks et al. (2011). Buku Pegangan Markov Chain Monte Carlo. Tekan CRC.

(4): Altekar et al. (2004): Paralel Metropolis digabungkan rantai Markov Monte Carlo untuk inferensi filogenetik Bayesian. Bioinformatika 20 (3) 2004, hlm. 407-415, http://dx.doi.org/10.1093/bioinformatics/btg427

(5): Geyer CJ (1991) Rantai Markov kemungkinan maksimum Monte Carlo. Dalam: Keramidas (ed.), Ilmu Komputasi dan Statistik: Prosiding Simposium ke-23 pada Antarmuka . Foundation Interface, Stasiun Fairfax, hlm. 156–163.

(6): Gilks ​​WR dan Roberts GO (1996). Strategi untuk meningkatkan MCMC. Dalam: Gilks ​​WR, Richardson S dan Spiegelhalter (eds) rantai Markov Monte Carlo dalam Praktek . Chapman & Hall, hal. 89-114.

(7): Guan Y, et al. Markov Chain Monte Carlo di dunia kecil. Statistik dan Komputasi (2006) 16 (2), hlm. 193-202. http://dx.doi.org/10.1007/s11222-006-6966-6

(8): Hoffmann M dan Gelman A (2014): The No-U-Turn Sampler: Secara Adaptif Mengatur Panjang Jalur di Hamiltonian Monte Carlo. Jurnal Penelitian Pembelajaran Mesin , 15, hlm. 1351-1381. https://arxiv.org/abs/1111.4246

Jawaban:


1

Tak satu pun dari strategi di atas sangat cocok untuk beberapa optima.

Pilihan yang lebih baik adalah MCMC Differential Evolution dan MCMC turunan seperti MIMPI. Algoritma ini bekerja dengan beberapa rantai MCMC yang dicampur untuk menghasilkan proposal. Jika Anda memiliki setidaknya satu rantai di setiap optima, mereka akan dapat melompat secara efisien di antara optima. Implementasi dalam R tersedia di sini https://cran.r-project.org/web/packages/BayesianTools/index.html

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.