Понимание MCMC: какой будет альтернатива?

13

Изучение байесовской статистики в первый раз; как угол к пониманию MCMC я задавался вопросом: делает ли он что-то, что принципиально не может быть сделано по-другому, или это просто делает что-то гораздо более эффективное, чем альтернативы?

В качестве иллюстрации предположим, что мы пытаемся вычислить вероятность наших параметров с учетом данных учетом модели, которая вычисляет противоположное значение . Чтобы вычислить это непосредственно с помощью теоремы Байеса, нам нужен знаменатель как указано здесь . Но можем ли мы рассчитать это путем интеграции, скажем так:P(x,y,z|D)P(D|x,y,z)P(D)

p_d = 0.
for x in range(xmin,xmax,dx):
    for y in range(ymin,ymax,dy):
        for z in range(zmin,zmax,dz):
            p_d_given_x_y_z = cdf(model(x,y,z),d)
            p_d += p_d_given_x_y_z * dx * dy * dz

Будет ли это работать (хотя и очень неэффективно с большим количеством переменных) или есть что-то еще, что может привести к провалу этого подхода?

Sideshow Bob
источник
4
Интеграция будет работать во многих случаях, но это займет слишком много времени (т. Е. Неэффективно). MCMC - это способ эффективно оценить апостериор.
Марк Уайт
3
Не имеет отношения к вопросу, но я думаю, что вы упускаете предшествующее значение x, y, z в вашем интеграле (оно появляется в числителе формулы Байеса)
Альберто

Ответы:

17

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

Аналитические решения, которые могут быть найдены, как правило, являются случаями «сопряженных» семейств, и вы можете узнать больше об этом путем поиска в Google, см., Например, https://en.wikipedia.org/wiki/Conjugate_prior .

В качестве первого примера, если ваш предшествующий уровень pодинаков [0, 1], где pпараметр успеха в простом биномиальном эксперименте равен, апостериор равен бета-распределению. Интегрирование, или суммирование, может быть сделано явно в этом случае.

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

Существует несколько алгоритмов отбора проб сзади. Гамильтониан Монте - Карло, в частности NUTS пробник, сейчас популярна и используется stanи PyMC3Метрополис Гастингс является классическим. Вариационный вывод является относительным новичком, фактически не методом выборки, а другим способом получения приближения. На данный момент ни один из методов, включая аналитические решения, не является лучшим, все они хорошо работают в конкретных случаях.

Гис
источник
Хороший ответ, но ваш последний абзац, похоже, подразумевает, что вариационный вывод - это метод выборки, а это не так. Вы можете исправить это.
Рубен ван Берген
7

θ

π(θ|x)exp{||θx||2||θ+x||4||θ2x||6},x,θd,
Сиань
источник
6

Методы Монте-Карло - это методы, использующие случайные числа. Цель состоит в том, чтобы найти выборки , которые распределены в соответствии с и предполагается, что является комплексным. Это означает, что мы не можем оценить это напрямую. Если это не так, вы можете просто рассчитать его аналитически. Как в вашем примере это будет .П ( х )xP(x)P(x)P(D)

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

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

hh32
источник