Повышение вашего понимания MCMC до среднего уровня

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

  • «Базовый: MCMC позволяет нам использовать компьютеры для сбора байесовской статистики.
  • Промежуточный: MCMC - это метод, который может найти апостериорное распределение интересующего нас параметра. В частности, этот тип алгоритма генерирует моделирование Монте-Карло способом, основанным на свойстве Маркова, а затем принимает эти моделирования с определенной скоростью для получения апостериорного распределения ». ¹
  • Дополнительно: полный урок статистики.

В этом блоге я стремлюсь вывести вас на средний уровень.

Начнем с базового уровня.

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

Если априорное распределение и вероятностное распределение имеют нормальное распределение, мы можем описать апостериорное распределение с помощью функции. Это называется закрытым решением. Этот тип Байеса показан ниже. Как видите, апостериорное распределение формируется как априорным, так и вероятностным распределением и заканчивается где-то посередине.

Но что делать, если вероятности не так хороши? Что произойдет, если вероятности будут выглядеть примерно так?

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

Три части цепи Маркова Монте-Карло

Первый: Монте-Карло

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

Два: цепи Маркова

  • Цепи Маркова, по сути, представляют собой представление о том, как переменная «ходит» по графу или как случайная величина изменяется от одного состояния к другому с течением времени.

  • На изображении выше представлена ​​Марковская цепь эмоциональных состояний. В этой цепочке, если вы Веселый, с вероятностью 20% вы измените эмоциональное состояние на «Так себе», с вероятностью 20% вы станете грустным и с вероятностью 60% останетесь бодрым.

Цепи Маркова регулируются свойством Маркова

F(Xt+1|Xt) = f(Xt+1|Xt,Xt-1,Xt-2,….)

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

Примером этого являются:

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

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

Три: приемка-отклонение выборки

Третья часть MCMC - приемочно-браковочный отбор. Когда мы отбираем новые наблюдения, мы решаем, в правильном ли они направлении, а затем решаем, сохраняем ли мы их или отбрасываем.

Двумя распространенными алгоритмами приемки-отклонения являются алгоритм Метрополиса-Хастинга и пробоотборник без разворота. Математика без разворота сложнее, чем я могу объяснить в этом среднем посте, но ознакомьтесь с этой статьей, если хотите погрузиться в нее.

Вот мое подробное объяснение Metropolis-Hasting

  • Мы в точке x.
  • Делаем предположение о следующем шаге. Мы назовем это x *
  • Затем мы вычисляем отношение вероятности x * / x. Это рассчитывается с использованием произведения вероятности и априорного распределения.
  • Если отношение p (x *) / p (x) (также называемое вероятностью принятия) больше 1, мы принимаем x * как новую позицию.
  • Даже если вероятность принятия меньше 1, мы не отклоняем автоматически x *. Мы подбрасываем монету, выбирая случайное число из равномерного (0,1) распределения. Если число меньше вероятности принятия, мы принимаем x *, если оно больше, мы отклоняем x * и начинаем процесс заново.

Собираем все вместе

  • Мы произвольно генерируем числа: это часть Монте-Карло.
  • Мы позволяем сгенерированным числам влиять на следующее сгенерированное число: это цепь Маркова.
  • Затем мы решаем, «движутся ли новые сгенерированные числа в правильном направлении»: алгоритм принятия-отклонения
  • Затем мы проверяем сходимость: мы определяем, когда наши данные пришли к разумному распределению. Случайно сгенерированные значения после точки сходимости становятся нашим апостериорным распределением

Я надеюсь, что это помогло вам понять MCMC на среднем уровне.

1. Заимствовано (с разрешения) непосредственно из лекции Мэтт Бремс.
2. Замечательное, но очень приятное объяснение MCMC: https://blog.stata.com/2016/11/15/introduction-to -bayesian-statistics-part-2-mcmc-and-the-metropolis-hastings-algorithm /