stringtranslate.com

Алгоритм Метрополиса – Гастингса

Распределение предложений Q предлагает следующую точку, к которой может переместиться случайное блуждание .

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

История

Алгоритм частично назван в честь Николаса Метрополиса , первого соавтора статьи 1953 года под названием « Уравнение вычислений состояния с помощью быстрых вычислительных машин» , совместно с Арианной В. Розенблут , Маршаллом Розенблутом , Огастой Х. Теллер и Эдвардом Теллером . В течение многих лет алгоритм был известен просто как алгоритм Метрополиса . [1] [2] В статье был предложен алгоритм для случая симметричного распределения предложений, но в 1970 году У.К. Гастингс расширил его на более общий случай. [3] Обобщенный метод в конечном итоге получил оба названия, хотя первое использование термина «алгоритм Метрополиса-Гастингса» неясно.

Некоторые разногласия существуют относительно заслуги в разработке алгоритма Метрополиса. Метрополис, который был знаком с вычислительными аспектами метода, ввел термин «Монте-Карло» в более ранней статье со Станиславом Уламом и возглавил группу теоретического отдела, которая спроектировала и построила компьютер MANIAC I , использованный в экспериментах в 1952. Однако до 2003 года подробного описания разработки алгоритма не было. Незадолго до своей смерти Маршалл Розенблют присутствовал на конференции 2003 года в LANL, посвященной 50-летию публикации 1953 года. На этой конференции Розенблут описал алгоритм и его развитие в презентации под названием «Происхождение алгоритма Монте-Карло для статистической механики». [4] Дальнейшие исторические разъяснения сделаны Губернатисом в журнальной статье 2005 года [5], в которой рассказывается о 50-й юбилейной конференции. Розенблут ясно дает понять, что работу выполнили он и его жена Арианна, и что «Метрополис» не играл никакой роли в разработке, кроме предоставления компьютерного времени.

Это противоречит сообщению Эдварда Теллера, который утверждает в своих мемуарах, что пять авторов статьи 1953 года работали вместе «днями (и ночами)». [6] Напротив, в подробном отчете Розенблюта Теллеру приписывают важное, но раннее предложение «воспользоваться преимуществами статистической механики и взять средние значения по ансамблю вместо того, чтобы следовать подробной кинематике ». Это, по словам Розенблюта, заставило его задуматься об обобщенном подходе Монте-Карло – теме, которую, по его словам, он часто обсуждал с Джоном фон Нейманом . Арианна Розенблут рассказала (Губернатису в 2003 году), что Огаста Теллер начала работу с компьютером, но Арианна сама взяла на себя управление и написала код с нуля. В устной истории, записанной незадолго до его смерти, [7] Розенблут снова приписывает Теллеру постановку исходной проблемы, ему самому - ее решение, а Арианне - программирование компьютера.

Интуиция

Алгоритм Метрополиса – Гастингса может извлекать выборки из любого распределения вероятностей с плотностью вероятности при условии, что мы знаем функцию, пропорциональную плотности , и значения можно вычислить. Требование, чтобы плотность была только пропорциональна, а не точно равна ей, делает алгоритм Метрополиса – Гастингса особенно полезным, поскольку вычисление необходимого нормировочного коэффициента на практике часто бывает чрезвычайно трудным.

Алгоритм Метрополиса – Гастингса генерирует последовательность значений выборки таким образом, что по мере создания все большего и большего количества значений выборки распределение значений более точно приближается к желаемому распределению. Эти значения выборки создаются итеративно, при этом распределение следующей выборки зависит только от текущего значения выборки, что превращает последовательность выборок в цепь Маркова . В частности, на каждой итерации алгоритм выбирает кандидата на следующее значение выборки на основе текущего значения выборки. Затем с некоторой вероятностью кандидат либо принимается, и в этом случае значение кандидата используется на следующей итерации, либо он отклоняется, и в этом случае значение кандидата отбрасывается, а текущее значение повторно используется на следующей итерации. Вероятность принятия определяется путем сравнения значений функции текущего и кандидатского значений выборки относительно желаемого распределения.

В целях иллюстрации ниже описан алгоритм Метрополиса, частный случай алгоритма Метрополиса – Гастингса, в котором функция предложения симметрична.

Алгоритм Метрополиса (симметричное распределение предложений)

Позвольте быть функцией, которая пропорциональна желаемой функции плотности вероятности (также известной как целевое распределение) [a] .

  1. Инициализация: выберите произвольную точку , которая будет первым наблюдением в выборке, и выберите произвольную плотность вероятности (иногда обозначаемую ), которая предлагает кандидата на следующее значение выборки , учитывая значение предыдущей выборки . В этом разделе предполагается, что оно симметрично; другими словами, оно должно удовлетворять . Обычно выбирают гауссово распределение с центром в , чтобы точки, расположенные ближе к, с большей вероятностью посещались следующими, превращая последовательность выборок в случайное блуждание [b] . Функция называется плотностью предложений или скачкообразным распределением .
  2. Для каждой итерации t :
    • Создайте кандидата для следующей выборки, выбрав его из распределения .
    • Рассчитайте коэффициент принятия , который будет использоваться для принятия решения о принятии или отклонении кандидата [c] . Поскольку f пропорциональна плотности P , мы имеем следующее .
    • Принять или отклонить :
      • Сгенерируйте равномерное случайное число .
      • Если , то принять кандидата, установив ,
      • Если , то отклоните кандидата и установите вместо него.

Этот алгоритм действует путем случайных попыток перемещения по выборочному пространству, иногда соглашаясь на ходы, а иногда оставаясь на месте. Обратите внимание, что коэффициент приемлемости указывает, насколько вероятен новый предложенный образец по отношению к текущему образцу в соответствии с распределением, плотность которого равна . Если мы попытаемся перейти к точке, которая более вероятна, чем существующая точка (т. е. точка в области с более высокой плотностью, соответствующей ) , мы всегда примем этот шаг. Однако если мы попытаемся перейти к менее вероятной точке, мы иногда отклоним этот шаг, и чем больше относительное падение вероятности, тем больше вероятность того, что мы отклоним новую точку. Таким образом, мы будем стремиться оставаться в регионах с высокой плотностью населения (и возвращать большое количество образцов из них) , лишь изредка посещая регионы с низкой плотностью. Интуитивно понятно, почему этот алгоритм работает и возвращает выборки, которые соответствуют желаемому распределению с плотностью .

По сравнению с таким алгоритмом, как адаптивная отбраковочная выборка [8] , который напрямую генерирует независимые выборки из распределения, алгоритмы Метрополиса-Гастингса и другие MCMC имеют ряд недостатков:

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

В многомерных распределениях классический алгоритм Метрополиса – Гастингса, описанный выше, включает выбор новой многомерной точки выборки. Когда количество измерений велико, найти подходящее распределение прыжков для использования может быть сложно, поскольку разные отдельные измерения ведут себя очень по-разному, а ширина прыжка (см. выше) должна быть «правильной» для всех измерений одновременно, чтобы избегайте слишком медленного перемешивания. Альтернативный подход, который часто работает лучше в таких ситуациях, известный как выборка Гиббса , предполагает выбор новой выборки для каждого измерения отдельно от других, а не выбор выборки для всех измерений одновременно. Таким образом, проблема выборки из потенциально многомерного пространства будет сведена к набору задач по выборке из маломерного пространства. [10] Это особенно применимо, когда многомерное распределение состоит из набора отдельных случайных величин , в которых каждая переменная обусловлена ​​лишь небольшим количеством других переменных, как это имеет место в большинстве типичных иерархических моделей . Затем отдельные переменные выбираются по одной, при этом каждая переменная зависит от самых последних значений всех остальных. Для выбора этих отдельных выборок могут использоваться различные алгоритмы, в зависимости от точной формы многомерного распределения: некоторые возможности включают методы адаптивной отбраковочной выборки , [8] алгоритм адаптивной отбраковки Метрополиса, [11] простой одномерный Метрополис- Шаг Гастингса, или срезная выборка .

Формальный вывод

Целью алгоритма Метрополиса-Гастингса является создание набора состояний в соответствии с желаемым распределением . Для этого алгоритм использует марковский процесс , который асимптотически достигает такого уникального стационарного распределения , что . [12]

Марковский процесс однозначно определяется своими вероятностями перехода , т.е. вероятностью перехода из любого данного состояния в любое другое заданное состояние . Оно имеет уникальное стационарное распределение при выполнении следующих двух условий: [12]

  1. Существование стационарного распределения : должно существовать стационарное распределение . Достаточным, но не необходимым условием является детальный баланс , который требует, чтобы каждый переход был обратимым: для каждой пары состояний вероятность нахождения в состоянии и перехода в состояние должна быть равна вероятности нахождения в состоянии и перехода в состояние , .
  2. Уникальность стационарного распределения : стационарное распределение должно быть уникальным. Это гарантируется эргодичностью марковского процесса, который требует, чтобы каждое состояние (1) было апериодическим — система не возвращается в одно и то же состояние через фиксированные промежутки времени; и (2) быть положительно рекуррентными — ожидаемое число шагов для возврата в то же состояние конечно.

Алгоритм Метрополиса-Гастингса включает в себя разработку марковского процесса (путем построения вероятностей перехода), который удовлетворяет двум вышеуказанным условиям, так что его стационарное распределение выбирается равным . Вывод алгоритма начинается с условия детального баланса :

который переписывается как

Подход состоит в том, чтобы разделить переход на два подэтапа; предложение и принятие-отказ. Распределение предложений — это условная вероятность предложения данного состояния , а распределение принятия — это вероятность принять предложенное состояние . Вероятность перехода можно записать как произведение их:

Подставив это соотношение в предыдущее уравнение, получим

Следующим шагом в выводе является выбор коэффициента приемки, который удовлетворяет приведенному выше условию. Одним из распространенных вариантов является выбор Метрополиса:

Для этого коэффициента принятия Метрополиса либо или и в любом случае условие выполняется.

Таким образом, алгоритм Метрополиса – Гастингса можно записать следующим образом:

  1. Инициализировать
    1. Выберите начальное состояние .
    2. Набор .
  2. Итерировать
    1. Сгенерируйте случайное состояние-кандидат в соответствии с .
    2. Вычислите вероятность принятия .
    3. Принять или отклонить :
      1. генерировать равномерное случайное число ;
      2. если , то принять новое состояние и установить ;
      3. если , то отклоните новое состояние и скопируйте старое состояние вперед .
    4. Приращение : установлено .

При выполнении заданных условий эмпирическое распределение сохраненных состояний будет приближаться к . Количество итераций ( ), необходимых для эффективной оценки, зависит от количества факторов, включая взаимосвязь между распределением предложений и желаемой точностью оценки. [13] Для распределения в дискретных пространствах состояний оно должно быть порядка времени автокорреляции марковского процесса. [14]

Важно отметить, что в общей задаче неясно, какое распределение следует использовать или количество итераций, необходимых для правильной оценки; оба являются свободными параметрами метода, которые необходимо адаптировать к конкретной решаемой задаче.

Использование в численном интегрировании

Алгоритм Метрополиса – Гастингса обычно используется для вычисления интеграла. В частности, рассмотрим пространство и распределение вероятностей по , . Метрополис – Гастингс может оценить интеграл вида

где – интересующая (измеримая) функция.

Например, рассмотрим статистику и ее распределение вероятностей , которое является маргинальным распределением . Предположим, что цель состоит в том, чтобы оценить на хвосте . Формально можно записать как

и, таким образом, оценка может быть выполнена путем оценки ожидаемого значения индикаторной функции , которое равно 1 в противном случае и нулю в противном случае. Поскольку находится на хвосте , вероятность нарисовать состояние с на хвосте пропорциональна , что по определению мало. Здесь можно использовать алгоритм Метрополиса – Гастингса для более вероятной выборки (редких) состояний и, таким образом, увеличения количества выборок, используемых для оценки хвостов. Это можно сделать, например, используя выборочное распределение в пользу этих состояний (например, с помощью ).

Пошаговые инструкции

Предположим, что самое последнее выбранное значение — . Чтобы следовать алгоритму Метрополиса – Гастингса, мы затем рисуем новое состояние предложения с плотностью вероятности и вычисляем значение

где

— отношение вероятностей (например, байесовское апостериорное) между предложенной выборкой и предыдущей выборкой , и

– отношение плотности предложения в двух направлениях (от и обратно). Это значение равно 1, если плотность предложений симметрична. Затем новое состояние выбирается по следующим правилам.

Если
еще:

Цепь Маркова запускается с произвольного начального значения , и алгоритм выполняется множество итераций, пока это начальное состояние не будет «забыто». Эти образцы, которые выбрасываются, известны как выгорание . Оставшийся набор принятых значений представляет собой выборку из распределения .

Алгоритм работает лучше всего, если плотность предложения соответствует форме целевого распределения , из которого прямая выборка затруднена, то есть . Если используется плотность предложения по Гауссу , параметр отклонения необходимо настроить в течение периода приработки. Обычно это делается путем расчета коэффициента принятия , который представляет собой долю предложенных образцов, принятую в окне последних образцов. Желаемая скорость принятия зависит от целевого распределения, однако теоретически было показано, что идеальная скорость принятия для одномерного гауссовского распределения составляет около 50% и снижается примерно до 23% для -мерного гауссовского целевого распределения. [15] Эти рекомендации могут хорошо работать при выборке из достаточно регулярных байесовских апостериорных данных, поскольку они часто следуют многомерному нормальному распределению, которое можно установить с помощью теоремы Бернштейна-фон Мизеса . [16]

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

Результат работы трех цепей Маркова с трехмерной функцией Розенброка с использованием алгоритма Метрополиса – Гастингса. Алгоритм производит выборку из областей, где апостериорная вероятность высока, и цепи начинают смешиваться в этих областях. Освещено примерное положение максимума. Красные точки — это те точки, которые остаются после процесса приработки. Более ранние были отброшены.

Байесовский вывод

Блок-схема алгоритма Метрополиса-Гастингса (MH) для оценки параметров с использованием подхода Марковской цепи Монте-Карло (MCMC).

MCMC можно использовать для получения выборок из апостериорного распределения статистической модели. Вероятность принятия определяется следующим образом: где - вероятность , априорная плотность вероятности и (условная) вероятность предложения.

Смотрите также

Рекомендации

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

Примечания

  1. ^ В оригинальной статье Metropolis et al. (1953) было принято за распределение Больцмана , поскольку в качестве конкретного приложения рассматривалось интегрирование уравнений состояния в физической химии по методу Монте-Карло ; расширение Гастингса, обобщенное на произвольное распределение .
  2. ^ В оригинальной статье Metropolis et al. (1953) предполагалось, что это случайный сдвиг с равномерной плотностью в некотором заданном диапазоне.
  3. ^ В оригинальной статье Metropolis et al. (1953), на самом деле было распределением Больцмана , поскольку оно применялось к физическим системам в контексте статистической механики (например, распределение микросостояний с максимальной энтропией для данной температуры при тепловом равновесии). Следовательно, коэффициент принятия сам по себе был экспонентой разности параметров числителя и знаменателя этого отношения.

дальнейшее чтение