Каковы некоторые известные улучшения по сравнению с алгоритмами MCMC из учебников, которые люди используют для байесовского вывода?


21

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

Я знаю, что существуют сотни и сотни специализированных методов, которые улучшаются по сравнению с этими вариантами учебников, но я обычно никогда не задумываюсь об их использовании / изучении. Обычно кажется, что это слишком много усилий, чтобы немного улучшить то, что уже работает очень хорошо.

Но недавно я подумал, может быть, нет новых общих методов, которые могли бы улучшить то, что я делал. Прошло много десятилетий с тех пор, как были открыты эти методы. Может быть, я действительно устарел!

Существуют ли известные альтернативы Метрополис-Гастингс?

  • достаточно легко реализовать,
  • универсально применимый, как MH,
  • и всегда улучшает результаты MH в некотором смысле (вычислительная производительность, точность и т. д.)?

Я знаю о некоторых очень специализированных улучшениях для очень специализированных моделей, но есть ли какие-то общие вещи, которые все используют, которых я не знаю?


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

@StasK, да, меня в основном интересуют байесовские модели и модели статистической физики (это просто байесовский вывод по распределениям, подобным Гиббсу, p (x) = 1 / Z exp (-E (x) / T)). Извините, что не упомянул об этом.
Рафаэль С. Калсаверини

3
(+1) Хорошо, хороший адаптивный алгоритм общего назначения, «недавно» опубликованный и уже реализованный на R, Python и Matlab, - вот и все . Это работает хорошо, но всегда полезно перепроверить другой метод. Кстати, MH реализован в пакете R mcmc . Конечно, есть много других, но большинство из них не реализованы на этом уровне общности и / или их трудно реализовать. Другой популярный район в настоящее время - Sequential Monte Carlo. Надеюсь, это поможет.

2
Вы, возможно, уже знаете это, но выборка срезов довольно проста в реализации и позволяет избежать некоторых ошибок типичного алгоритма «случайного блуждания» Метрополиса. Проблема с традиционными алгоритмами Метрополиса - поведение типа случайного блуждания; вместо того, чтобы целенаправленно двигаться в сторону хороших государств, они спотыкаются, медленно продвигаясь в хорошие районы. Это мотивация методов, которые используют информацию в градиенте, таких как HMC, но выборка срезов также попадает в этот лагерь и является более автоматической.
парень

1
Я почти ничего не знаю о ABC, но я был бы рад, если бы кто-нибудь мог немного объяснить различия между методами ABC и MCMC ...
Маноэль Галдино

Ответы:


20

Я не являюсь экспертом ни в одном из них, но я решил, что все равно выложу их, чтобы посмотреть, что думает сообщество. Исправления приветствуются.

Один из все более популярных методов, который не очень просто реализовать, называется гамильтоновым методом Монте-Карло (или иногда гибридным методом Монте-Карло). Он использует физическую модель с потенциальной и кинетической энергией для имитации шара, катящегося вокруг пространства параметров, как описано в этой статье Рэдфордом Нилом. Физическая модель требует значительного количества вычислительных ресурсов, поэтому вы, как правило, получаете гораздо меньше обновлений, но обновления, как правило, менее коррелированы. HMC - это движущая сила нового программного обеспечения STAN , которое разрабатывается как более эффективная и гибкая альтернатива BUGS или JAGS для статистического моделирования.

Существует также целый набор методов, которые включают в себя «нагревание» цепи Маркова, который можно представить как введение теплового шума в модель и увеличение шансов на выборку состояний с низкой вероятностью. На первый взгляд это кажется плохой идеей, поскольку вы хотите, чтобы модель производила выборку пропорционально апостериорной вероятности. Но на самом деле вы используете только «горячие» состояния, чтобы помочь цепочке лучше перемешаться. Фактические образцы собираются только тогда, когда цепь имеет "нормальную" температуру. Если вы делаете это правильно, вы можете использовать нагретые цепи, чтобы найти режимы, в которые не сможет попасть обычная цепь из-за больших долин с низкой вероятностью, блокирующих переход из режима в режим. Несколько примеров этих методов включают MCMC в метрополии ,, параллельное отпускание и отбор по важности отжига .

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

Надеюсь это поможет.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.