Байесовский вывод: выборка Метрополис-Гастингс

машинное обучение глубокое обучение
Байесовский вывод: выборка Метрополис-Гастингс

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

обзор

Кратко повторим содержание предыдущей статьи, сначала объясним, зачем нужен mcmc, предполагая наличие байесовской формулы:



Чтобы найти апостериорное распределение, нам нужно вычислить P(D)



Однако, поскольку пространство параметра многих распределений очень велико, сложно рассчитать p (d), поэтому предлагается метод численного приближения, но из-за огромного параметра пространства нам нужно эффективно образец, поэтому есть MCMC Способ, метод MCMC Общая рутина:
  1. Сначала выберите один в пространстве параметров
  2. Предложите новую позицию в пространстве параметров
  3. Примите решение о принятии или отклонении на основе предварительной информации и данных наблюдений.
  4. Если получен прыжок, перейти на новую позицию и вернуться к шагу 1.
  5. Если отклонено, сохранить текущую позицию и вернуться к шагу 1
  6. Последовательно принимает ряд точек и, наконец, возвращает принятый набор точек.

Разница между разными алгоритмами mcmc заключается в том, как выбрать метод прыжка и как решить, следует ли прыгать, предыдущая статьяБайесовская статистика: руководство для начинающихВ этой статье мы познакомим вас с обработкой описанного выше процесса в Metropolis. В этой статье будет представлен метод Metropolis-Hastings.

Metropolis-Hastings

Сначала представим весь процесс алгоритма:


Давайте начнем отвечать, почему описанный выше процесс работает?
Прежде всего, нам нужен описанный выше процесс, мы выбираем, что x подчиняется распределению вероятностей π(x), а затем функция, которую мы выбираем, представляет собой k(x|x), то имеет место следующая формула:

?
\pi(x^
) =
\int_{x}\pi(x)k(x^*|x)dx
?
Вышеприведенная формула гарантирует, что если мы будем производить выборку в соответствии с k, мы можем гарантировать, что новая точка выборки и исходная точка подчиняются одному и тому же распределению.

Далее докажем, что если выполняется подробное условие стационарности:


?
\pi(x)k(x^|x) = \pi(x^)k(x|x^)
?
Тогда указанный выше интеграл также имеет место.

?
\begin{align}
\pi(x^
) & = \int_{x}\pi(x)k(x^|x)dx \
& = \int_{x} \pi(x^
)k(x|x^)dx \
& = \pi(x^
) \int_{x} k(x|x^)dx = \pi(x^)
\end{align}
?
Теперь мы показали, что подробное стационарное условие гарантирует, что все x подчиняются одному и тому же распределению.
Перейдем к тому, как выбрать k-распределение.
В Metropolis-Hastings мы используем следующие стратегии:
  1. из q(x|х) образец х
  2. Рассчитать скорость принятия

Далее докажем, что выбранное k удовлетворяет подробному условию стационарности:



Давайте взглянем на выбор функции q(.) Обычно есть два варианта для функции q(.):

  • Симметричное, такое как распределение Гаусса, равномерное распределение, в данном случае называемое случайным блужданием.
  • Асимметричный: как и логнормальный, имеет тенденцию выбирать большие значения x.

Ниже приведена функция приема, мы можем получить следующие две точки:

  1. Выборочные значения имеют тенденцию выбирать точки с высокой вероятностью, потому что
  2. Мы не хотим, чтобы точки выборки колебались туда-сюда, потому что:

В алгоритме Метрополиса, представленном в предыдущей статье, функция q(.) симметрична, а скорость приема равна:


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

пример

Предположим, у нас есть два данных временного ряда, xi, yi, корреляция которых равна ρ, и теперь они подчиняются бинарному распределению Гаусса:




Для простоты примем σxx , σyy = 1. В этот момент мы можем записать вероятность вероятности:



Тогда априорная вероятность будет следующей:

Наконец, мы можем получить приближение апостериорной вероятности:

Далее мы будем делать это с помощью метода mh.

Выберем q(.) как равномерное распределение:



В настоящее время для расчета коэффициента приемлемости можно рассчитать только p(ρ) Вы можете увидеть код:

rho_candidate=uniform.rvs(rho-0.07,2*0.07)
accept=-3./2*log(1.-rho_candidate**2) - N*log((1.-rho_candidate**2)**(1./2)) - sum(1./(2.*(1.-rho_candidate**2))*(x**2-2.*rho_candidate*x*y+y**2))

Расчет логарифмический, что удобно для расчета.Полный код см.mh


Видно, что среднее значение ρ после нашей выборки составляет почти 0,4, что соответствует нашим фактическим данным.

Суммировать

Текст знакомит с алгоритмом MH и дает доказательство того, почему алгоритм MH, и, наконец, заканчивается простым примером. Я продолжу знакомить с выборкой Гиббса в следующей статье. Добро пожаловать на внимание.

Ссылаться на

Bayesian Inference: Metropolis-Hastings Sampling

Ваша поддержка является движущей силой для меня, чтобы продолжать писать, и я с нетерпением жду нашего общего прогресса.


В эту эпоху каждый — супериндивидуальность! Следуйте за мной и растите вместе!