MCMC в ограниченном пространстве параметров?


18

Я пытаюсь применить MCMC к проблеме, но мои априоры (в моем случае это α[0,1],β[0,1] )) ограничены областью? Могу ли я использовать обычный MCMC и игнорировать выборки, которые выходят за пределы запрещенной зоны (которая в моем случае равна [0,1] ^ 2), то есть повторно использовать функцию перехода, когда новый переход выпадает из ограниченной (ограниченной) области?



@ Zen, я не совсем уверен, но ответ, предложенный Сианем, заключается в том, чтобы подвыборать, но вместо использования MH, использовать сэмплер Гиббса и повторить, если одно из значений измерения превышает границу, я прав?
Купитор

1
Если MH предлагает что-то за пределами пространства параметров, вероятность принятия просто устанавливается равной и все работает нормально. Я думаю , что MH просто интерпретирует 0 / 0 , как 0 (проявление 0 = 0 в теории меры). 00/000=0
парень

@ Гай, но в соответствии с обсуждением на странице Сианя (ссылка выше на Zen), похоже, что Гиббс имеет превосходство, не упоминая причину!
Купитор

1
@Купитор, я не вижу, чтобы он говорил это. Я думаю, что подразумевается, что Габриэль делал «Метрополис внутри Гиббса».
парень

Ответы:


27

У вас есть несколько хороших, более или менее простых вариантов. Ваша предварительная форма помогает сделать их проще.

Вариант 1: Независимый пробоотборник. Вы можете просто установить распределение вашего предложения равным равномерному распределению по квадрату единицы, что гарантирует, что выборки не будут выходить за пределы запрещенной зоны, как вы ее называете. Потенциальный недостаток: если апостериор сконцентрирован в очень маленькой области квадрата единицы, у вас может быть очень низкий коэффициент принятия. ОТО, трудно генерировать случайные числа быстрее, чем из распределения U (0,1). Потенциальный потенциал: меньше работы для вас.

Вариант 2. Преобразование параметров в нечто, что не ограничено, внесение предложений для преобразованных параметров, а затем преобразование параметров обратно для использования в функциях вероятности. Обратите внимание, что в этом случае априор будет на преобразованных параметрах, потому что это то, для чего вы делаете предложения, поэтому вам придется возиться с якобианом преобразования, чтобы получить новый априор. Конечно, для анализа вы преобразуете случайные числа, сгенерированные MCMC, в исходные параметры. Потенциальный недостаток: больше начальной работы для вас. Потенциальный потенциал роста: лучшая скорость принятия ваших предложений.

Вариант 3. Построить распределение предложений, отличное от выборочного образца независимости, которое находится на единичном квадрате. Это позволяет вам сохранять форму заранее, но за счет большей сложности при расчете вероятностей предложения. Примером этого, позволяя быть текущим значением одного из ваших параметров, будет бета-распределение с параметрами ( n x , n ( 1 - x ) ) . Чем больше пx(nx,n(1x))n , тем более сконцентрировано ваше предложение вокруг текущей стоимости. Потенциальный недостаток: больше начальной работы для вас. Pptential вверх: лучше скорость принятия ваших предложений - но если вы делаете n слишком большой, и двигайтесь близко к углу, вы можете сделать много маленьких движений в углу, прежде чем выйти.

Вариант 4: Просто отклоните любые предложения, которые выходят за пределы квадрата единицы (нерешительное предложение Сианя). Обратите внимание, что это не то же самое, что просто создание другого предложения; в этом случае вы отклоняете предложение, что означает, что ваше следующее значение для параметра совпадает с текущим значением для параметра. Это работает, потому что это то, что произошло бы, если бы у вас была нулевая априорная вероятность для некоторой области пространства параметров и сгенерировано случайное число, которое попало в эту область. Потенциальный недостаток: если вы приблизитесь к повороту, у вас может быть низкая вероятность принятия и вы можете застрять на некоторое время. Потенциальный потенциал: меньше работы для вас.

Вариант 5: Создайте расширенную задачу на плоскости, которая на единичном квадрате совпадает с фактической проблемой, с которой вы столкнулись, сделайте все правильно, а затем, при последующей обработке результатов выборки MCMC, выбросьте все выборки за пределы единицы площади. Потенциальный потенциал: если создать такую ​​расширенную проблему очень просто, она может оказаться для вас менее трудной. Потенциальный недостаток: если цепь Маркова какое-то время отклоняется где-то за пределами ячейки, у вас могут возникнуть ужасные вероятности принятия, поскольку вы выбросите большинство своих образцов.

Без сомнения, есть другие варианты, мне было бы интересно посмотреть, что предлагают другие люди!

Разница между 2 и 3 в некоторой степени концептуальна, хотя и имеет реальные последствия для того, что вы на самом деле делаете. Я бы, вероятно, пошел с 3, так как я просто позволил бы R сказать мне, каковы вероятности предложения (если я программирую на R) и количество дополнительных усилий, кроме некоторой настройки параметра распределения предложения , выглядит маленький для меня. Если бы я использовал JAGS или BUGS, конечно, это было бы совсем другое дело, поскольку эти инструменты обрабатывали свои собственные предложения.n


Проголосуй! Большое спасибо за такой подробный ответ, но есть несколько моментов, которым я стараюсь следовать: 1) На самом деле пространство параметров исходит из линейного отрезка в квадрате, и поэтому очень трудно получить его с помощью равномерной выборки. 2) Это на самом деле не очень хорошая идея. Чтобы дать простую иллюстрацию, представьте, что нужно расширить ограниченную выборку, просто установив вероятность внешней области на ноль! Я думаю, это сделает процесс конвергенции очень медленным, и это, вероятно, будет похоже на
субсэмплинг

3) Проблема этой идеи заключается в том, что ваше предложение не является обратимым, и, следовательно, возможно, полученная схема выборки больше не будет эргодической!
Купитор

4) это способ, которым я пытался, и выглядит разумным (IMH!) 5) Эти, похоже, страдают от примера, который я упомянул в 2, и, как вы сказали, сами могли бы дать ужасные оценки!
Купитор

2
(0,inf)x(0,1)β

α=2.5(0.5,1)α=3.2(0,0.8)α=0.2(0.2,0)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.