Я пытаюсь сэмплировать задний план, имеющий много режимов, особенно далеко друг от друга, используя MCMC. Похоже, что в большинстве случаев только один из этих режимов содержит 95% hpd, который я ищу. Я пытался реализовать решения, основанные на умеренном моделировании, но это не дает удовлетворительных результатов, поскольку на практике переход от одного «диапазона захвата» к другому является дорогостоящим.
Как следствие, мне кажется, что более эффективным решением было бы запустить множество простых MCMC из разных начальных точек и погрузиться в доминирующее решение, заставляя MCMC взаимодействовать друг с другом. Знаете ли вы, есть ли какой-то правильный способ реализовать такую идею?
Примечание: я нашел ту бумагу http://lccc.eecs.berkeley.edu/Papers/dmcmc_short.pdf (распределенная цепь Маркова Монте-Карло, Лоуренс Мюррей), которая выглядит близко к тому, что я ищу, но я действительно не понимаю дизайн функции .
[РЕДАКТИРОВАТЬ]: отсутствие ответов, по-видимому, указывает на то, что не существует очевидного решения моей первоначальной проблемы (заставить несколько образцов MCMC из одного и того же целевого распределения из разных начальных точек взаимодействовать друг с другом). Это правда ? почему это так сложно? Спасибо
источник
Ответы:
Во-первых, я бы порекомендовал поискать лучший метод или, по крайней мере, метод с более глубоким описанием, поскольку «Распределенная цепь Маркова Монте-Карло» из статьи, которую вы цитируете, кажется недостаточно четко сформулированной. Преимущества и недостатки изучены недостаточно. Есть метод, который появился в arxiv совсем недавно и называемый « червоточина гамильтониан Монте-Карло », я бы порекомендовал проверить его.
Возвращаясь к статье, на которую вы ссылались, удаленное предложение очень расплывчато. В части приложения это описывается как «гауссовский метод максимального правдоподобия за предыдущие t / 2 выборки». Может быть, это означает, что вы усредняете последние значения t / 2 в цепочке ? Немного трудно догадаться с плохим описанием, приведенным в ссылке.ря( θя) ят ч
[ОБНОВЛЕНИЕ:] Взаимодействие между несколькими цепочками и применение этой идеи к выборке из апостериорного распределения можно найти в параллельных методах MCMC, например, здесь . Однако выполнение нескольких цепей и принуждение их к взаимодействию может не подходить для мультимодального апостериора: например, если есть очень выраженная область, где сконцентрирована большая часть апостериорного распределения, взаимодействие цепочек может даже ухудшить положение вещей, придерживаясь этого конкретного регион и не исследуя другие, менее выраженные, регионы / способы. Поэтому я настоятельно рекомендую поискать MCMC, специально предназначенный для мультимодальных задач. И если вы хотите создать другой / новый метод, то после того, как вы узнаете, что доступно на «рынке», вы можете создать более эффективный метод.
источник
Вы должны попробовать multinest: https://arxiv.org/pdf/0809.3437.pdf https://github.com/JohannesBuchner/MultiNest Это механизм байесовского вывода, который предоставит вам выборки параметров для мультимодального распределения.
Ссылка на github содержит многоэтапный исходный код, который вы компилируете и устанавливаете в соответствии с инструкциями. он также имеет оболочку Python, которая проще в использовании. Коды примеров имеют предыдущий раздел, который служит для ограничения ваших параметров, и раздел вероятности, который содержит вашу вероятность. Файл настроек содержит все ваши настройки и цепочки мультиинсталляционных выходных папок после подгонки. это даст вам образцы ваших параметров
источник
Это кажется сложной и постоянной проблемой в вычислительной статистике. Тем не менее, есть несколько менее современных методов, которые должны работать нормально.
Допустим, вы уже нашли несколько различных задних мод, и вы счастливы, что это наиболее важные моды, и если апостериор вокруг этих мод достаточно нормальный. Затем вы можете вычислить гессиан в этих режимах (скажем, используя optim в R с hessian = T), и вы можете аппроксимировать апостериор как смесь нормалей (или t-распределений). См. P318-319 в Gelman et al. (2003) "Байесовский анализ данных" для деталей. Затем вы можете использовать приближение нормальной / t-смеси в качестве распределения предложений в выборке независимости, чтобы получить выборки из полного апостериорного значения.
Еще одна идея, которую я не пробовал, - это выборка отжигаемой важности (Рэдфорд Нил, 1998, ссылка здесь ).
источник
Как насчет попробовать новый метод MCMC для мультимодальности, отталкивающе привлекательный алгоритм Метрополиса ( http://arxiv.org/abs/1601.05633 )? Этот мультимодальный сэмплер работает с одним параметром настройки, таким как алгоритм Метрополиса, и прост в реализации.
источник