Практический пример для MCMC

14

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

Я хочу хороший пример, где трудно получить желаемый дистрибутив. Итак, мы создаем цепь Маркова. Я хочу знать, как выбрать матрицу перехода так, чтобы ее стационарное распределение, цепь Маркова было целевым распределением. Спасибо

user34790
источник
Основная теория цепей Маркова используется, чтобы показать, что конкретная схема выборки будет иметь стационарное распределение, которое является желаемым совместным распределением. Для простейшего примера ванильный сэмплер Гиббса имитирует полные условные распределения. Можно легко показать, что соответствующие ядра переходов, взятые вместе, если они удовлетворяют условиям сходимости (часто просто показать), имеют совместное распределение в качестве стационарного распределения. Аналогично для Метрополис Гастингс и тд. Похоже, что лекции, на которые вы смотрите, не объясняют, как MCMC является цепью Маркова
Glen_b

Ответы:

3

Хорошим примером дистрибутива, из которого трудно выбрать образец, является модель Hard-Core, см. Эту страницу для обзора:

http://www.mathematik.uni-ulm.de/stochastik/lehre/ss06/markov/skript_engl/node34.html

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

На рисунке ниже показан пример допустимой конфигурации для сетки в модели с жестким ядром. На этом изображении они показаны черными точками, а нули - белыми. Обратите внимание, что не две черные точки находятся рядом.8×8

Пример допустимой конфигурации для сетки $ 8 \ times 8 $ в модели с жестким ядром

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

Мы хотим сделать выборку равномерно из совокупности допустимых сеток, то есть, если - множество допустимых сеток, мы хотим выбрать , чтобыe EEeE

p(e)=1|E|

гдеэто количество всех возможных допустимых конфигураций.|E|

Уже это представляет проблему, учитывая, что мы рассматриваем сеток, как мы можем определитьколичество допустимых сеток? | E |n×n|E|

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

Я дам вам прочитать статью о том, как реализовать MCMC для этой проблемы, но это относительно просто.

Макс С.
источник
2

Еще одна сложная проблема в статистике. Вопрос старый, но сложно найти вступительные примеры в Интернете. Итак, позвольте мне упростить два замечательных примера на случай, если кто-то, следуя марковскому случайному блужданию по землям PageRank, будет озадачен MCMC и полон надежды на простой ответ. Насколько вероятно? Это может быть последующим вопросом.

FIRST EXAMPLE:

N(0,1)

Трудность состоит в том, что в реализации после прохождения всех механических шагов, есть только один магический трюк: бинарное решение принимать или отвергать на предложенное значение .

xmean0sd 1rnorm(10000)

epsϵxixi+1runif(1, - eps, eps)xi

Таким образом, каждое предлагаемое значение будет отличаться от предыдущего значения случайным образом и в пределах [- eps,+ eps].

ii+1

N(0,1)xi+1xi

min(1, dnorm(candidate_value)/dnorm(x))1N(0,1) pdfxi+1ximin(1, ...)dnorm

min(1, dnorm(candidate_value)/dnorm(x))runif(1)01x[i+1]x[i]

sd10

0x = 0; vec[1] = x

SECOND EXAMPLE:

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

Антони Пареллада
источник
Нужно внести несколько незначительных исправлений: « земли, одурманенные CMCM » ... нужно поменять местами . " Rosenbluth-Hatings " .... вероятно, там нужны дополнительные "s". Я бы сказал, что первый пример не совсем «трудный для отбора» (как задает вопрос). Оба ваших примера выглядят как Метрополис-Гастингс (что, безусловно, важно), но MCMC более того. Например, очень многие люди используют выборку Гиббса, часто через JAGS / BUGS / и т. Д. Никакого решения, касающегося принятия предложенного шага, нет - вы всегда двигаетесь.
Glen_b
Я исправил пропущенные "s", изомерное написание CMCM. Избавился от необоснованной гиперссылки на YouTube, посвященной проблеме имени. Объяснил, почему я выбрал первый пример для разработки, несмотря на конкретную просьбу (старый) вопрос. Я ценю, что вы указали на все эти вопросы. Я не уверен в последствиях вашей последней строки.
Антони Пареллада
Это просто ссылка на строку « есть только один магический трюк: двоичное решение о принятии или отклонении предложенного значения »; указать, что это не свойство всех алгоритмов MCMC. Это само по себе не означает, что есть проблема с вашим ответом; Вы можете расценить это как разъяснение, если хотите. Изомерный бит был хорош.
Glen_b
1

Это видео на Youtube - отличная визуализация простой проблемы, решаемой с помощью MCMC.

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

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

В этом случае MCMC является излишним, но есть некоторые проблемы, когда решение сложно записать, и имеет смысл исследовать возможности с цепью Маркова, а не пытаться решить ее напрямую.

Дэвид Дж. Харрис
источник