Введение

Алгоритм Монте-Карло

В статистике и статистической физике алгоритм Метрополиса — Хестингса является методом Монте-Карло на основе цепей Маркова (MCMC) для получения последовательности случайных выборок из распределения вероятностей, из которого прямой отбор проб затруднен. Новые выборки добавляются в последовательность в два этапа: сначала предлагается новая выборка на основе предыдущей, затем предложенная выборка либо принимается и добавляется в последовательность, либо отклоняется в зависимости от значения функции вероятности в этой точке. Полученная последовательность может быть использована для аппроксимации распределения (например, для построения гистограммы) или для вычисления интеграла (например, математического ожидания). Алгоритмы Метрополиса — Хестингса и другие алгоритмы MCMC обычно используются для выборки из многомерных распределений, особенно когда размерность высока. Для одномерных распределений обычно существуют другие методы (например, адаптивный отбор-отторжение), которые могут напрямую возвращать независимые выборки из распределения, и они не подвержены проблеме автокорреляции выборок, свойственной методам MCMC.

История

Алгоритм частично назван в честь Николаса Метрополиса, первого соавтора статьи 1953 года под названием «Вычисление уравнений состояния с помощью быстрых вычислительных машин» совместно с Арианной В. Розенблут, Маршаллом Розенблутом, Августой Х. Теллер и Эдвардом Теллером. В течение многих лет алгоритм был известен просто как алгоритм Метрополиса. В статье алгоритм был предложен для случая симметричных предложений, но в 1970 году У. К. Гастингс расширил его на более общий случай. У алгоритмов Metropolis–Hastings и других MCMC есть ряд недостатков: выборки автокоррелированы. Даже если в долгосрочной перспективе они корректно следуют распределению, набор близких выборок будет коррелировать друг с другом и не будет правильно отражать распределение. Это означает, что эффективный размер выборки может быть значительно меньше, чем количество фактически взятых выборок, что приводит к большим ошибкам. Хотя цепь Маркова в конечном итоге сходится к желаемому распределению, начальные выборки могут следовать совершенно иному распределению, особенно если начальная точка находится в области низкой плотности. В результате обычно требуется период прогрева, в течение которого начальное количество выборок отбрасывается. С другой стороны, большинство простых методов отбора проб с отклонением страдают от «проклятия размерности», когда вероятность отклонения экспоненциально возрастает с увеличением числа измерений. Metropolis–Hastings, наряду с другими методами MCMC, в меньшей степени подвержены этой проблеме и поэтому часто являются единственным доступным решением, когда число измерений распределения, из которого производится отбор проб, велико. В результате методы MCMC часто являются предпочтительными для получения выборок из иерархических байесовских моделей и других многомерных статистических моделей, которые в настоящее время используются во многих областях науки. В многомерных распределениях классический алгоритм Metropolis–Hastings, описанный выше, предполагает выбор новой многомерной точки выборки. Когда число измерений велико, найти подходящее распределение перемещения может быть сложно, поскольку различные отдельные измерения ведут себя по-разному, и ширина перемещения (см. выше) должна быть «точно подобрана» для всех измерений одновременно, чтобы избежать чрезмерно медленного перемешивания. Альтернативный подход, который часто работает лучше в таких ситуациях, известный как выборка Гиббса, предполагает выбор новой выборки для каждого измерения отдельно от других, а не выборку для всех измерений сразу. Таким образом, задача выборки из потенциально многомерного пространства сводится к набору задач выборки из пространства малой размерности. Это особенно применимо, когда многомерное распределение состоит из набора отдельных случайных переменных, в которых каждая переменная обусловлена только небольшим числом других переменных, как это обычно бывает в типичных иерархических моделях. Затем отдельные переменные отбираются по одной, при этом каждая переменная обусловлена последними значениями всех остальных. Для выбора этих отдельных выборок могут использоваться различные алгоритмы, в зависимости от точной формы многомерного распределения: некоторые варианты включают адаптивные методы отбора проб с отклонением, простой одномерный шаг Metropolis–Hastings или выборку среза.

Формальное выведение

Целью алгоритма Метрополиса–Хестингса является генерация набора состояний в соответствии с заданным распределением. Для этого алгоритм использует марковский процесс, который асимптотически достигает уникального стационарного распределения, так что для распределений на дискретных пространствах состояний, его порядок должен соответствовать времени автокорреляции марковского процесса. Если это значение слишком мало, цепь будет перемешиваться медленно (то есть, скорость принятия будет высокой, но последовательные выборки будут медленно перемещаться в пространстве состояний, и цепь будет медленно сходиться к ). С другой стороны, если это значение слишком велико, скорость принятия будет очень низкой, поскольку предложенные варианты, скорее всего, попадут в области с гораздо меньшей плотностью вероятности, следовательно, будет очень мало, и цепь снова будет сходиться очень медленно. Обычно распределение предложений настраивается таким образом, чтобы алгоритм принимал около 30% всех выборок – в соответствии с теоретическими оценками, упомянутыми в предыдущем абзаце.