Що я повинен знати про створення хорошого гібридного / гамільтонівського алгоритму Монте-Карло?


12

Я розробляю гібридний алгоритм вибірки Монте-Карло для PyMC , і я намагаюся зробити це максимально вільним і загальним, тому шукаю гарних порад щодо розробки алгоритму HMC. Я прочитав розділ опитування Радфорда та Beskos et. Нещодавній документ про оптимальну настройку HMC (розмір кроку), і я зібрав наступні поради:

  • Змінні імпульсу повинні бути розподілені за допомогою коваріації , де взагалі є чимось на зразок коваріаційної матриці розподілу (для простих розподілів), але, можливо, може бути іншим (для смішних розподілів). За замовчуванням я в режимі використовую гессіан.C1C
  • Траєкторії слід обчислювати методом стрибкоподібної жаби (інші інтегратори, здається, не варті цього)
  • Оптимальна швидкість прийняття становить .651 для дійсно великих проблем і в іншому випадку вище.
  • Розмір кроку слід масштабувати як , де - вільна змінна, - кількість вимірів.L×d(1/4)Ld
  • Розмір кроку повинен бути меншим, якщо є легкі хвости або в інших регіонах з непарними характеристиками стійкості. У цьому може допомогти рандомізація розміру кроків.

Чи є інші ідеї, які я повинен прийняти або принаймні розглянути? Інші папери, які я повинен прочитати? Наприклад, чи є алгоритми адаптивного розміру кроків, які того варті? Чи є хороша порада щодо довжини траєкторії? Чи є насправді кращі інтегратори?

Хтось, будь ласка, зроби це спільнотою вікі.

Відповіді:


3

Цей документ дуже цікавий (хоча я ще не повністю обійняв його головою),

Гіроламі М. Калдерхед Б. (2011) Ріманн багатоманітно методів Лангевіна та Гамільтоніана Монте-Карло. JR Statist. Соц. Б. (з обговоренням). 73, ч. 2. С. 1-37.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.