Вложенный алгоритм выборки

Алгоритм вложенной выборки — это вычислительный подход к задачам байесовской статистики по сравнению моделей и генерации выборок из апостериорных распределений. Он был разработан в 2004 году физиком Джоном Скиллингом. [1]

Фон

Теорема Байеса может быть применена к паре конкурирующих моделей и для данных , одна из которых может быть истинной (хотя какая именно — неизвестно), но которые не могут быть истинными одновременно. Апостериорная вероятность для может быть рассчитана как: M 1 {\displaystyle M_{1}} M 2 {\displaystyle M_{2}} D {\displaystyle D} M 1 {\displaystyle M_{1}}

P ( M 1 D ) = P ( D M 1 ) P ( M 1 ) P ( D ) = P ( D M 1 ) P ( M 1 ) P ( D M 1 ) P ( M 1 ) + P ( D M 2 ) P ( M 2 ) = 1 1 + P ( D M 2 ) P ( D M 1 ) P ( M 2 ) P ( M 1 ) {\displaystyle {\begin{aligned}P(M_{1}\mid D)&={\frac {P(D\mid M_{1})P(M_{1})}{P(D)}}\\&={\frac {P(D\mid M_{1})P(M_{1})}{P(D\mid M_{1})P(M_{1})+P(D\mid M_{2})P(M_{2})}}\\&={\frac {1}{1+{\frac {P(D\mid M_{2})}{P(D\mid M_{1})}}{\frac {P(M_{2})}{P(M_{1})}}}}\end{aligned}}}

Предварительные вероятности и уже известны, поскольку они выбираются исследователем заранее. Однако оставшийся фактор Байеса не так легко оценить, поскольку в общем случае он требует маргинализации мешающих параметров. Как правило, имеет набор параметров, которые можно сгруппировать и назвать , и имеет свой собственный вектор параметров, которые могут иметь различную размерность, но все равно называются . Маргинализация для равна M 1 {\displaystyle M_{1}} M 2 {\displaystyle M_{2}} P ( D M 2 ) / P ( D M 1 ) {\displaystyle P(D\mid M_{2})/P(D\mid M_{1})} M 1 {\displaystyle M_{1}} θ {\displaystyle \theta } M 2 {\displaystyle M_{2}} θ {\displaystyle \theta } M 1 {\displaystyle M_{1}}

P ( D M 1 ) = d θ P ( D θ , M 1 ) P ( θ M 1 ) {\displaystyle P(D\mid M_{1})=\int d\theta \,P(D\mid \theta ,M_{1})P(\theta \mid M_{1})}

и аналогично для . Этот интеграл часто аналитически неразрешим, и в этих случаях необходимо использовать численный алгоритм для нахождения приближения. Алгоритм вложенной выборки был разработан Джоном Скиллингом специально для приближения этих интегралов маргинализации, и он имеет дополнительное преимущество в генерации выборок из апостериорного распределения . [2] Это альтернатива методам из байесовской литературы [3], таким как мостовая выборка и выборка по важности защиты. M 2 {\displaystyle M_{2}} P ( θ D , M 1 ) {\displaystyle P(\theta \mid D,M_{1})}

Ниже приведена простая версия алгоритма вложенной выборки, за которой следует описание того, как он вычисляет предельную плотность вероятности , где или : Z = P ( D M ) {\displaystyle Z=P(D\mid M)} M {\displaystyle M} M 1 {\displaystyle M_{1}} M 2 {\displaystyle M_{2}}

Начать с точек, выбранных из предшествующих. для выполнения  % Количество итераций j выбирается наугад. текущие значения правдоподобия точек ; Сохраните точку с наименьшим правдоподобием как точку выборки с весом .    N   {\displaystyle N}      θ  1   ,  ,  θ  N     {\displaystyle \theta _{1},\ldots ,\theta _{N}}      i = 1   {\displaystyle i=1}     j   {\displaystyle j}       L  i   := min (   {\displaystyle L_{i}:=\min(}     )   {\displaystyle )}      X  i   := exp  (  i  /  N ) ;   {\displaystyle X_{i}:=\exp(-i/N);}       w  i   :=  X  i  1     X  i     {\displaystyle w_{i}:=X_{i-1}-X_{i}}      Z := Z +  L  i     w  i   ;   {\displaystyle Z:=Z+L_{i}\cdot w_{i};}      w  i     {\displaystyle w_{i}}  Обновите точку с наименьшим правдоподобием с помощью некоторых шагов Монте-Карло цепи Маркова в соответствии с априорными данными, принимая только те шаги, которые сохранить вероятность выше . конец возврата ;     L  i     {\displaystyle L_{i}}      Z   {\displaystyle Z} 

На каждой итерации, является оценкой количества априорной массы, покрытой гиперобъемом в пространстве параметров всех точек с вероятностью, большей, чем . Весовой коэффициент является оценкой количества априорной массы, которая находится между двумя вложенными гиперповерхностями и . Шаг обновления вычисляет сумму по для численной аппроксимации интеграла X i {\displaystyle X_{i}} θ i {\displaystyle \theta _{i}} w i {\displaystyle w_{i}} { θ P ( D θ , M ) = P ( D θ i 1 , M ) } {\displaystyle \{\theta \mid P(D\mid \theta ,M)=P(D\mid \theta _{i-1},M)\}} { θ P ( D θ , M ) = P ( D θ i , M ) } {\displaystyle \{\theta \mid P(D\mid \theta ,M)=P(D\mid \theta _{i},M)\}} Z := Z + L i w i {\displaystyle Z:=Z+L_{i}w_{i}} i {\displaystyle i} L i w i {\displaystyle L_{i}w_{i}}

P ( D M ) = P ( D θ , M ) P ( θ M ) d θ = P ( D θ , M ) d P ( θ M ) {\displaystyle {\begin{aligned}P(D\mid M)&=\int P(D\mid \theta ,M)P(\theta \mid M)\,d\theta \\&=\int P(D\mid \theta ,M)\,dP(\theta \mid M)\end{aligned}}}

В пределе эта оценка имеет положительное смещение порядка [4] , которое можно устранить, используя вместо в приведенном выше алгоритме. j {\displaystyle j\to \infty } 1 / N {\displaystyle 1/N} ( 1 1 / N ) {\displaystyle (1-1/N)} exp ( 1 / N ) {\displaystyle \exp(-1/N)}

Идея состоит в том, чтобы подразделить диапазон и оценить для каждого интервала , насколько вероятно априори, что случайно выбранный будет соответствовать этому интервалу. Это можно рассматривать как байесовский способ численно реализовать интегрирование Лебега . [5] f ( θ ) = P ( D θ , M ) {\displaystyle f(\theta )=P(D\mid \theta ,M)} [ f ( θ i 1 ) , f ( θ i ) ] {\displaystyle [f(\theta _{i-1}),f(\theta _{i})]} θ {\displaystyle \theta }

Выбор алгоритма MCMC

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

Собственные примеры кода Скиллинга (например, один из Sivia and Skilling (2006), [6] доступны на веб-сайте Скиллинга) выбирают случайную существующую точку и выбирают близлежащую точку, выбранную на случайном расстоянии от существующей точки; если вероятность выше, то точка принимается, в противном случае она отклоняется, и процесс повторяется. Мукерджи и др. (2006) [7] обнаружили более высокие показатели принятия, выбирая точки случайным образом внутри эллипсоида, нарисованного вокруг существующих точек; эта идея была усовершенствована в алгоритме MultiNest [8] , который лучше обрабатывает мультимодальные апостериорные распределения, группируя точки в контуры вероятности и рисуя эллипсоид для каждого контура.

Реализации

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

  • Простые примеры на языках C , R или Python можно найти на сайте Джона Скиллинга.
  • Порт вышеприведенных простых кодов на Haskell доступен на Hackage.
  • Пример на языке R, изначально разработанный для подгонки спектров , описан на сайте Бояна Николича и доступен на GitHub.
  • NestedSampler является частью набора инструментов Python BayesicFitting [9] для подгонки общей модели и расчета доказательств. Он доступен на GitHub.
  • Реализация на языке C++ под названием DIAMONDS находится на GitHub.
  • Высокомодульный пример параллельного решения на Python для статистической физики и физики конденсированного состояния находится на GitHub.
  • pymatnest — это пакет, предназначенный для исследования энергетического ландшафта различных материалов, расчета термодинамических переменных при произвольных температурах и определения фазовых переходов . Находится на GitHub.
  • Пакет программного обеспечения MultiNest способен выполнять вложенную выборку на основе многомодальных апостериорных распределений. [8] [10] Он имеет интерфейсы для входных данных C++, Fortran и Python и доступен на GitHub.
  • PolyChord — еще один программный пакет для вложенной выборки, доступный на GitHub. Вычислительная эффективность PolyChord лучше масштабируется с увеличением числа параметров, чем MultiNest, что означает, что PolyChord может быть более эффективным для многомерных задач. [11] Он имеет интерфейсы для функций правдоподобия, написанных на Python, Fortran, C или C++.
  • NestedSamplers.jl, пакет Julia для реализации алгоритмов вложенной выборки с одним и несколькими эллипсоидами, находится на GitHub.
  • Korali — это высокопроизводительная среда для количественной оценки неопределенности, оптимизации и глубокого обучения с подкреплением, которая также реализует вложенную выборку.

Приложения

С тех пор как вложенная выборка была предложена в 2004 году, она использовалась во многих аспектах области астрономии . В одной статье предлагалось использовать вложенную выборку для выбора космологической модели и обнаружения объектов, поскольку она «уникальным образом сочетает в себе точность, общую применимость и вычислительную осуществимость». [7] Усовершенствование алгоритма для обработки мультимодальных апостериорных данных было предложено в качестве средства обнаружения астрономических объектов в существующих наборах данных. [10] Другие приложения вложенной выборки находятся в области обновления конечных элементов , где алгоритм используется для выбора оптимальной модели конечных элементов , и это было применено к структурной динамике . [12] Этот метод выборки также использовался в области моделирования материалов. Его можно использовать для изучения функции распределения из статистической механики и получения термодинамических свойств. [13]

Динамическая вложенная выборка

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

Общедоступные пакеты программного обеспечения для динамической вложенной выборки включают в себя:

  • Dynesty — реализация динамической вложенной выборки на Python, которую можно загрузить с GitHub. [15]
  • dyPolyChord: программный пакет, который можно использовать с Python, C++ и Fortran для вероятностного и априорного распределения. [16] dyPolyChord доступен на GitHub.

Динамическая вложенная выборка применялась к различным научным проблемам, включая анализ гравитационных волн [17] , картографирование расстояний в космосе [18] и обнаружение экзопланет [19] .

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

Ссылки

  1. ^ Скиллинг, Джон (2004). «Вложенная выборка». Труды конференции AIP . 735 : 395–405 . Bibcode : 2004AIPC..735..395S. doi : 10.1063/1.1835238.
  2. ^ Скиллинг, Джон (2006). «Вложенная выборка для общих байесовских вычислений». Байесовский анализ . 1 (4): 833– 860. doi : 10.1214/06-BA127 .
  3. ^ Чэнь, Мин-Хуэй, Шао, Ци-Мэн и Ибрагим, Джозеф Джордж (2000). Методы Монте-Карло в байесовских вычислениях. Springer. ISBN 978-0-387-98935-8.{{cite book}}: CS1 maint: multiple names: authors list (link)
  4. ^ Уолтер, Клемент (2017). «Оценка Монте-Карло на основе точечного процесса». Статистика и вычисления . 27 : 219–236 . arXiv : 1412.6368 . doi : 10.1007/s11222-015-9617-y. S2CID  14639080.
  5. ^ Jasa, Tomislav; Xiang, Ning (2012). «Вложенная выборка, применяемая в байесовском анализе затухания акустики помещения». Журнал Акустического общества Америки . 132 (5): 3251– 3262. Bibcode : 2012ASAJ..132.3251J. doi : 10.1121/1.4754550. PMID  23145609. S2CID  20876510.
  6. ^ Sivia, Devinderjit; Skilling, John (июнь 2006). Анализ данных: байесовский учебник . Оксфорд: Oxford University Press, США. ISBN 978-0-19-856832-2.
  7. ^ ab Мукерджи, П.; Паркинсон, Д.; Лиддл, А. Р. (2006). «Алгоритм вложенной выборки для выбора космологической модели». Astrophysical Journal . 638 (2): 51– 54. arXiv : astro-ph/0508461 . Bibcode :2006ApJ...638L..51M. doi :10.1086/501068. S2CID  6208051.
  8. ^ ab Feroz, F.; Hobson, MP; Bridges, M. (2008). "MULTINEST: эффективный и надежный инструмент байесовского вывода для космологии и физики элементарных частиц". MNRAS . 398 (4). arXiv : 0809.3437 . doi :10.1111/j.1365-2966.2009.14548.x.
  9. ^ Кестер, Д.; Мюллер, М. (2021). «BayesicFitting, набор инструментов PYTHON для байесовского подгонки и расчета доказательств.: Включая реализацию вложенной выборки». Астрономия и вычисления . 37 : 100503. arXiv : 2109.11976 . Bibcode : 2021A&C....3700503K. doi : 10.1016/j.ascom.2021.100503 .
  10. ^ ab Feroz, F.; Hobson, MP (2008). «Мультимодальная вложенная выборка: эффективная и надежная альтернатива методам Монте-Карло с цепями Маркова для анализа астрономических данных». MNRAS . 384 (2): 449– 463. arXiv : 0704.3704 . Bibcode :2008MNRAS.384..449F. doi : 10.1111/j.1365-2966.2007.12353.x . S2CID  14226032.
  11. ^ Handley, Will; Hobson, Mike; Lasenby, Anthony (2015). "полихорда: вложенная выборка следующего поколения". Monthly Notices of the Royal Astronomical Society . 453 (4): 4384– 4398. arXiv : 1506.00171 . Bibcode : 2015MNRAS.453.4384H. doi : 10.1093/mnras/stv1911 . S2CID  118882763.
  12. ^ Mthembu, L.; Marwala, T.; Friswell, MI; Adhikari, S. (2011). «Выбор модели при обновлении модели конечных элементов с использованием статистики байесовских свидетельств». Механические системы и обработка сигналов . 25 (7): 2399– 2412. Bibcode : 2011MSSP...25.2399M. doi : 10.1016/j.ymssp.2011.04.001.
  13. ^ Партей, Ливия Б. (2010). «Эффективная выборка атомных конфигурационных пространств». Журнал физической химии B. 114 ( 32): 10502– 10512. arXiv : 0906.3544 . doi :10.1021/jp1012973. PMID  20701382. S2CID  16834142.
  14. ^ Хигсон, Эдвард; Хэндли, Уилл; Хобсон, Майкл; Ласенби, Энтони (2019). «Динамическая вложенная выборка: улучшенный алгоритм оценки параметров и расчета доказательств». Статистика и вычисления . 29 (5): 891– 913. arXiv : 1704.03459 . Bibcode : 2019S&C....29..891H. doi : 10.1007/s11222-018-9844-0. S2CID  53514669.
  15. ^ Спигл, Джошуа (2020). «Динестия: динамический вложенный пакет выборки для оценки байесовских апостериорных данных и доказательств». Ежемесячные уведомления Королевского астрономического общества . 493 (3): 3132– 3158. arXiv : 1904.02180 . doi : 10.1093/mnras/staa278 . S2CID  102354337.
  16. ^ Хигсон, Эдвард (2018). "dyPolyChord: динамическая вложенная выборка с PolyChord". Журнал программного обеспечения с открытым исходным кодом . 3 (29): 965. doi : 10.21105/joss.00965 .
  17. ^ Эштон, Грегори и др. (2019). «Bilby: удобная для пользователя библиотека байесовского вывода для гравитационно-волновой астрономии». Серия приложений к астрофизическому журналу . 241 (2): 13. arXiv : 1811.02042 . Bibcode : 2019ApJS..241...27A. doi : 10.3847/1538-4365/ab06fc . S2CID  118677076.
  18. ^ Цукер, Кэтрин и др. (2018). «Картографирование расстояний через молекулярное облако Персея с использованием наблюдений {CO}, звездной фотометрии и измерений параллакса {DR}2 Gaia». The Astrophysical Journal . 869 (1): 83. arXiv : 1803.08931 . doi : 10.3847/1538-4357/aae97c . S2CID  119446622.
  19. ^ Гюнтер, Максимилиан и др. (2019). «Суперземля и два субнептуна, проходящие мимо соседнего и тихого карлика класса М TOI-270». Nature Astronomy . 3 (12): 1099–1108 . arXiv : 1903.06107 . Bibcode : 2019NatAs...3.1099G. doi : 10.1038/s41550-019-0845-5. S2CID  119286334.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Nested_sampling_algorithm&oldid=1266109913"