В статистике и статистической физике алгоритм Метрополиса–Гастингса представляет собой метод Монте-Карло с цепями Маркова (MCMC) для получения последовательности случайных выборок из распределения вероятностей , из которого прямая выборка затруднена. Новые выборки добавляются в последовательность в два этапа: сначала предлагается новая выборка на основе предыдущей выборки, затем предложенная выборка либо добавляется в последовательность, либо отклоняется в зависимости от значения распределения вероятностей в этой точке. Полученная последовательность может быть использована для аппроксимации распределения (например, для генерации гистограммы ) или для вычисления интеграла (например, ожидаемого значения ).
Алгоритмы Метрополиса–Гастингса и другие алгоритмы MCMC обычно используются для выборки из многомерных распределений, особенно когда число измерений велико. Для одномерных распределений обычно существуют другие методы (например, адаптивная выборка с отклонением ), которые могут напрямую возвращать независимые выборки из распределения, и они свободны от проблемы автокоррелированных выборок, которая присуща методам MCMC.
Алгоритм назван частично в честь Николаса Метрополиса , первого соавтора статьи 1953 года под названием «Уравнение расчета состояний с помощью быстрых вычислительных машин» , написанной совместно с Арианной В. Розенблут , Маршаллом Розенблут , Августой Х. Теллер и Эдвардом Теллером . В течение многих лет алгоритм был известен просто как алгоритм Метрополиса . [1] [2] В статье был предложен алгоритм для случая симметричных распределений предложений, но в 1970 году У. К. Гастингс расширил его на более общий случай. [3] Обобщенный метод в конечном итоге был идентифицирован обоими названиями, хотя первое использование термина «алгоритм Метрополиса-Гастингса» неясно.
Существуют некоторые разногласия относительно заслуги в разработке алгоритма Метрополиса. Метрополис, который был знаком с вычислительными аспектами метода, ввел термин «Монте-Карло» в более ранней статье со Станиславом Уламом и возглавлял группу в Теоретическом отделе, которая спроектировала и построила компьютер MANIAC I, использовавшийся в экспериментах в 1952 году. Однако до 2003 года не было подробного отчета о разработке алгоритма. Незадолго до своей смерти Маршалл Розенблут посетил конференцию 2003 года в LANL, посвященную 50-летию публикации 1953 года. На этой конференции Розенблут описал алгоритм и его развитие в презентации под названием «Генезис алгоритма Монте-Карло для статистической механики». [4] Дальнейшие исторические разъяснения сделаны Губернатисом в журнальной статье 2005 года [5], в которой рассказывается о конференции, посвященной 50-летию. Розенблют ясно дает понять, что он и его жена Арианна выполнили эту работу, и что Metropolis не принимала никакого участия в разработке, кроме предоставления компьютерного времени.
Это противоречит рассказу Эдварда Теллера, который в своих мемуарах утверждает, что пять авторов статьи 1953 года работали вместе «днями (и ночами)». [6] Напротив, подробный рассказ Розенблута приписывает Теллеру решающее, но раннее предложение «использовать преимущества статистической механики и брать ансамблевые средние вместо того, чтобы следовать детальной кинематике ». Это, говорит Розенблут, заставило его задуматься об обобщенном подходе Монте-Карло — теме, которую, по его словам, он часто обсуждал с Джоном фон Нейманом . Арианна Розенблут рассказала (Губернатис в 2003 году), что Августа Теллер начала работу над компьютером, но что сама Арианна взяла ее на себя и написала код с нуля. В устной истории, записанной незадолго до его смерти, [7] Розенблут снова приписывает Теллеру постановку исходной проблемы, себе ее решение, а Арианне — программирование компьютера.
Алгоритм Метрополиса–Гастингса может извлекать выборки из любого распределения вероятностей с плотностью вероятности , при условии, что мы знаем функцию, пропорциональную плотности , и значения могут быть вычислены. Требование, что должно быть только пропорционально плотности, а не точно равно ей, делает алгоритм Метрополиса–Гастингса особенно полезным, поскольку он устраняет необходимость вычисления коэффициента нормализации плотности, что часто чрезвычайно сложно на практике.
Алгоритм Метрополиса–Гастингса генерирует последовательность значений выборки таким образом, что по мере производства все большего количества значений выборки распределение значений все ближе приближается к желаемому распределению. Эти значения выборки производятся итеративно таким образом, что распределение следующей выборки зависит только от текущего значения выборки, что делает последовательность выборок цепью Маркова . В частности, на каждой итерации алгоритм предлагает кандидата для следующего значения выборки на основе текущего значения выборки. Затем с некоторой вероятностью кандидат либо принимается, и в этом случае значение-кандидат используется в следующей итерации, либо отклоняется, и в этом случае значение-кандидат отбрасывается, а текущее значение повторно используется в следующей итерации. Вероятность принятия определяется путем сравнения значений функции текущего и значения-кандидата выборки относительно желаемого распределения.
Метод, используемый для предложения новых кандидатов, характеризуется распределением вероятностей (иногда пишется ) нового предложенного образца с учетом предыдущего образца . Это называется плотностью предложения , функцией предложения или распределением скачков . Обычным выбором для является гауссово распределение с центром в , так что точки, близкие к , с большей вероятностью будут посещены следующими, превращая последовательность образцов в гауссовское случайное блуждание . В оригинальной статье Метрополиса и др. (1953) было предложено, чтобы было равномерным распределением, ограниченным некоторым максимальным расстоянием от . Возможны также более сложные функции предложения, такие как функции Гамильтона Монте-Карло , Ланжевена Монте-Карло или предобусловленного Кранка–Николсона .
В качестве иллюстрации ниже описан алгоритм Метрополиса — частный случай алгоритма Метрополиса–Гастингса, в котором функция предложения симметрична.
Пусть будет функцией, пропорциональной желаемой функции плотности вероятности (т.е. целевому распределению) [a] .
Этот алгоритм действует, случайным образом пытаясь перемещаться по пространству выборки, иногда принимая перемещения, а иногда оставаясь на месте. Обратите внимание, что коэффициент принятия указывает, насколько вероятен новый предложенный образец по отношению к текущему образцу в соответствии с распределением, плотность которого равна . Если мы попытаемся перейти в точку, которая более вероятна, чем существующая точка (т. е. точку в области с более высокой плотностью, соответствующую ), мы всегда примем перемещение. Однако если мы попытаемся перейти в менее вероятную точку, мы иногда будем отклонять перемещение, и чем больше относительное падение вероятности, тем больше вероятность, что мы отклоним новую точку. Таким образом, мы будем стремиться оставаться в (и возвращать большое количество образцов) областях с высокой плотностью , при этом лишь изредка посещая области с низкой плотностью. Интуитивно понятно, что именно поэтому этот алгоритм работает и возвращает образцы, которые следуют желаемому распределению с плотностью .
По сравнению с алгоритмом, подобным адаптивной выборке с отклонением [8] , которая напрямую генерирует независимые выборки из распределения, алгоритмы Метрополиса–Гастингса и другие алгоритмы MCMC имеют ряд недостатков:
С другой стороны, большинство простых методов выборки с отклонением страдают от « проклятия размерности », когда вероятность отклонения экспоненциально возрастает как функция количества измерений. Метод Метрополиса–Гастингса, наряду с другими методами MCMC, не имеет этой проблемы в такой степени и, таким образом, часто является единственным доступным решением, когда количество измерений распределения, подлежащего выборке, велико. В результате методы MCMC часто являются методами выбора для получения выборок из иерархических байесовских моделей и других статистических моделей с высокой размерностью, используемых в настоящее время во многих дисциплинах.
В многомерных распределениях классический алгоритм Метрополиса–Хастингса, описанный выше, включает выбор новой многомерной точки выборки. Когда число измерений велико, поиск подходящего распределения прыжков для использования может быть сложным, поскольку различные отдельные измерения ведут себя очень по-разному, а ширина прыжка (см. выше) должна быть «точно правильной» для всех измерений одновременно, чтобы избежать чрезмерно медленного смешивания. Альтернативный подход, который часто работает лучше в таких ситуациях, известный как выборка Гиббса , включает выбор новой выборки для каждого измерения отдельно от других, а не выборку выборки для всех измерений сразу. Таким образом, проблема выборки из потенциально высокоразмерного пространства будет сведена к набору проблем для выборки из малой размерности. [10] Это особенно применимо, когда многомерное распределение состоит из набора отдельных случайных величин , в которых каждая переменная обусловлена только небольшим числом других переменных, как это имеет место в большинстве типичных иерархических моделей . Затем отдельные переменные выбираются по одной за раз, причем каждая переменная обусловлена самыми последними значениями всех остальных. Для выбора этих отдельных образцов могут использоваться различные алгоритмы в зависимости от точной формы многомерного распределения: некоторые возможности включают методы адаптивной отбраковки , [8] алгоритм выборки Метрополиса с адаптивным отбраковкой, [11] простой одномерный шаг Метрополиса–Гастингса или срезовую выборку .
Целью алгоритма Метрополиса–Гастингса является генерация набора состояний в соответствии с желаемым распределением . Для достижения этого алгоритм использует марковский процесс , который асимптотически достигает уникального стационарного распределения [ сломанный якорь ] такого, что . [12]
Марковский процесс однозначно определяется его вероятностями перехода , вероятностью перехода из любого заданного состояния в любое другое заданное состояние . Он имеет уникальное стационарное распределение , когда выполняются следующие два условия: [12]
Алгоритм Метрополиса–Гастингса включает проектирование марковского процесса (путем построения вероятностей перехода), который удовлетворяет двум вышеуказанным условиям, так что его стационарное распределение выбирается равным . Вывод алгоритма начинается с условия детального баланса :
который переписывается как
Подход заключается в разделении перехода на два подшага: предложение и принятие-отклонение. Распределение предложения — это условная вероятность предложения состояния при заданном , а распределение принятия — это вероятность принятия предложенного состояния . Вероятность перехода можно записать как их произведение:
Подставляя это соотношение в предыдущее уравнение, имеем
Следующий шаг в выводе — выбрать коэффициент принятия, который удовлетворяет условию выше. Одним из распространенных вариантов является выбор Metropolis:
Для данного коэффициента принятия Metropolis условие выполняется либо либо , либо.
Таким образом, алгоритм Метрополиса–Гастингса можно записать следующим образом:
При условии выполнения указанных условий эмпирическое распределение сохраненных состояний будет приближаться к . Количество итераций ( ), требуемых для эффективной оценки , зависит от количества факторов, включая связь между и распределением предложения и желаемой точностью оценки. [13] Для распределения в дискретных пространствах состояний оно должно быть порядка времени автокорреляции марковского процесса. [14]
Важно отметить, что в общей задаче неясно, какое распределение следует использовать или какое количество итераций необходимо для правильной оценки; оба параметра являются свободными параметрами метода, которые необходимо подбирать под конкретную рассматриваемую задачу.
Распространенное использование алгоритма Метрополиса–Гастингса — вычисление интеграла. В частности, рассмотрим пространство и распределение вероятностей по , . Метрополис–Гастингс может оценить интеграл вида
где — (измеримая) функция интереса.
Например, рассмотрим статистику и ее распределение вероятностей , которое является маргинальным распределением . Предположим, что цель состоит в оценке для на хвосте . Формально можно записать как
и, таким образом, оценка может быть выполнена путем оценки ожидаемого значения индикаторной функции , которая равна 1, когда и нулю в противном случае. Поскольку находится на хвосте , вероятность нарисовать состояние с на хвосте пропорциональна , что мало по определению. Алгоритм Метрополиса–Гастингса может быть использован здесь для выборки (редких) состояний с большей вероятностью и, таким образом, увеличения количества выборок, используемых для оценки на хвостах. Это можно сделать, например, с помощью распределения выборки в пользу этих состояний (например, с ).
Предположим, что последнее выбранное значение равно . Чтобы следовать алгоритму Метрополиса–Гастингса, мы далее рисуем новое состояние предложения с плотностью вероятности и вычисляем значение
где
- это вероятностное (например, байесовское апостериорное) отношение между предлагаемым образцом и предыдущим образцом , и
- отношение плотности предложения в двух направлениях (от к и обратно). Оно равно 1, если плотность предложения симметрична. Тогда новое состояние выбирается в соответствии со следующими правилами.
Цепь Маркова запускается с произвольного начального значения , и алгоритм выполняется в течение многих итераций, пока это начальное состояние не будет «забыто». Эти образцы, которые отбрасываются, известны как burn-in . Оставшийся набор принятых значений представляет собой образец из распределения .
Алгоритм работает лучше всего, если плотность предложения соответствует форме целевого распределения , из которого прямая выборка затруднена, то есть . Если используется гауссовская плотность предложения , параметр дисперсии должен быть настроен в течение периода обкатки. Обычно это делается путем вычисления скорости принятия , которая является долей предложенных образцов, которая принимается в окне последних образцов. Желаемая скорость принятия зависит от целевого распределения, однако было теоретически показано, что идеальная скорость принятия для одномерного гауссовского распределения составляет около 50%, уменьшаясь до около 23% для -мерного гауссова целевого распределения. [15] Эти руководящие принципы могут хорошо работать при выборке из достаточно регулярных байесовских апостериорных данных, поскольку они часто следуют многомерному нормальному распределению, что можно установить с помощью теоремы Бернштейна-фон Мизеса . [16]
Если слишком мало, цепь будет перемешиваться медленно (т. е. скорость принятия будет высокой, но последовательные образцы будут медленно перемещаться по пространству, и цепь будет сходиться только медленно к ). С другой стороны, если слишком велико, скорость принятия будет очень низкой, поскольку предложения, скорее всего, попадут в области с гораздо более низкой плотностью вероятности, поэтому будет очень малым, и снова цепь будет сходиться очень медленно. Обычно распределение предложений настраивается таким образом, чтобы алгоритмы принимали порядка 30% всех образцов — в соответствии с теоретическими оценками, упомянутыми в предыдущем абзаце.
MCMC можно использовать для получения выборок из апостериорного распределения статистической модели. Вероятность принятия определяется как: где — вероятность , априорная плотность вероятности и (условная) вероятность предложения.
{{cite book}}
: CS1 maint: others (link)