Понимание MCMC и алгоритма Метрополис-Гастингс

13

В последние несколько дней я пытался понять, как работает Марковская цепь Монте-Карло (MCMC). В частности, я пытался понять и реализовать алгоритм Метрополис-Гастингс. Пока я думаю, что у меня есть общее представление об алгоритме, но есть пара вещей, которые мне еще не ясны. Я хочу использовать MCMC для подгонки некоторых моделей к данным. Поэтому я опишу свое понимание алгоритма Метрополиса-Гастингса для подгонки прямой линии к некоторым наблюдаемым данным :f(x)=axD

1) Сделать начальное предположение для . Установите этот , как текущую ( ). Кроме того, добавьте в конце цепи Маркова ( ).aaaa0aC

2) Повторите шаги ниже несколько раз.

3) оценка текущее правдоподобие ( ) дан в 0 и D .L0a0D

4) Предложите новый ( a 1 ) путем выборки из нормального распределения с µ = a 0 и σ = s t e p s i z e . В настоящее время, ев T е р в сек я г е постоянна.aa1μ=a0σ=stepsizestepsize

5) оценка новое правдоподобие ( ) приведен в 1 и D .L1a1D

6) Если больше , чем L 0 , принимают на 1 , как новый A 0 , добавить его в конце C и перейти к шагу 2.L1L0a1a0C

7) Если меньше, чем L 0, генерируют число ( U ) в диапазоне [0,1] из равномерного распределенияL1L0U

8) Если является меньшим , чем разница между этими двумя вероятностями ( L 1 - L 0 ), принимают на 1 , как новый A 0 , добавить его в конце C и перейти к шагу 2.UL1L0a1a0C

UL1L0a0Ca0

10) Конец повтора.

C

Ca

Теперь у меня есть несколько вопросов относительно вышеуказанных шагов:

  • f(x)=ax
  • Это правильная реализация алгоритма Метрополиса-Гастингса?
  • Как выбор метода генерации случайных чисел на шаге 7 может изменить результаты?
  • f(x)=ax+b

Примечания / Авторы: Основная структура алгоритма, описанного выше, основана на коде из MPIA Python Workshop.

эстрона
источник

Ответы:

11

Кажется, есть некоторые заблуждения относительно того, что алгоритм Метрополиса-Гастингса (МЗ) в вашем описании алгоритма.

Прежде всего, нужно понимать, что MH - это алгоритм выборки. Как указано в википедии

В статистике и статистической физике алгоритм Метрополиса – Гастингса представляет собой метод Монте-Карло с цепью Маркова (MCMC) для получения последовательности случайных выборок из распределения вероятностей, для которого прямая выборка затруднена.

Q(|)f()

  1. x0
  2. xQ(|x0)
  3. α=f(x)/f(x0)
  4. xfα
  5. x

Nk

Пример в R можно найти по следующей ссылке:

http://www.mas.ncl.ac.uk/~ndjw1/teaching/sim/metrop/metrop.html

Этот метод широко используется в байесовской статистике для выборки из апостериорного распределения параметров модели.

f(x)=axx

Robert & Casella (2010), Представляя методы Монте-Карло с R , Ch. 6, «Метрополис-Гастингс Алгоритмы»

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

Еще один интересный указатель - это пакет R mcmc, который реализует алгоритм MH с гауссовыми предложениями в команде metrop().

Habano
источник
Привет, мой друг. Да, я смотрю на МЗ в контексте линейной регрессии. URL, который вы дали мне, объясняет все очень хорошо. Спасибо. Если я задам какой-то другой вопрос, касающийся МЗ, я снова опубликую вопрос. Еще раз спасибо.
AstrOne