Які деякі вдосконалення щодо алгоритмів підручника MCMC, які люди використовують для байєсівського висновку?


21

Коли я кодую імітацію Монте-Карло для якоїсь проблеми, і модель досить проста, я використовую дуже базовий вибірковий зразок підручника Гіббса. Коли неможливо використовувати вибірку Гіббса, я кодую підручник «Метрополіс-Гастінгс», про який я дізнався роки тому. Єдина думка, яку я йому приділяю, - це вибір стрибкового розподілу або його параметрів.

Я знаю, що існують сотні і сотні спеціалізованих методів, які вдосконалюються в порівнянні з тими підручниками, але зазвичай я ніколи не замислююся над тим, щоб використовувати / вивчати їх. Зазвичай відчувається, що це занадто багато зусиль, щоб трохи покращити те, що вже працює дуже добре.

Але останнім часом я замислювався, чи, можливо, немає нових загальних методів, які можуть покращити те, що я робив. Минуло багато десятиліть з тих пір, як ці методи були виявлені. Можливо, я справді застарів!

Чи існують відомі альтернативи Метрополісу-Гастінгсу, які є:

  • досить легко здійснити,
  • настільки ж універсально, як MH,
  • і завжди в деякому сенсі покращує результати MH (обчислювальна продуктивність, точність тощо)?

Я знаю про деякі дуже спеціалізовані вдосконалення для дуже спеціалізованих моделей, але чи є якісь загальні речі, якими користуються всі, які я не знаю?


1
Ви маєте на увазі ланцюжок Маркова Монте-Карло? У підручнику вдосконалення моделювання в Монте-Карло, які, на мою думку, можна назвати антитетичними та / або стратифікованими пробами, а також квазі-Монте-Карло. Однак ваша згадка лише про Гіббса та Метрополіс-Гастінгс свідчить про байєсівські обчислення.
Стаск

@StasK, Так, мене в основному цікавлять байєсові моделі та статистичні моделі фізики (що є лише байєсівським висновком на гіббсоподібних розподілах p (x) = 1 / Z exp (-E (x) / T)). Вибачте за те, що не зазначив цього.
Рафаель С. Кальсаверіні

3
(+1) Гаразд, хороший адаптивний алгоритм загального призначення "нещодавно", опублікований і вже впроваджений в R, Python та Matlab - це обрив . Це добре, але це завжди хороша практика двічі перевірити, використовуючи інший метод. BTW, MH реалізований в пакеті mcmc . Звичайно, існує багато інших, але більшість з них не реалізовані на такому рівні загальності та / або їх важко реалізувати. Інша популярна сьогодні область - Послідовний Монте-Карло. Я сподіваюся, що це допомагає.

2
Ви, можливо, вже знаєте це, але вибірку зрізів досить легко здійснити і дозволяє уникнути деяких підводних каменів типового алгоритму Metropolis "випадковою прогулянкою". Проблема з традиційними алгоритмами Metropolis - поведінка типу «випадковий прогулянок»; замість того, щоб цілеспрямовано рухатися до добрих станів, вони спотикаються, повільно рухаючись до хороших областей. Це мотивація методів, які використовують інформацію в градієнті, наприклад, HMC, але вибірка зрізів також потрапляє в цей табір і є більш автоматичною.
хлопець

1
Я майже нічого не знаю про ABC, але був би радий, якби хто-небудь міг трохи пояснити відмінності між методами ABC та MCMC ...
Manoel Galdino

Відповіді:


20

Я не знаю жодного з них, але я думав, що все-таки викладу їх там, щоб побачити, що думає громада. Виправлення вітаються.

Один дедалі популярніший метод, який не дуже просто здійснити, називається Гамільтоніаном Монте-Карло (або іноді гібридом Монте-Карло). Він використовує фізичну модель з потенційною та кінетичною енергією для імітації кулі, що котиться навколо простору параметрів, як описано в цій роботі Radford Neal. Фізична модель займає неабияку кількість обчислювальних ресурсів, тому ви, як правило, отримуєте набагато менше оновлень, але оновлення, як правило, є менш корельованими. HMC є двигуном нового програмного забезпечення STAN , яке розробляється як більш ефективна і гнучка альтернатива BUGS або JAGS для статистичного моделювання.

Існує також цілий комплекс методів, які передбачають "нагрівання" ланцюга Маркова, який можна подумати як введення в модель теплового шуму та збільшення шансів на вибірку станів з низькою ймовірністю. На перший погляд, це здається поганою ідеєю, оскільки ви хочете, щоб модель відбирала вибірку пропорційно до задньої ймовірності. Але ви фактично лише використовуєте «гарячі» стану, щоб допомогти ланцюгу краще змішатися. Фактичні зразки збираються лише тоді, коли ланцюг знаходиться на «нормальній» температурі. Якщо ви це зробите правильно, ви можете використовувати нагріті ланцюги, щоб знайти режими, до яких звичайна ланцюг не змогла б дістатися через великі долини з низькою ймовірністю, що блокують перехід від режиму до режиму. Кілька прикладів цих методів включають MCMC , пов'язаний з Metropolis ,, паралельне загартування та відібране значення відбору проб .

Нарешті, ви можете використовувати послідовну Монте-Карло або фільтрування частинок, коли швидкість відхилення буде настільки високою, що всі інші методи не зможуть. Я щонайменше знаю про це сімейство методів, тому мій опис тут може бути невірним , але я розумію, що він працює так. Ви починаєте, запускаючи улюблений пробовідбірник, навіть якщо шанси на відхилення по суті є одним. Замість того, щоб відхиляти всі ваші зразки, ви вибираєте найменш заперечні з них і ініціалізуєте звідти нові пробовідбірники, повторюючи процес, поки не знайдете зразки, які ви насправді можете прийняти. Потім ви повертаєтесь назад і виправляєте те, що ваші зразки були невипадковими, оскільки ви не ініціалізували пробовідбірники з випадкових локацій.

Сподіваюсь, це допомагає.

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