Алгоритм вложенной выборки — это вычислительный подход к задачам байесовской статистики по сравнению моделей и генерации выборок из апостериорных распределений. Он был разработан в 2004 году физиком Джоном Скиллингом. [1]
Фон
Теорема Байеса может быть применена к паре конкурирующих моделей и для данных , одна из которых может быть истинной (хотя какая именно — неизвестно), но которые не могут быть истинными одновременно. Апостериорная вероятность для может быть рассчитана как:
Предварительные вероятности и уже известны, поскольку они выбираются исследователем заранее. Однако оставшийся фактор Байеса не так легко оценить, поскольку в общем случае он требует маргинализации мешающих параметров. Как правило, имеет набор параметров, которые можно сгруппировать и назвать , и имеет свой собственный вектор параметров, которые могут иметь различную размерность, но все равно называются . Маргинализация для равна
и аналогично для . Этот интеграл часто аналитически неразрешим, и в этих случаях необходимо использовать численный алгоритм для нахождения приближения. Алгоритм вложенной выборки был разработан Джоном Скиллингом специально для приближения этих интегралов маргинализации, и он имеет дополнительное преимущество в генерации выборок из апостериорного распределения . [2] Это альтернатива методам из байесовской литературы [3], таким как мостовая выборка и выборка по важности защиты.
Ниже приведена простая версия алгоритма вложенной выборки, за которой следует описание того, как он вычисляет предельную плотность вероятности , где или :
Начать с точек, выбранных из предшествующих. для выполнения % Количество итераций j выбирается наугад. текущие значения правдоподобия точек ; Сохраните точку с наименьшим правдоподобием как точку выборки с весом . Обновите точку с наименьшим правдоподобием с помощью некоторых шагов Монте-Карло цепи Маркова в соответствии с априорными данными, принимая только те шаги, которые сохранить вероятность выше . конец возврата ;
На каждой итерации, является оценкой количества априорной массы, покрытой гиперобъемом в пространстве параметров всех точек с вероятностью, большей, чем . Весовой коэффициент является оценкой количества априорной массы, которая находится между двумя вложенными гиперповерхностями и . Шаг обновления вычисляет сумму по для численной аппроксимации интеграла
В пределе эта оценка имеет положительное смещение порядка [4] , которое можно устранить, используя вместо в приведенном выше алгоритме.
Идея состоит в том, чтобы подразделить диапазон и оценить для каждого интервала , насколько вероятно априори, что случайно выбранный будет соответствовать этому интервалу. Это можно рассматривать как байесовский способ численно реализовать интегрирование Лебега . [5]
Выбор алгоритма MCMC
Первоначальная процедура, описанная Скиллингом (приведенная выше в псевдокоде), не определяет, какой именно алгоритм Монте-Карло на основе цепи Маркова следует использовать для выбора новых точек с большей вероятностью.
Собственные примеры кода Скиллинга (например, один из Sivia and Skilling (2006), [6] доступны на веб-сайте Скиллинга) выбирают случайную существующую точку и выбирают близлежащую точку, выбранную на случайном расстоянии от существующей точки; если вероятность выше, то точка принимается, в противном случае она отклоняется, и процесс повторяется. Мукерджи и др. (2006) [7] обнаружили более высокие показатели принятия, выбирая точки случайным образом внутри эллипсоида, нарисованного вокруг существующих точек; эта идея была усовершенствована в алгоритме MultiNest [8] , который лучше обрабатывает мультимодальные апостериорные распределения, группируя точки в контуры вероятности и рисуя эллипсоид для каждого контура.
Реализации
Примеры реализаций, демонстрирующие алгоритм вложенной выборки, доступны для скачивания и написаны на нескольких языках программирования .
Простые примеры на языках C , R или Python можно найти на сайте Джона Скиллинга.
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] .
^ Скиллинг, Джон (2004). «Вложенная выборка». Труды конференции AIP . 735 : 395–405 . Bibcode : 2004AIPC..735..395S. doi : 10.1063/1.1835238.
^ Скиллинг, Джон (2006). «Вложенная выборка для общих байесовских вычислений». Байесовский анализ . 1 (4): 833– 860. doi : 10.1214/06-BA127 .
^ Чэнь, Мин-Хуэй, Шао, Ци-Мэн и Ибрагим, Джозеф Джордж (2000). Методы Монте-Карло в байесовских вычислениях. Springer. ISBN978-0-387-98935-8.{{cite book}}: CS1 maint: multiple names: authors list (link)
^ Уолтер, Клемент (2017). «Оценка Монте-Карло на основе точечного процесса». Статистика и вычисления . 27 : 219–236 . arXiv : 1412.6368 . doi : 10.1007/s11222-015-9617-y. S2CID 14639080.
^ Jasa, Tomislav; Xiang, Ning (2012). «Вложенная выборка, применяемая в байесовском анализе затухания акустики помещения». Журнал Акустического общества Америки . 132 (5): 3251– 3262. Bibcode : 2012ASAJ..132.3251J. doi : 10.1121/1.4754550. PMID 23145609. S2CID 20876510.
^ Sivia, Devinderjit; Skilling, John (июнь 2006). Анализ данных: байесовский учебник . Оксфорд: Oxford University Press, США. ISBN978-0-19-856832-2.
^ ab Мукерджи, П.; Паркинсон, Д.; Лиддл, А. Р. (2006). «Алгоритм вложенной выборки для выбора космологической модели». Astrophysical Journal . 638 (2): 51– 54. arXiv : astro-ph/0508461 . Bibcode :2006ApJ...638L..51M. doi :10.1086/501068. S2CID 6208051.
^ ab Feroz, F.; Hobson, MP; Bridges, M. (2008). "MULTINEST: эффективный и надежный инструмент байесовского вывода для космологии и физики элементарных частиц". MNRAS . 398 (4). arXiv : 0809.3437 . doi :10.1111/j.1365-2966.2009.14548.x.
^ Кестер, Д.; Мюллер, М. (2021). «BayesicFitting, набор инструментов PYTHON для байесовского подгонки и расчета доказательств.: Включая реализацию вложенной выборки». Астрономия и вычисления . 37 : 100503. arXiv : 2109.11976 . Bibcode : 2021A&C....3700503K. doi : 10.1016/j.ascom.2021.100503 .
^ 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.
^ 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.
^ 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.
^ Партей, Ливия Б. (2010). «Эффективная выборка атомных конфигурационных пространств». Журнал физической химии B. 114 ( 32): 10502– 10512. arXiv : 0906.3544 . doi :10.1021/jp1012973. PMID 20701382. S2CID 16834142.
^ Хигсон, Эдвард; Хэндли, Уилл; Хобсон, Майкл; Ласенби, Энтони (2019). «Динамическая вложенная выборка: улучшенный алгоритм оценки параметров и расчета доказательств». Статистика и вычисления . 29 (5): 891– 913. arXiv : 1704.03459 . Bibcode : 2019S&C....29..891H. doi : 10.1007/s11222-018-9844-0. S2CID 53514669.
^ Спигл, Джошуа (2020). «Динестия: динамический вложенный пакет выборки для оценки байесовских апостериорных данных и доказательств». Ежемесячные уведомления Королевского астрономического общества . 493 (3): 3132– 3158. arXiv : 1904.02180 . doi : 10.1093/mnras/staa278 . S2CID 102354337.
^ Хигсон, Эдвард (2018). "dyPolyChord: динамическая вложенная выборка с PolyChord". Журнал программного обеспечения с открытым исходным кодом . 3 (29): 965. doi : 10.21105/joss.00965 .
^ Эштон, Грегори и др. (2019). «Bilby: удобная для пользователя библиотека байесовского вывода для гравитационно-волновой астрономии». Серия приложений к астрофизическому журналу . 241 (2): 13. arXiv : 1811.02042 . Bibcode : 2019ApJS..241...27A. doi : 10.3847/1538-4365/ab06fc . S2CID 118677076.
^ Цукер, Кэтрин и др. (2018). «Картографирование расстояний через молекулярное облако Персея с использованием наблюдений {CO}, звездной фотометрии и измерений параллакса {DR}2 Gaia». The Astrophysical Journal . 869 (1): 83. arXiv : 1803.08931 . doi : 10.3847/1538-4357/aae97c . S2CID 119446622.
^ Гюнтер, Максимилиан и др. (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.