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

У статистиці та статистичній фізиці алгоритм Метрополіса – Гастінгса - це метод Монте-Карло Марковських ланцюгів (англ. MCMC) для отримання послідовності випадкових вибірок із таких розподілів, де звичайний прямий вибір є ускладненим. Цю послідовність можна використовувати для вгадування розподілу данних (наприклад, за допомогою гістограми ) або для обчислення інтеграла (наприклад, математичного сподівання). Метрополіс — Гастінгс та інші алгоритми МСМС, як правило, використовуються для вибірки із багатовимірних розподілів, особливо із великою кількістю розмірностей. Для одновимірних розподілів, як правило, використовуються інші методи (наприклад, вибірка з відхиленням), які можуть безпосередньо генерувати незалежні вибірки з розподілу, і ці вибірки не автокорельовані, що є проблемою методів MCMC.

Допоміжний розподіл Q пропонує наступну точку, у яку можно перейти за допомогою випадкового блукання.

Історія

Алгоритм був названий на честь Ніколаса Метрополіса, який разом із Аріанною В. Розенблут, Маршаллом Розенблютом, Августою Х. Теллер та Едвардом Теллером написав у 1953 році статтю «Рівняння обчислень стану за допомогою швидких обчислювальних машин»[1].

Існує певна суперечка щодо авторства алгоритму. Метрополіс, який був знайомий з обчислювальними можливостями методу, ввів термін «Монте-Карло» у спільній із Станіславом Уламом статті. Він очолив групу у Теоретичному відділі, яка спроектувала та побудувала комп'ютер MANIAC I, який використовувався для експериментів в 1952 році. Однак, аж до 2003 року остаточної інформації про розробку алгоритму не було. Потім, незадовго до смерті, Маршалл Розенблут відвідав конференцію 2003 року в ЛАНЛ з нагоди 50-ї річниці публікації 1953 року. На цій конференції Розенблут описав алгоритм та його розробку у презентації під назвою «Генезіс алгоритму Монте-Карло для статистичної механіки»[2]. Подальші історичні роз'яснення робить Губернатіс у журнальній статті 2005 р.[3] Розенблут чітко дає зрозуміти, що він та його дружина Аріанна виконали цю роботу, і що Метрополіс не зіграв жодної ролі у розробці, крім надання комп'ютерного часу.

Алгоритм Метрополіса — Гастінгса може генерувати вибірки з будь-якого розподілу ймовірностей , за умови, що ми знаємо функцію , пропорційну густині , тому значення можна розрахувати. Вимога, аби була пропорційна густині , а не точно їй рівна, робить алгоритм Метрополіса — Гастінгса особливо корисним, оскільки обчислення необхідного коефіцієнта нормалізації на практиці є часто надзвичайно складною задачею.

Алгоритм Метрополіса — Гастінгса працює шляхом генерації послідовності значень вибірки таким чином, що чим більше значень згенеровано, тим більше розподіл цих значень наближається до невідомого розподілу . Ці значення вибірки генеруються ітеративно, причому розподіл наступної вибірки залежить лише від розподілу попередньої вібірки (таким чином, послідовність вибірки складається в ланцюжок Маркова). Потім, з певною ймовірністю, кандидат або приймається (у цьому випадку значення кандидата використовується в наступній ітерації), або відхиляється (у цьому випадку значення кандидата відкидається, а поточне значення використовується повторно в наступній ітерації) — ймовірність прийняття визначається порівнянням значень функції поточного та кандидатського значення вибірки щодо бажаного розподілу .

З метою ілюстрації, описаний алгоритм Метрополіса, є особливим випадком алгоритму Метрополіс – Гастінгс, де допоміжний розподіл є симетричним.

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

Нехай є функцією, пропорційною бажаному розподілу ймовірностей (він же цільовий розподіл).

  1. Ініціалізація: Виберіть довільну точку яка буде першим значенням у вибірці, та оберіть довільну густину ймовірності (іноді позначається як ), що буде пропонувати кандидата наступного значення у вибірці , на підставі попереднього значення вибірки  . Розподіл тут вважається симетричним; іншими словами, повинно задовольняти . Зазвичай, має нормальний гауссовий розподіл центрований у точці , тому точки ближчі до обираються частіше, перетворюючи послідовність зразків на випадкове блукання [lower-alpha 1] . Функція позначається як густина пропозиції або розподіл стрибків.
  2. Для кожної ітерації t :
    • Згенеруйте наступне значення з розподілу .
    • Обчисліть коефіцієнт прийняття , який буде використаний для прийняття чи відхилення кандидата. Оскільки f пропорційна густині P, маємо: .
    • Прийняти або відхилити :
      • Згенеруйте випадкове число із рівномірного розподілу .
      • Якщо , приймаємо кандидата з розподілу , встановивши ,
      • Якщо , відхиліть кандидата і встановіть (раніше обране перше значення у вибірці) натомість.

Цей алгоритм виконується шляхом рандомного переміщення по простору, іноді роблячи крок, а іноді залишаючись на місці. Зверніть увагу, що коефіцієнт прийняття вказує, наскільки імовірна нова запропонована вибірка, враховуючи поточну вибірку, відповідно до розподілу . Якщо ми робимо крок до точки, яка є більш вірогідною, ніж точка, у якій ми знаходимося зараз (тобто точка в області більшої густини що відповідає ), ми робимо крок. Однак, якщо ми намагаємось перейти до менш вірогідної точки, вірогідніше, ми залишаємося на місці, і чим менше значення густини ймовірності, тим більша ймовірність відхилити нову точку і залишитися на місці. Таким чином, ми будемо прагнути залишатися в області високих значень густини , приймаючи велику кількість зразків із цієї області, при цьому лише зрідка відвідуючи регіони із низькими значеннями густини. Інтуїтивно, саме тому цей алгоритм працює і повертає вибірки, які мають цільовий розподіл .

Порівняно з таким алгоритмом як вибірка з відхиленням[4] , який безпосередньо генерує незалежні вибірки з розподілу, Метрополіс – Гастінгс та інші алгоритми MCMC мають ряд недоліків:

  • Зразки корельовані. Хоча в довгостроковій перспективі вони мають густину , вибірки у наборі будуть корельований між собою, і набір не буде коректно відображати розподіл. Це означає, що якщо ми хочемо зразок із незалежними вибірками, нам доведеться викинути більшість вибірок і взяти лише кожну n-ту вибірку обраного значення n (як правило, обирається на закладі автокореляції між сусідніми зразками). Автокореляцію можна зменшити, збільшивши ширину стрибка (середній розмір стрибка, пов'язаний із дисперсією їх розподілу), але такий метод збільшить ймовірність відхилення запропонованого стрибка. Занадто великий або занадто малий розмір стрибків призведе до повільно-змішанного ланцюга Маркова, тобто, до сильно корельованого набору вибірок. Тому, аби отримати обґрунтоване значення параметру розподілу, потрібна дуже велика кількість вибірок.
  • Хоча ланцюг Маркова з часом конвергує до бажаного розподілу, початкові вибірки можуть мати зовсім інший розподіл, особливо якщо початкова точка знаходиться в області із низьким значенням густини імовірності. В результаті, необхідний період прогорання[5] коли початкова кількість вибірок (наприклад, перші 1000 або близько того) викидаються.

З іншого боку, більшість простих методів відторгнення страждають від «проблеми розмірності», де ймовірність відхилення зростає в геометричній прогресії в залежності від кількості вимірів. Метрополіс — Гастінгс, поряд з іншими методами MCMC, так сильно не страждає від цієї проблеми, тому часто є єдиним доступним рішенням, коли вимірів розподілу, із якого генерується вибірка, багато. Як результат, методи MCMC часто використовуються для генерування вибірок з ієрархічних байєсівських моделей та інших високовимірних статистичних моделей, що використовуються сьогодні в багатьох дисциплінах.

У багатовимірних розподілах класичний алгоритм Метрополіса — Гастінгса, як описано вище, передбачає вибір нового багатовимірного значення вибірки. Коли розмірність велика, знайти відповідний розподіл стрибків може бути не легко, оскільки окремо узяті виміри поводяться дуже по-різному, а ширина стрибка (див. вище) повинна підходити для усіх вимірів одночасно, щоб уникайте надмірно повільного перемішування. Альтернативний підхід, який часто працює краще в таких ситуаціях, відомий як Семплування за Гіббсом, передбачає генерування нової вибірки для кожного виміру окремо, а не для всіх вимірів одночасно. Метод часто використовується, коли багатовимірний розподіл складається з набору окремих випадкових величин, в яких кожна змінна зумовлена лише невеликою кількістю інших змінних, як, наприклад, у більшості типових ієрархічних моделях. Потім окремі змінні обираються по черзі, причому кожна змінна обирається на закладі найсвіжіших значень усіх інших. Для вибору цих окремих вирірок можуть бути використані різні алгоритми, в залежності від форми багатовимірного розподілу: наприклад, вибірка з відхиленням[4], алгоритм вибірки з відхиленням Метрополіса[6], простий одновимірний Метрополіс — Гастінгув крок, або зрізове семплування .

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

Метою алгоритму Метрополіс – Гастінгс є створення колекції станів відповідно до бажаного розподілу . Для цього алгоритм використовує ланцюги Маркова, які асимптотично досягають унікального стаціонарного розподілу такого, що [7].

Процес Маркова однозначно визначається його перехідними ймовірностями , ймовірність переходу з будь-якого даного стану до будь-якої іншої стану . Він має унікальний стаціонарний розподіл коли виконуються наступні дві умови[7]:

  1. Існування стаціонарного розподілу : повинен існувати стаціонарний розподіл . Достатньою, але не необхідною умовою є детальний баланс, який вимагає аби кожен перехід був оборотним: для кожної пари станів , ймовірність перебування в стані і перехід до стану повинен дорівнювати ймовірності перебування в стані і переходу до стану , .
  2. Унікальність стаціонарного розподілу : стаціонарний розподіл має бути унікальним. Це гарантується ергодичністю процесу Маркова, який вимагає, щоб кожен стан (1) був аперіодичним - система не повертається до того ж стану на визначених проміжках; і (2) був позитивно рекурентним - очікувана кількість кроків для повернення до того самого стану є кінцевою.

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

який переписується як

Підхід полягає у розділенні переходу на два підкроки; пропозиція та прийняття-відхилення. Розподіл пропозиції - це умовна ймовірність пропозиції стану за умови стану . Розподіл прийняття це ймовірність прийняти запропонованого стану . Імовірність переходу можна записати як добуток:

Вставивши це відношення в попереднє рівняння, маємо

Наступним кроком є вибір коефіцієнта прийняття який відповідає наведеній вище умові. Одним із поширених варіантів є вибір Метрополіса:

Для цього коефіцієнта прийняття Метрополіса , це або або і, в обох випадках, умова виконана.

Таким чином, алгоритм Метрополіс – Гастінгс полягає у наступному:

  1. Ініціалізація
    1. Виберіть початковий стан .
    2. Встановіть .
  2. Ітерація
    1. Згенеруйте випадковий стан відповідно до .
    2. Обчисліть ймовірність прийняття .
    3. Прийняти або відхилити :
      1. генерувати випадкове число із рівномірного розподілу  ;
      2. якщо , прийміть новий стан і встановіть  ;
      3. якщо , відхиліть новий стан , натомість оберіть старий стан .
    4. Приріст: збільшіть на одиничку .

За умови виконання заданих умов здійснюється емпіричний розподіл збережених станів наближуватиметься розподілу . Кількість ітерацій ( ), яка необхідна для ефективної оцінки залежить від кількості факторів, включаючи взаємозв'язок між і допоміжним розподілом, та бажаною точністю оцінки. [8] Для дискретних розподілів стану, вони повинні бути впорядкованою автокореляцією процесу Маркова[9].

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

де

Ланцюг Маркова починається з довільного початкового значення , і алгоритм виконує багато ітерацій (приблизно 1000), поки цей початковий стан не буде «забутий». Ці значення відкидаються як прогорівші.Ті значення , що залишились, представляють сабою вирірку з розподілу .

Покрокова інструкція

Припустимо, що останнє значення вибірки . За алгоритмом Метрополіса — Гастінгса, ми далі обираємо новий допоміжний стан з густиною імовірності і обчислюємо значення

- це ймовірне (наприклад, байєсівське апостеріорне) співвідношення між запропонованою вибіркою і попередньою , а

- це відношення допоміжної густини у двох напрямках (від до , і навпаки). Воно дорівнює 1, якщо допоміжна густина симетрична. Потім новий стан обирається згідно з наступними правилами.

Якщо
ще:

Алгоритм працює краще, якщо допоміжна густина відповідає формі цільового розподілу , з якого безпосереднє просте пряме семплування є майже неможливим, тобто . Якщо використовується допоміжна густина Гауса , параметр дисперсії повинен бути налаштований під час прогорання. Зазвичай це робиться шляхом обчислення коефіцієнта приймання, який є часткою пропонованих значень, які приймаються серед останніх значень. Бажаний коефіцієнт прийняття залежить від цільового розподілу, проте теоретично було показано, що ідеальний коефіцієнт прийняття для одновимірного гауссового розподілу становить близько 50%, зменшуючись до приблизно 23% для -вимірного цільового Гаусовського розподілу[10].

Якщо занадто мала, ланцюг буде повільно змішуватися (тобто коефіцієнт прийняття буде високим, але обрані значення будуть повільно рухатися по простору, і ланцюг буде лише повільно конвергувати до ). З іншого боку, якщо занадто велика, коефіцієнт прийняття буде дуже низьким, оскільки значення, ймовірно, будуть обиратися із регіонів із набагато меншою густиною ймовірності, тому буде дуже маленьким, і знову ланцюг буде сходитися дуже повільно. Зазвичай налаштовують розподіл пропозицій таким чином, щоб алгоритми приймали близько 30 % усіх вибірок — відповідно до теоретичних оцінок, згаданих у попередньому параграфі.

Результат трьох ланцюжків Маркова, на 3D функції Розенброка з використанням алгоритму Метрополіса — Гастінгса. Алгоритм бере вибірки з регіонів, де апостеріорна ймовірність велика, і ланцюги починають змішуватися в цих регіонах. Приблизне положення максимуму підсвічено на малюнку. Червоні точки — це ті, які залишаються після процесу прогорання. Більш ранні були відкинуті.

Дивитися також

Список літератури

  1. Hastings, W.K. (1970). Monte Carlo Sampling Methods Using Markov Chains and Their Applications. Biometrika 57 (1): 97109. Bibcode:1970Bimka..57...97H. JSTOR 2334940. Zbl 0219.65008. doi:10.1093/biomet/57.1.97.
  2. M.N. Rosenbluth (2003). Genesis of the Monte Carlo Algorithm for Statistical Mechanics. AIP Conference Proceedings 690: 22–30. doi:10.1063/1.1632112.
  3. J.E. Gubernatis (2005). Marshall Rosenbluth and the Metropolis Algorithm. Physics of Plasmas 12 (5): 057303. Bibcode:2005PhPl...12e7303G. doi:10.1063/1.1887186.
  4. Gilks, W. R.; Wild, P. (1 січня 1992). Adaptive Rejection Sampling for Gibbs Sampling. Journal of the Royal Statistical Society. Series C (Applied Statistics) 41 (2): 337–348. JSTOR 2347565. doi:10.2307/2347565.
  5. Bayesian data analysis (вид. 2nd). Boca Raton, Fla.: Chapman & Hall / CRC. 2004. ISBN 978-1584883883. OCLC 51991499.
  6. Gilks, W. R.; Best, N. G.; Tan, K. K. C. (1 січня 1995). Adaptive Rejection Metropolis Sampling within Gibbs Sampling. Journal of the Royal Statistical Society. Series C (Applied Statistics) 44 (4): 455–472. JSTOR 2986138. doi:10.2307/2986138.
  7. Robert, Christian; Casella, George (2004). Monte Carlo Statistical Methods. Springer. ISBN 978-0387212395.
  8. Raftery, Adrian E., and Steven Lewis.
  9. Newman, M. E. J.; Barkema, G. T. (1999). Monte Carlo Methods in Statistical Physics. USA: Oxford University Press. ISBN 978-0198517979.
  10. Roberts, G.O.; Gelman, A.; Gilks, W.R. (1997). Weak convergence and optimal scaling of random walk Metropolis algorithms. Ann. Appl. Probab. 7 (1): 110120. doi:10.1214/aoap/1034625254. Проігноровано невідомий параметр |citeseerx= (довідка)

Примітки

  1. In the original paper however, was actually the Boltzmann distribution, as it was applied to physical systems in the context of statistical mechanics

 

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.