Алгоритм Метрополиса – Гастингса - Metropolis–Hastings algorithm
В статистика и статистическая физика, то Алгоритм Метрополиса – Гастингса это Цепь Маркова Монте-Карло (MCMC) метод получения последовательности случайные выборки из распределение вероятностей из которых затруднен прямой отбор проб. Эта последовательность может использоваться для аппроксимации распределения (например, для создания гистограмма ) или в вычислить интеграл (например, ожидаемое значение ). Метрополис – Гастингс и другие алгоритмы MCMC обычно используются для выборки из многомерных распределений, особенно когда количество измерений велико. Для одномерных распределений обычно существуют другие методы (например, адаптивное отклонение выборки ), которые могут напрямую возвращать независимые выборки из дистрибутива, и они свободны от проблемы автокоррелированный образцов, что присуще методам MCMC.
История
Алгоритм был назван в честь Николай Метрополис, автор статьи 1953 г. Уравнение расчета состояний на быстрых вычислительных машинах вместе с Арианна В. Розенблют, Маршалл Розенблют, Огаста Х. Теллер и Эдвард Теллер. В этой статье предложен алгоритм для случая симметричных распределений предложений, и В. К. Гастингс распространил его на более общий случай в 1970 году.[1]
Некоторые разногласия существуют относительно кредита на разработку алгоритма. Метрополис ввел термин «Монте-Карло» в более раннюю статью с Станислав Улам, был знаком с вычислительными аспектами метода и возглавлял группу теоретического отдела, которая разработала и построила МАНИАК I компьютер, который использовался в экспериментах в 1952 году. Однако до 2003 года подробного описания развития алгоритма не существовало. Затем, незадолго до его смерти, Маршалл Розенблют присутствовал на конференции 2003 года в LANL, посвященной 50-летию публикации 1953 года. На этой конференции Розенблют описал алгоритм и его развитие в презентации под названием «Генезис алгоритма Монте-Карло для статистической механики».[2] Дальнейшее историческое разъяснение сделано Губернатисом в журнальной статье 2005 г.[3] Пересчет 50-летия конференции. Розенблют ясно дает понять, что он и его жена Арианна сделали работу, и что Метрополис не играл никакой роли в развитии, кроме предоставления компьютерного времени.
Это противоречит описанию Эдварда Теллера, который утверждает в своих мемуарах, что пять авторов статьи 1953 года работали вместе «днями (и ночами)».[4] Напротив, в подробном отчете Розенблюта Теллер сделал важное, но раннее предложение «воспользоваться статистической механикой и взять средние по совокупности вместо того, чтобы следовать детальной кинематике». Это, по словам Розенблюта, побудило его задуматься об обобщенном подходе Монте-Карло - теме, которую, по его словам, он часто обсуждал с Фон Нейман. Арианна Розенблут рассказала (Губернатису в 2003 году), что Августа Теллер начала работу за компьютером, но сама Арианна взяла на себя ее и написала код с нуля. В устной истории, записанной незадолго до его смерти,[5] Розенблут снова приписывает Теллеру постановку исходной задачи, его решение - самого себя, а Арианне - программирование компьютера. Что касается репутации, у Розенблута нет особых причин ставить под сомнение. В биографических воспоминаниях Розенблута Фриман Дайсон пишет:[6]
Я много раз приходил к Розенблуту, задавал ему вопрос [...] и получал ответ через две минуты. Затем мне обычно требовалась неделя напряженной работы, чтобы в деталях понять, почему ответ Розенблута был правильным. У него была удивительная способность видеть сложные физические ситуации и находить правильный ответ с помощью физических аргументов. Энрико Ферми был единственным из известных мне физиков, равным Розенблюту в его интуитивном понимании физики.
Интуиция
Алгоритм Метрополиса – Гастингса может брать образцы из любых распределение вероятностей при условии, что мы знаем функцию пропорционально плотность из и значения можно рассчитать. Требование, чтобы Должен быть только пропорционален плотности, а не точно равен ей, что делает алгоритм Метрополиса – Гастингса особенно полезным, поскольку вычисление необходимого коэффициента нормализации на практике часто бывает чрезвычайно трудным.
Алгоритм Метрополиса – Гастингса работает, генерируя последовательность выборочных значений таким образом, что по мере создания все большего количества выборочных значений распределение значений более точно приближается к желаемому распределению. . Эти значения выборки создаются итеративно, при этом распределение следующей выборки зависит только от текущего значения выборки (таким образом, превращая последовательность выборок в Цепь Маркова ). В частности, на каждой итерации алгоритм выбирает кандидата для следующего значения выборки на основе текущего значения выборки. Затем с некоторой вероятностью кандидат либо принимается (в этом случае значение кандидата используется в следующей итерации), либо отклоняется (в этом случае значение кандидата отбрасывается, а текущее значение повторно используется в следующей итерации) - вероятность принятия определяется путем сравнения значений функции текущих и возможных значений выборки по отношению к желаемому распределению .
В целях иллюстрации ниже описывается алгоритм Метрополиса, частный случай алгоритма Метрополиса – Гастингса, в котором функция предложения является симметричной.
Алгоритм Метрополиса (симметричное распределение предложений)
Позволять - функция, пропорциональная желаемому распределению вероятностей (также известное как целевое распределение).
- Инициализация: выберите произвольную точку быть первым образцом и выбрать произвольную плотность вероятности (иногда пишется ), который предлагает кандидата на следующее значение выборки , учитывая предыдущее значение выборки . В этой секции, считается симметричным; другими словами, он должен удовлетворять . Обычный выбор - позволить быть Гауссово распределение сосредоточен на , так что точки ближе к вероятнее всего, их посетят следующим, что превратит последовательность выборок в случайная прогулка. Функция называется плотность предложения или же скачущее распределение.
- Для каждой итерации т:
- Генерировать кандидат для следующего образца, выбрав из раздачи .
- Рассчитать то коэффициент принятия , который будет использоваться для принятия решения о принятии или отклонении кандидата. Потому что ж пропорциональна плотности пу нас есть это .
- Принять или отклонить:
- Создать однородное случайное число .
- Если , тогда принимать кандидат, установив ,
- Если , тогда отклонять кандидат и набор вместо.
Этот алгоритм работает, пытаясь случайным образом перемещаться по пространству выборки, иногда принимая ходы, а иногда оставаясь на месте. Обратите внимание, что коэффициент принятия указывает, насколько вероятна новая предлагаемая выборка по сравнению с текущей выборкой в соответствии с распределением . Если мы попытаемся переместиться в точку, которая более вероятна, чем существующая точка (то есть точка в области с более высокой плотностью ), мы всегда примем ход. Однако, если мы пытаемся перейти к менее вероятной точке, мы иногда отклоняем это движение, и чем больше относительное падение вероятности, тем больше вероятность, что мы отклоним новую точку. Таким образом, мы будем стремиться оставаться в регионах с высокой плотностью (и возвращать большое количество образцов из них). , при этом лишь изредка посещая районы с низкой плотностью населения. Интуитивно понятно, почему этот алгоритм работает и возвращает образцы, которые соответствуют желаемому распределению. .
По сравнению с таким алгоритмом, как адаптивное отклонение выборки[7] который напрямую генерирует независимые выборки из распределения, алгоритмы Metropolis – Hastings и другие MCMC имеют ряд недостатков:
- Образцы коррелированы. Хотя в долгосрочной перспективе они правильно следуют , набор ближайших выборок будет коррелирован друг с другом и не будет правильно отражать распределение. Это означает, что если нам нужен набор независимых образцов, мы должны выбросить большинство образцов и брать только каждый пth выборка, для некоторого значения п (обычно определяется путем изучения автокорреляция между соседними образцами). Автокорреляцию можно уменьшить, увеличив ширина прыжка (средний размер прыжка, который связан с дисперсией распределения прыжков), но это также увеличит вероятность отклонения предложенного прыжка. Слишком большой или слишком маленький размер прыжка приведет к медленное перемешивание Цепь Маркова, т.е. высококоррелированный набор выборок, поэтому для получения разумной оценки любого желаемого свойства распределения потребуется очень большое количество выборок.
- Хотя цепь Маркова в конечном итоге сходится к желаемому распределению, начальные выборки могут следовать совсем другому распределению, особенно если начальная точка находится в области с низкой плотностью. В результате записать в период обычно необходим,[8] где начальное количество образцов (например, первые 1000 или около того) выбрасывается.
С другой стороны, самый простой отбраковка методы страдают от "проклятие размерности ", где вероятность отклонения экспоненциально возрастает в зависимости от количества измерений. Метрополис-Гастингс, как и другие методы MCMC, не имеют этой проблемы в такой степени, и поэтому часто являются единственными доступными решениями, когда количество размерность выборки распределения высока. В результате методы MCMC часто являются методами выбора для получения образцов из иерархические байесовские модели и другие многомерные статистические модели, используемые в настоящее время во многих дисциплинах.
В многомерный распределений, классический алгоритм Метрополиса – Гастингса, описанный выше, включает выбор новой многомерной точки выборки. Когда количество измерений велико, найти подходящее распределение прыжков для использования может быть сложно, так как разные отдельные измерения ведут себя по-разному, а ширина прыжка (см. Выше) должна быть "правильной" для всех измерений сразу, чтобы Избегайте слишком медленного перемешивания. Альтернативный подход, который часто лучше работает в таких ситуациях, известный как Выборка Гиббса, предполагает выбор новой выборки для каждого измерения отдельно от других, а не выборку для всех измерений сразу. Это особенно применимо, когда многомерное распределение состоит из набора отдельных случайные переменные в котором каждая переменная зависит только от небольшого числа других переменных, как в большинстве типичных иерархические модели. Затем отбираются отдельные переменные по одной, каждая переменная зависит от самых последних значений всех остальных. Для выбора этих отдельных выборок можно использовать различные алгоритмы, в зависимости от точной формы многомерного распределения: некоторые возможности включают адаптивное отклонение выборки методы,[7] алгоритм адаптивного отклонения выборки Метрополиса[9] простой одномерный шаг Метрополиса – Гастингса, или выборка срезов.
Формальное происхождение
Целью алгоритма Метрополиса – Гастингса является создание набора состояний в соответствии с желаемым распределением. . Для этого алгоритм использует Марковский процесс, который асимптотически достигает единственного стационарное распределение такой, что .[10]
Марковский процесс однозначно определяется своими переходными вероятностями , вероятность перехода из любого заданного состояния в любое другое данное состояние . Имеет уникальное стационарное распределение. при соблюдении следующих двух условий:[10]
- Наличие стационарного распределения: должно существовать стационарное распределение . Достаточным, но не необходимым условием является подробный баланс, что требует, чтобы каждый переход обратимо: для каждой пары состояний , вероятность нахождения в состоянии и переход в состояние должно быть равно вероятности нахождения в состоянии и переход в состояние , .
- Уникальность стационарного распределения: стационарное распределение Должно быть уникальным. Это гарантируется эргодичность марковского процесса, который требует, чтобы каждое состояние (1) было апериодическим - система не возвращается в одно и то же состояние через фиксированные промежутки времени; и (2) быть положительно повторяющимся - ожидаемое количество шагов для возврата в то же состояние конечно.
Алгоритм Метрополиса – Гастингса включает в себя разработку марковского процесса (путем построения переходных вероятностей), который удовлетворяет двум вышеуказанным условиям, так что его стационарное распределение выбрано быть . Вывод алгоритма начинается с условия подробный баланс:
который переписывается как
Подход состоит в том, чтобы разделить переход на два подэтапа; предложение и прием-отказ. Распространение предложения условная вероятность предложения состояния данный , и распределение принятия вероятность принять предложенное состояние . Вероятность перехода можно записать как их произведение:
Подставляя это соотношение в предыдущее уравнение, мы имеем
Следующим шагом в выводе является выбор коэффициента приемлемости, который удовлетворяет вышеуказанному условию. Один из распространенных вариантов - выбор Метрополиса:
Для данного Метрополиса коэффициент приемки , либо или же и в любом случае условие выполняется.
Таким образом, алгоритм Метрополиса – Гастингса состоит в следующем:
- Инициализировать
- Выберите начальное состояние .
- Набор .
- Повторять
- Генерировать случайное состояние кандидата в соответствии с .
- Рассчитать вероятность принятия .
- Принять или отклонить:
- генерировать однородное случайное число ;
- если , тогда принимать новое состояние и установить ;
- если , тогда отклонять новое состояние и скопируйте старое состояние вперед .
- Инкремент: набор .
При соблюдении указанных условий эмпирическое распределение сохраненных состояний подойдет . Количество итераций () требуется для эффективной оценки зависит от ряда факторов, включая взаимосвязь между а также распределение предложений и желаемая точность оценки.[11] Для распределения в дискретных пространствах состояний он должен быть порядка автокорреляция время марковского процесса.[12]
Важно отметить, что в общей проблеме неясно, какое распределение следует использовать или количество итераций, необходимое для правильной оценки; оба являются свободными параметрами метода, которые необходимо адаптировать к конкретной задаче.
Использование в численном интегрировании
Обычно алгоритм Метрополиса – Гастингса используется для вычисления интеграла. В частности, рассмотрите пространство и распределение вероятностей над , . Метрополис – Гастингс может оценить интеграл формы
куда является интересующей (измеримой) функцией.
Например, рассмотрим статистика и его распределение вероятностей , который является предельное распределение. Предположим, что цель - оценить за на хвосте . Формально, можно записать как
и, таким образом, оценивая может быть достигнуто путем оценки ожидаемой стоимости индикаторная функция , который равен 1, когда и ноль в противном случае. находится на хвосте , вероятность нарисовать состояние с на хвосте пропорционально , которая по определению мала. Здесь можно использовать алгоритм Метрополиса – Гастингса для более вероятных выборок (редких) состояний и, таким образом, увеличения количества выборок, используемых для оценки на хвостах. Это можно сделать, например, с помощью выборочного распределения в пользу этих состояний (например, с ).
Пошаговая инструкция
Предположим, что самым последним выбранным значением является . Следуя алгоритму Метрополиса – Гастингса, мы рисуем новое состояние предложения. с плотностью вероятности и рассчитать значение
куда
вероятность (например, байесовская апостериорная) между предложенной выборкой и предыдущий образец , и
- отношение плотности предложения по двум направлениям (от к и наоборот). Это равно 1, если плотность предложения симметрична. Тогда новое состояние выбирается по следующим правилам.
- Если
- еще:
Цепь Маркова начинается с произвольного начального значения , и алгоритм выполняется много итераций, пока это начальное состояние не будет «забыто». Эти выброшенные образцы известны как записать в. Оставшийся набор принятых значений представляют собой образец из раздачи .
Алгоритм работает лучше всего, если плотность предложения соответствует форме целевого распределения. , из которых затруднен прямой отбор проб, то есть .Если гауссова плотность предложения используется параметр дисперсии должен быть настроен во время периода приработки. Обычно это делается путем расчета Скорость принятия, которая представляет собой долю предложенных выборок, которая принимается в окне последнего Желаемая скорость приема зависит от целевого распределения, однако теоретически было показано, что идеальная скорость приема для одномерного гауссова распределения составляет около 50%, снижаясь до примерно 23% для -мерное гауссово целевое распределение.[13]
Если слишком мала, цепь будет медленно перемешивать (то есть скорость приема будет высокой, но последовательные образцы будут медленно перемещаться по пространству, и цепочка будет только медленно сходиться к ). С другой стороны, если слишком велико, процент принятия будет очень низким, потому что предложения, скорее всего, попадут в регионы с гораздо более низкой плотностью вероятности, поэтому будет очень маленьким, и снова цепочка будет сходиться очень медленно. Обычно распределение предложений настраивается так, чтобы алгоритмы принимали порядка 30% всех выборок - в соответствии с теоретическими оценками, упомянутыми в предыдущем абзаце.
Смотрите также
- Детальный баланс
- Генетические алгоритмы
- Выборка Гиббса
- Методы частиц среднего поля
- Алгоритм Ланжевена с поправкой на мегаполис
- Легковой транспорт Метрополис
- Метрополис с несколькими попытками
- Параллельный отпуск
- Предварительно подготовленный алгоритм Crank – Nicolson
- Последовательный Монте-Карло
- Имитация отжига
Рекомендации
- ^ Гастингс, В.К. (1970). "Методы дискретизации Монте-Карло с использованием цепей Маркова и их приложения". Биометрика. 57 (1): 97–109. Bibcode:1970Бимка..57 ... 97Н. Дои:10.1093 / biomet / 57.1.97. JSTOR 2334940. Zbl 0219.65008.
- ^ М.Н. Розенблют (2003). «Генезис алгоритма Монте-Карло для статистической механики». Материалы конференции AIP. 690: 22–30. Дои:10.1063/1.1632112.
- ^ Дж. Э. Губернатис (2005). «Маршалл Розенблют и алгоритм мегаполиса». Физика плазмы. 12 (5): 057303. Bibcode:2005ФПЛ ... 12Э7303Г. Дои:10.1063/1.1887186.
- ^ Теллер, Эдвард. Мемуары: путешествие в двадцатый век в науке и политике. Издательство "Персей", 2001, с. 328
- ^ Розенблют, Маршалл. «Стенограмма устной истории». Американский институт физики
- ^ Ф. Дайсон (2006). «Маршалл Н. Розенблют». Труды Американского философского общества. 250: 404.
- ^ а б Gilks, W. R .; Уайлд, П. (1992-01-01). «Адаптивная выборка отбраковки для выборки Гиббса». Журнал Королевского статистического общества. Серия C (Прикладная статистика). 41 (2): 337–348. Дои:10.2307/2347565. JSTOR 2347565.
- ^ Байесовский анализ данных. Гельман, Андрей (2-е изд.). Бока-Ратон, Флорида: Chapman & Hall / CRC. 2004 г. ISBN 978-1584883883. OCLC 51991499.CS1 maint: другие (связь)
- ^ Gilks, W. R .; Бест, Н.Г.; Тан, К. К. (1995-01-01). «Адаптивное отклонение семплирования мегаполиса в рамках семплирования Гиббса». Журнал Королевского статистического общества. Серия C (Прикладная статистика). 44 (4): 455–472. Дои:10.2307/2986138. JSTOR 2986138.
- ^ а б Роберт, Кристиан; Казелла, Джордж (2004). Статистические методы Монте-Карло. Springer. ISBN 978-0387212395.
- ^ Рафтери, Адриан Э. и Стивен Льюис. "Сколько итераций в семплере Гиббса?" В байесовской статистике 4. 1992.
- ^ Newman, M. E. J .; Баркема, Г. Т. (1999). Методы Монте-Карло в статистической физике. США: Издательство Оксфордского университета. ISBN 978-0198517979.
- ^ Робертс, Г.О .; Гельман, А .; Гилкс, W.R. (1997). «Слабая сходимость и оптимальное масштабирование алгоритмов случайного блуждания Метрополиса». Анна. Appl. Вероятно. 7 (1): 110–120. CiteSeerX 10.1.1.717.2582. Дои:10.1214 / aoap / 1034625254.
дальнейшее чтение
- Бернд А. Берг. Моделирование цепей Маркова методом Монте-Карло и их статистический анализ. Сингапур, Всемирный научный, 2004.
- Сиддхартха Чиб и Эдвард Гринберг: «Понимание алгоритма Метрополиса – Гастингса». Американский статистик, 49(4), 327–335, 1995
- Дэвид Д. Л. Минь и До Ле Минь. «Понимание алгоритма Гастингса». Коммуникации в статистике - моделирование и вычисления, 44: 2 332-349, 2015
- Болстад, Уильям М. (2010) Понимание вычислительной байесовской статистики, Джон Уайли и сыновья ISBN 0-470-04609-0