Алгоритм Метрополиса – Гастингса
В статистике и статистической физике алгоритм Метрополиса-Гастингса представляет собой метод Монте-Карло с цепью Маркова (MCMC) для получения последовательности случайных выборок из распределения вероятностей , из которого прямая выборка затруднена. Новые выборки добавляются в последовательность в два этапа: сначала предлагается новая выборка на основе предыдущей выборки, затем предложенная выборка либо добавляется в последовательность, либо отклоняется в зависимости от значения распределения вероятностей в этой точке. Полученную последовательность можно использовать для аппроксимации распределения (например, для создания гистограммы ) или для вычисления интеграла (например, ожидаемого значения ).
Метрополис-Гастингс и другие алгоритмы MCMC обычно используются для выборки из многомерных распределений, особенно когда количество измерений велико. Для одномерных распределений обычно существуют другие методы (например, адаптивная бракованная выборка ), которые могут напрямую возвращать независимые выборки из распределения, и они свободны от проблемы автокоррелированных выборок, присущей методам MCMC.
История
[ редактировать ]Алгоритм частично назван в честь Николаса Метрополиса , первого соавтора статьи 1953 года под названием «Уравнение вычислений состояния с помощью быстрых вычислительных машин» , совместно с Арианной В. Розенблут , Маршаллом Розенблутом , Огастой Х. Теллер и Эдвардом Теллером . В течение многих лет алгоритм был известен просто как алгоритм Метрополиса . [1] [2] В статье был предложен алгоритм для случая симметричного распределения предложений, но в 1970 году У.К. Гастингс распространил его на более общий случай. [3] Обобщенный метод в конечном итоге получил оба названия, хотя первое использование термина «алгоритм Метрополиса-Гастингса» неясно.
Некоторые разногласия существуют относительно заслуги в разработке алгоритма Метрополиса. Метрополис, который был знаком с вычислительными аспектами метода, ввел термин «Монте-Карло» в более ранней статье со Станиславом Уламом и возглавил группу теоретического отдела, которая спроектировала и построила компьютер MANIAC I, использованный в экспериментах в 1952. Однако до 2003 года подробного описания разработки алгоритма не было. Незадолго до своей смерти Маршалл Розенблют присутствовал на конференции 2003 года в LANL, посвященной 50-летию публикации 1953 года. На этой конференции Розенблут описал алгоритм и его развитие в презентации под названием «Происхождение алгоритма Монте-Карло для статистической механики». [4] Дальнейшие исторические разъяснения сделаны Губернатисом в журнальной статье 2005 года. [5] рассказывая о 50-летии конференции. Розенблут ясно дает понять, что работу выполнили он и его жена Арианна, и что «Метрополис» не играл никакой роли в разработке, кроме предоставления компьютерного времени.
Это противоречит сообщению Эдварда Теллера, который утверждает в своих мемуарах, что пять авторов статьи 1953 года работали вместе «днями (и ночами)». [6] Напротив, в подробном отчете Розенблюта Теллеру приписывают важное, но раннее предложение «воспользоваться преимуществами статистической механики и взять средние значения по ансамблю вместо того, чтобы следовать подробной кинематике ». Это, по словам Розенблюта, заставило его задуматься об обобщенном подходе Монте-Карло – теме, которую, по его словам, он часто обсуждал с Джоном фон Нейманом . Арианна Розенблут рассказала (Губернатису в 2003 году), что Огаста Теллер начала работу с компьютером, но Арианна сама взяла на себя управление и написала код с нуля. В устной истории, записанной незадолго до его смерти, [7] Розенблут снова приписывает Теллеру постановку исходной проблемы, ему самому ее решение, а Арианне - программирование компьютера.
Описание
[ редактировать ]Алгоритм Метрополиса – Гастингса может брать выборки из любого распределения вероятностей с плотностью вероятности. , при условии, что мы знаем функцию пропорционален плотности и ценности можно рассчитать. Требование, чтобы должен быть только пропорционален плотности, а не точно равен ей, что делает алгоритм Метрополиса-Гастингса особенно полезным, поскольку он устраняет необходимость расчета коэффициента нормализации плотности, что на практике часто бывает чрезвычайно сложно.
Алгоритм Метрополиса – Гастингса генерирует последовательность значений выборки таким образом, что по мере создания все большего и большего количества значений выборки распределение значений более точно приближается к желаемому распределению. Эти значения выборки создаются итеративно таким образом, что распределение следующей выборки зависит только от текущего значения выборки, что превращает последовательность выборок в цепь Маркова . В частности, на каждой итерации алгоритм предлагает кандидата на следующее значение выборки на основе текущего значения выборки. Затем с некоторой вероятностью кандидат либо принимается, и в этом случае значение кандидата используется на следующей итерации, либо он отклоняется, и в этом случае значение кандидата отбрасывается, а текущее значение повторно используется на следующей итерации. Вероятность приемки определяется путем сравнения значений функции текущих и потенциальных значений выборки относительно желаемого распределения.
Метод, используемый для предложения новых кандидатов, характеризуется распределением вероятностей (иногда пишется ) нового предложенного образца учитывая предыдущий образец . Это называется плотностью предложения , функцией предложения или прыгающим распределением . Распространенный выбор для представляет собой гауссово распределение с центром в , так что это указывает ближе к с большей вероятностью будут посещены следующими, превращая последовательность выборок в гауссово случайное блуждание . В оригинальной статье Metropolis et al. (1953), предполагалось, что это равномерное распределение, ограниченное некоторым максимальным расстоянием от . Также возможны более сложные функции предложения, такие как гамильтониан Монте-Карло , Ланжевена-Монте-Карло или предварительно обусловленный Кранк-Николсон .
В целях иллюстрации ниже описан алгоритм Метрополиса, частный случай алгоритма Метрополиса – Гастингса, в котором функция предложения симметрична.
- Алгоритм Метрополиса (симметричное распределение предложений)
Позволять быть функцией, которая пропорциональна желаемой функции плотности вероятности (также известное как целевое распределение) [а] .
- Инициализация: выберите произвольную точку быть первым наблюдением в выборке и выбрать функцию предложения . В этом разделе предполагается симметричным; другими словами, оно должно удовлетворять .
- Для каждой итерации t :
- Предложить кандидата для следующей выборки, выбрав из распределения .
- Рассчитать коэффициент приемки , который будет использоваться для принятия решения о принятии или отклонении кандидата [б] . Поскольку f пропорциональна плотности P , мы имеем, что .
- Принять или отклонить :
- Генерация равномерного случайного числа .
- Если , затем примите кандидата, установив ,
- Если , затем отклоните кандидата и установите вместо.
Этот алгоритм действует путем случайных попыток перемещения по выборочному пространству, иногда соглашаясь на ходы, а иногда оставаясь на месте. Обратите внимание, что приемочный коэффициент указывает, насколько вероятен новый предложенный образец по отношению к текущему образцу в соответствии с распределением, плотность которого равна . Если мы попытаемся перейти к точке, которая более вероятна, чем существующая точка (т. е. точка в области с более высокой плотностью соответствующий ), мы всегда примем этот переезд. Однако если мы попытаемся перейти к менее вероятной точке, мы иногда отклоним этот шаг, и чем больше относительное падение вероятности, тем больше вероятность того, что мы отклоним новую точку. Таким образом, мы будем стремиться оставаться в регионах с высокой плотностью населения (и возвращать большое количество образцов из них). , при этом лишь изредка посещая регионы с низкой плотностью населения. Интуитивно понятно, почему этот алгоритм работает и возвращает образцы, которые соответствуют желаемому распределению с плотностью. .
По сравнению с таким алгоритмом, как адаптивная отбраковочная выборка [8] который напрямую генерирует независимые выборки из распределения, алгоритмы Метрополиса – Гастингса и другие MCMC имеют ряд недостатков:
- Выборки автокоррелированы . Даже несмотря на то, что в долгосрочной перспективе они правильно следуют , набор соседних выборок будет коррелировать друг с другом и неправильно отражать распределение. Это означает, что эффективный размер выборки может быть значительно меньше, чем количество фактически взятых выборок, что приводит к большим ошибкам.
- Хотя цепь Маркова в конечном итоге сходится к желаемому распределению, исходные образцы могут иметь совсем другое распределение, особенно если отправная точка находится в области низкой плотности. В результате приработки , обычно необходим период [9] где первоначальное количество образцов выбрасывается.
С другой стороны, большинство простых методов отбраковки выборки страдают от « проклятия размерности », когда вероятность отбраковки возрастает экспоненциально в зависимости от количества измерений. Метрополис-Гастингс, наряду с другими методами MCMC, не имеет этой проблемы в такой степени и, таким образом, часто является единственным доступным решением, когда количество измерений распределения, подлежащего выборке, велико. В результате методы MCMC часто являются предпочтительными методами получения выборок из иерархических байесовских моделей и других многомерных статистических моделей, используемых в настоящее время во многих дисциплинах.
В многомерных распределениях классический алгоритм Метрополиса – Гастингса, описанный выше, включает выбор новой многомерной точки выборки. Когда количество измерений велико, найти подходящее распределение прыжков для использования может быть сложно, поскольку разные отдельные измерения ведут себя очень по-разному, а ширина прыжка (см. выше) должна быть «правильной» для всех измерений одновременно, чтобы избегайте слишком медленного перемешивания. Альтернативный подход, который часто работает лучше в таких ситуациях, известный как выборка Гиббса , предполагает выбор новой выборки для каждого измерения отдельно от других, а не выбор выборки для всех измерений одновременно. Таким образом, проблема выборки из потенциально многомерного пространства будет сведена к набору задач по выборке из маломерного пространства. [10] Это особенно применимо, когда многомерное распределение состоит из набора отдельных случайных величин , в которых каждая переменная обусловлена лишь небольшим количеством других переменных, как это имеет место в большинстве типичных иерархических моделей . Затем отдельные переменные выбираются по одной, при этом каждая переменная зависит от самых последних значений всех остальных. Для выбора этих отдельных выборок могут использоваться различные алгоритмы, в зависимости от точной формы многомерного распределения: некоторые возможности - это методы адаптивной выборки с отбраковкой , [8] алгоритм адаптивного отклонения Metropolis, [11] простой одномерный шаг Метрополиса-Гастингса или срезовая выборка .
Формальный вывод
[ редактировать ]Цель алгоритма Метрополиса – Гастингса — создать набор состояний в соответствии с желаемым распределением. . Для этого алгоритм использует марковский процесс , который асимптотически достигает уникального стационарного распределения. [ сломанный якорь ] такой, что . [12]
Марковский процесс однозначно определяется своими вероятностями перехода. , вероятность перехода из любого заданного состояния в любое другое данное состояние . Имеет уникальное стационарное распределение. когда выполняются следующие два условия: [12]
- Существование стационарного распределения : должно существовать стационарное распределение. . Достаточным, но не необходимым условием является детальный баланс , который требует, чтобы каждый переход обратимо: для каждой пары состояний , вероятность находиться в состоянии и переход в состояние должна быть равна вероятности нахождения в состоянии и переход в состояние , .
- Уникальность стационарного распределения : стационарное распределение должен быть уникальным. Это гарантируется эргодичностью марковского процесса, который требует, чтобы каждое состояние (1) было апериодическим — система не возвращается в одно и то же состояние через фиксированные промежутки времени; и (2) быть положительно рекуррентными — ожидаемое число шагов для возврата в то же состояние конечно.
Алгоритм Метрополиса – Гастингса включает в себя разработку марковского процесса (путем построения вероятностей перехода), который удовлетворяет двум вышеуказанным условиям, так что его стационарное распределение выбран быть . Вывод алгоритма начинается с условия детального баланса :
который переписывается как
Подход состоит в том, чтобы разделить переход на два подэтапа; предложение и принятие-отказ. Распространение предложений это условная вероятность предложения состояния данный и акцептирующее распределение это вероятность принять предложенное состояние . Вероятность перехода можно записать как произведение их:
Подставив это соотношение в предыдущее уравнение, получим
Следующим шагом в выводе является выбор коэффициента приемки, который удовлетворяет приведенному выше условию. Одним из распространенных вариантов является выбор Метрополиса:
Для этого коэффициента приемки Метрополиса , или или и в любом случае условие выполняется.
Таким образом, алгоритм Метрополиса – Гастингса можно записать следующим образом:
- Инициализировать
- Выберите начальное состояние .
- Набор .
- Итерировать
- Создать случайное состояние-кандидат в соответствии с .
- Рассчитать вероятность принятия .
- Принять или отклонить :
- генерировать равномерное случайное число ;
- если , затем примите новое состояние и установите ;
- если , затем отклоните новое состояние и скопируйте старое состояние вперед .
- Приращение : установлено .
При выполнении заданных условий эмпирическое распределение сохраненных состояний подойдет . Количество итераций ( ) требуется для эффективной оценки зависит от ряда факторов, в том числе от взаимоотношений между а также распределение предложений и желаемая точность оценки. [13] Для распределения в дискретных пространствах состояний оно должно быть порядка времени автокорреляции марковского процесса. [14]
Важно отметить, что в общей задаче неясно, какое распределение следует использовать или количество итераций, необходимое для правильной оценки; оба являются свободными параметрами метода, которые необходимо адаптировать к конкретной решаемой задаче.
Использование в численном интегрировании
[ редактировать ]Алгоритм Метрополиса – Гастингса обычно используется для вычисления интеграла. В частности, рассмотрим пространство и распределение вероятностей над , . Метрополис – Гастингс может оценить интеграл вида
где представляет собой (измеримую) функцию интереса.
Например, рассмотрим статистику и его распределение вероятностей , что является маргинальным распределением . Предположим, что цель состоит в том, чтобы оценить для на хвосте . Формально, можно записать как
и, таким образом, оценивая может быть достигнуто путем оценки ожидаемого значения индикаторной функции , который равен 1, когда и ноль в противном случае.Потому что находится на хвосте , вероятность нарисовать состояние с на хвосте пропорционально , что мало по определению. Здесь можно использовать алгоритм Метрополиса – Гастингса для более вероятной выборки (редких) состояний и, таким образом, увеличения количества выборок, используемых для оценки. на хвостах. Это можно сделать, например, с помощью выборочного распределения. в пользу этих государств (например, с ).
Пошаговые инструкции
[ редактировать ]Предположим, что самое последнее выбранное значение равно . Следуя алгоритму Метрополиса – Гастингса, мы затем рисуем новое состояние предложения. с плотностью вероятности и рассчитать стоимость
где
это отношение вероятностей (например, байесовское апостериорное) между предложенной выборкой и предыдущий образец , и
— соотношение плотности предложения в двух направлениях (от к и наоборот).Это значение равно 1, если плотность предложений симметрична.Тогда новое состояние выбирается по следующим правилам.
- Если
- еще:
Цепь Маркова запускается с произвольного начального значения , и алгоритм выполняется множество итераций, пока это начальное состояние не будет «забыто». Эти образцы, которые выбрасываются, известны как выгорание . Оставшийся набор принятых значений представляют выборку из распределения .
Алгоритм работает лучше всего, если плотность предложений соответствует форме целевого распределения. , из которого прямая выборка затруднена, т.е. .Если плотность предложения по Гауссу используется параметр дисперсии необходимо настроить в период приработки.Обычно это делается путем расчета коэффициента принятия , который представляет собой долю предложенных образцов, принятую в окне последнего образцы.Желаемая степень принятия зависит от целевого распределения, однако теоретически было показано, что идеальная скорость принятия для одномерного распределения Гаусса составляет около 50%, уменьшаясь примерно до 23% для -мерное гауссово целевое распределение. [15] Эти рекомендации могут хорошо работать при выборке из достаточно регулярных байесовских апостериорных данных, поскольку они часто следуют многомерному нормальному распределению, которое можно установить с помощью теоремы Бернштейна-фон Мизеса . [16]
Если слишком мала, цепочка будет перемешиваться медленно (т. е. скорость приема будет высокой, но последовательные образцы будут медленно перемещаться по пространству, и цепочка будет лишь медленно сходиться к ). С другой стороны,если слишком велико, процент принятия будет очень низким, поскольку предложения, скорее всего, попадут в регионы с гораздо более низкой плотностью вероятности, поэтому будет очень мал, и снова цепочка будет сходиться очень медленно. Обычно распределение предложений настраивают так, чтобы алгоритмы принимали порядка 30% всех выборок – в соответствии с теоретическими оценками, упомянутыми в предыдущем абзаце.
Байесовский вывод
[ редактировать ]MCMC можно использовать для получения выборок из апостериорного распределения статистической модели.Вероятность принятия определяется выражением: где это вероятность , априорная плотность вероятности и (условная) вероятность предложения.
См. также
[ редактировать ]- Генетические алгоритмы
- Методы частиц среднего поля
- Легкий транспорт Метрополис
- Многократная попытка Метрополис
- Параллельный отпуск
- Последовательное Монте-Карло
- Имитация отжига
Ссылки
[ редактировать ]- ^ Калос, Малвин Х.; Уитлок, Паула А. (1986). Методы Монте-Карло, том I: основы . Нью-Йорк: Уайли. стр. 78–88.
- ^ Тирни, Люк (1994). «Цепи Маркова для исследования апостериорных распределений» . Анналы статистики . 22 (4): 1701–1762. дои : 10.1214/aos/1176325750 .
- ^ Гастингс, WK (1970). «Методы выборки Монте-Карло с использованием цепей Маркова и их приложения». Биометрика . 57 (1): 97–109. Бибкод : 1970Бимка..57...97H . дои : 10.1093/biomet/57.1.97 . JSTOR 2334940 . Збл 0219.65008 .
- ^ М. Н. Розенблут (2003). «Происхождение алгоритма Монте-Карло для статистической механики». Материалы конференции AIP . 690 : 22–30. Бибкод : 2003AIPC..690...22R . дои : 10.1063/1.1632112 .
- ^ Дж. Э. Губернатис (2005). «Маршалл Розенблют и алгоритм Метрополиса» . Физика плазмы . 12 (5): 057303. Бибкод : 2005PhPl...12e7303G . дои : 10.1063/1.1887186 .
- ^ Теллер, Эдвард. Мемуары: путешествие в науку и политику в двадцатый век . Издательство «Персей» , 2001, с. 328
- ^ Розенблут, Маршалл. «Стенограмма устной истории» . Американский институт физики
- ^ Перейти обратно: а б Гилкс, WR; Уайлд, П. (1 января 1992 г.). «Адаптивная отбраковочная выборка для выборки Гиббса». Журнал Королевского статистического общества. Серия C (Прикладная статистика) . 41 (2): 337–348. дои : 10.2307/2347565 . JSTOR 2347565 .
- ^ Байесовский анализ данных . Гельман, Эндрю (2-е изд.). Бока-Ратон, Флорида: Chapman & Hall / CRC. 2004. ISBN 978-1584883883 . OCLC 51991499 .
{{cite book}}
: CS1 maint: другие ( ссылка ) - ^ Ли, Се Юн (2021). «Сэмплер Гиббса и вариационный вывод по координатному восхождению: теоретико-множественный обзор». Коммуникации в статистике - теория и методы . 51 (6): 1549–1568. arXiv : 2008.01006 . дои : 10.1080/03610926.2021.1921214 . S2CID 220935477 .
- ^ Гилкс, WR; Бест, Нью-Йорк ; Тан, KKC (1 января 1995 г.). «Выборка мегаполиса с адаптивным отклонением в рамках выборки Гиббса». Журнал Королевского статистического общества. Серия C (Прикладная статистика) . 44 (4): 455–472. дои : 10.2307/2986138 . JSTOR 2986138 .
- ^ Перейти обратно: а б Роберт, Кристиан; Казелла, Джордж (2004). Статистические методы Монте-Карло . Спрингер. ISBN 978-0387212395 .
- ^ Рафтери, Адриан Э. и Стивен Льюис. «Сколько итераций в сэмплере Гиббса?» В байесовской статистике 4 . 1992.
- ^ Ньюман, МЭЖ; Баркема, GT (1999). Методы Монте-Карло в статистической физике . США: Издательство Оксфордского университета. ISBN 978-0198517979 .
- ^ Робертс, ГО; Гельман А.; Гилкс, WR (1997). «Слабая сходимость и оптимальное масштабирование алгоритмов Метрополиса случайного блуждания» . Энн. Прил. Вероятно. 7 (1): 110–120. CiteSeerX 10.1.1.717.2582 . дои : 10.1214/aoap/1034625254 .
- ^ Шмон, Себастьян М.; Ганьон, Филипп (15 апреля 2022 г.). «Оптимальное масштабирование алгоритмов Метрополиса случайного блуждания с использованием байесовской асимптотики большой выборки» . Статистика и вычисления . 32 (2): 28. дои : 10.1007/s11222-022-10080-8 . ISSN 0960-3174 . ПМЦ 8924149 . ПМИД 35310543 .
Примечания
[ редактировать ]- ^ В оригинальной статье Metropolis et al. (1953), было принято распределение Больцмана , поскольку в качестве конкретного приложения рассматривалось интегрирование уравнений состояния в физической химии по методу Монте-Карло ; расширение Гастингса, обобщенное на произвольное распределение .
- ^ В оригинальной статье Metropolis et al. (1953), на самом деле было распределением Больцмана в том виде, в каком оно применялось к физическим системам в контексте статистической механики (например, распределение микросостояний с максимальной энтропией для данной температуры при тепловом равновесии). Следовательно, коэффициент принятия сам по себе был экспонентой разности параметров числителя и знаменателя этого отношения.
Дальнейшее чтение
[ редактировать ]- Бернд А. Берг . Моделирование Монте-Карло марковской цепью и их статистический анализ . Сингапур, World Scientific , 2004.
- Чиб, Сиддхартха; Гринберг, Эдвард (1995). «Понимание алгоритма Метрополиса – Гастингса» . Американский статистик , 49 (4), 327–335.
- Дэвид ДЛ Мин и До Ле Мин. «Понимание алгоритма Гастингса». Коммуникации в статистике – моделирование и вычисления, 44:2 332–349, 2015 г.
- Болстад, Уильям М. (2010) Понимание вычислительной байесовской статистики , John Wiley & Sons ISBN 0-470-04609-0