При работе с цепью Маркова Монте-Карло, чтобы сделать вывод, нам нужна цепь, которая быстро перемешивается, т.е. быстро перемещается через опору заднего распределения. Но я не понимаю, зачем нам это свойство, потому что из того, что я понимаю, принятые кандидаты должны и будут сконцентрированы в части высокой плотности заднего распределения. Если то, что я понимаю, верно, то хотим ли мы, чтобы цепь проходила через опору (которая включает в себя часть с низкой плотностью)?
Кроме того, если я использую MCMC для оптимизации, нужно ли мне по-прежнему заботиться о быстром микшировании и почему?
Спасибо, что поделились своими мыслями!
Ответы:
Идеальный алгоритм Монте-Карло использует независимые последовательные случайные значения. В MCMC последовательные значения не являются независимыми, что заставляет метод сходиться медленнее, чем идеальный метод Монте-Карло; однако, чем быстрее он смешивается, тем быстрее затухает зависимость в последовательных итерациях¹ и быстрее сходится.
¹ Я имею в виду, что последовательные значения быстро «почти не зависят» от начального состояния, или, скорее, что, учитывая значение в одной точке, значения X ñ + k становятся быстро «почти независимыми» от X n с ростом k ; Итак, как говорит Кххли в комментариях, «цепочка не застревает в определенной области пространства состояний».ИксN Иксн +к ИксN К
Изменить: я думаю, что следующий пример может помочь
Представьте, что вы хотите оценить среднее значение равномерного распределения по по MCMC. Вы начинаете с упорядоченной последовательности ( 1 , … , n ) ; на каждом шаге вы выбираете k > 2 элементов в последовательности и случайным образом перемешиваете их. На каждом шаге элемент в позиции 1 записывается; это сходится к равномерному распределению. Значение k контролирует скорость перемешивания: когда k = 2 , это медленно; когда k = n , последовательные элементы независимы, и смешивание происходит быстро.{ 1 , … , n } ( 1 , … , n ) k > 2 К к = 2 k = n
Вот функция R для этого алгоритма MCMC:
Давайте применим его для и построим последовательную оценку среднего значения μ = 50 вдоль итераций MCMC:n = 99 μ = 50
Здесь вы можете видеть, что для (в черном цвете) сходимость медленная; для k = 50 (синим цветом) это быстрее, но все же медленнее, чем с k = 99 (красным).к = 2 К = 50 к = 99
Вы также можете построить гистограмму для распределения оценочного среднего значения после фиксированного числа итераций, например, 100 итераций:
источник
О вашем конкретном комментарии, который
источник
Предположения, которые мотивируют стремление к быстрому микшированию цепочки, заключаются в том, что вы заботитесь о вычислении времени и что вам нужна репрезентативная выборка сзади. Первое будет зависеть от сложности проблемы: если у вас небольшая / простая проблема, может не иметь большого значения, эффективен ли ваш алгоритм. Последнее очень важно, если вас интересует задняя неопределенность или вы знаете заднее среднее с высокой точностью. Однако, если вам не нужна репрезентативная выборка задней части, потому что вы просто используете MCMC для приблизительной оптимизации, это может быть не очень важно для вас.
источник