Алгоритмы MCMC, такие как выборка Метрополиса-Гастингса и Гиббса, являются способами отбора из совместных задних распределений.
Я думаю, что понимаю и могу реализовать мегаполисную поспешность довольно легко - вы просто каким-то образом выбираете отправные точки и «ходите по пространству параметров» случайным образом, руководствуясь апостериорной плотностью и плотностью предложений. Выборка Гиббса кажется очень похожей, но более эффективной, поскольку она обновляет только один параметр за раз, в то время как другие параметры остаются постоянными, эффективно перемещаясь по пространству ортогональным образом.
Для этого вам понадобится полное условие каждого параметра в аналитике от *. Но откуда эти полные условия?
Все примеры выборки Гиббса, которые я видел в Интернете, используют игрушечные примеры (например, выборка из многовариантной нормали, где условные выражения являются просто самими нормалями) и, похоже, уклоняются от этой проблемы.
* Или вам нужны полные условные выражения в аналитической форме? Как такие программы, как winBUGS, делают это?
Ответы:
Да, вы правы, условное распределение нужно найти аналитически, но я думаю, что есть много примеров, когда полное условное распределение легко найти и имеет гораздо более простую форму, чем совместное распределение.
Интуиция этого заключается в том, как следует, в большинстве «реалистическими» совместных распределения , большинство из X я «s , как правило , условно независимы от большинства других случайных величин. То есть некоторые переменные имеют локальные взаимодействия, скажем, X i зависит от X i - 1 и X i + 1 , но не взаимодействует со всем, поэтому условные распределения должны значительно упроститься как P r (P(X1,…,Xn) Xi Xi Xi−1 Xi+1 Pr(Xi|X1,…,Xi)=Pr(Xi|Xi−1,Xi+1)
источник
Я думаю, что вы упустили главное преимущество таких алгоритмов, как Metropolis-Hastings. Для выборки Гиббса вам нужно будет выполнить выборку из полных условных выражений. Вы правы, это редко легко сделать. Основное преимущество алгоритмов Метрополис-Гастингс состоит в том, что вы все еще можете выбирать один параметр за раз, но вам нужно знать только полные условия вплоть до пропорциональности. Это связано с тем, что знаменатели отменяются в функции критериев приемки
Такие программы, как WinBugs / Jags, обычно используют Metropolis-Hastings или шаги выборки срезов, которые требуют только условных выражений вплоть до пропорциональности. Они легко доступны из DAG. Учитывая сопряженность, они также иногда делают прямые шаги Гиббса или причудливые остановки блока.
источник