Откуда берутся полные условия в выборке Гиббса?

15

Алгоритмы MCMC, такие как выборка Метрополиса-Гастингса и Гиббса, являются способами отбора из совместных задних распределений.

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

Для этого вам понадобится полное условие каждого параметра в аналитике от *. Но откуда эти полные условия?

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
Чтобы получить знаменатель, вы должны маргинализировать сустав поx1. Это кажется большой работой, которую нужно выполнить аналитически, если есть много параметров, и может не быть отслеживаемой, если совместное распределение не очень «хорошо». Я понимаю, что если вы используете сопряжение во всей модели, полные условия могут быть простыми, но для более общих ситуаций должен быть лучший способ.

Все примеры выборки Гиббса, которые я видел в Интернете, используют игрушечные примеры (например, выборка из многовариантной нормали, где условные выражения являются просто самими нормалями) и, похоже, уклоняются от этой проблемы.

* Или вам нужны полные условные выражения в аналитической форме? Как такие программы, как winBUGS, делают это?

cespinoza
источник
1
Выборка Гиббса обычно менее эффективна, чем Metropolis-Hastings, потому что она проходит по одному измерению за раз ...
Сиань
Гиббс выборки является более эффективным на каждом отдельном этапе, но , возможно , потребуется ужасно много больше шагов для сближения - и в конечном итоге менее эффективным для хорошего общего результата.
Лутц Пречелт

Ответы:

7

Да, вы правы, условное распределение нужно найти аналитически, но я думаю, что есть много примеров, когда полное условное распределение легко найти и имеет гораздо более простую форму, чем совместное распределение.

Интуиция этого заключается в том, как следует, в большинстве «реалистическими» совместных распределения , большинство из X я «s , как правило , условно независимы от большинства других случайных величин. То есть некоторые переменные имеют локальные взаимодействия, скажем, X i зависит от X i - 1 и X i + 1 , но не взаимодействует со всем, поэтому условные распределения должны значительно упроститься как P r (P(X1,,Xn)XiXiXi1Xi+1Pr(Xi|X1,,Xi)=Pr(Xi|Xi1,Xi+1)

gabgoh
источник
Pr(Xi|Xi1,Xi+1)
3
Их не нужно искать аналитически. Например, все полные условия пропорциональны совместному распределению. И это все, что нужно для Метрополис-Гастингс.
Тристан
1
@ Тристан конечно. Я, однако, говорю о выборке Гиббса.
Габго
1
Их не нужно искать аналитически для отбора проб Гиббса. Вам просто нужно как-то сэмплировать из условного; можете ли вы записать, как это сделать в довольно аналитическом утверждении, не имеет значения.
Гость
1
На самом деле, нет необходимости в аналитическом полном условном выражении: все, что требуется для реализации выборки Гиббса, - это возможность моделирования из полных условных выражений.
Сиань
11

Я думаю, что вы упустили главное преимущество таких алгоритмов, как Metropolis-Hastings. Для выборки Гиббса вам нужно будет выполнить выборку из полных условных выражений. Вы правы, это редко легко сделать. Основное преимущество алгоритмов Метрополис-Гастингс состоит в том, что вы все еще можете выбирать один параметр за раз, но вам нужно знать только полные условия вплоть до пропорциональности. Это связано с тем, что знаменатели отменяются в функции критериев приемки

P(x1|x2,...,xn)P(x1,...,xn)

Такие программы, как WinBugs / Jags, обычно используют Metropolis-Hastings или шаги выборки срезов, которые требуют только условных выражений вплоть до пропорциональности. Они легко доступны из DAG. Учитывая сопряженность, они также иногда делают прямые шаги Гиббса или причудливые остановки блока.

Тристан
источник
1
Эй спасибо Я думаю, что точка зрения о том, что для метрополии-Гастингса не требуется нормативная константа, является именно той информацией, которая мне была необходима, чтобы понять все это. Я думаю, поскольку GS в WinBUGS обозначает выборку gibbs, у меня сложилось впечатление, что gibbs заменил MH и что программное обеспечение использовало исключительно gibbs.
цеспиноза
3
Термин «выборка по Гиббсу» часто используется для обозначения выборки по одному параметру за раз, даже если вы не используете первоначальную идею выборки непосредственно из полных условных выражений. Все программное обеспечение последовательно выбирает отдельные параметры или блоки параметров, но фактический тип шага сильно зависит от того, что работает лучше всего.
Тристан
2
Практически всякий раз, когда вы можете реализовать Gibbs, вы также можете реализовать альтернативы Metropolis-Hastings. Более высокая эффективность достигается за счет смешивания обоих подходов.
Сиань
Это должно быть имхо принятым ответом.
NoBackingDown