Вложенный алгоритм выборки
Часть серии о |
Байесовская статистика |
---|
![]() |
Апостериорный = Вероятность × Априорный ÷ Доказательства |
Фон |
Модельное здание |
Апостериорное приближение |
Оценщики |
Приближение доказательств |
Оценка модели |
Алгоритм вложенной выборки представляет собой вычислительный подход к решению задач байесовской статистики , заключающийся в сравнении моделей и генерации выборок на основе апостериорных распределений. Его разработал в 2004 году физик Джон Скиллинг. [1]
Фон
[ редактировать ]Теорему Байеса можно применить к паре конкурирующих моделей. и для данных , одно из которых может быть истинным (хотя какое именно неизвестно), но оба не могут быть истинными одновременно. Апостериорная вероятность для может быть рассчитано как:
Априорные вероятности и уже известны, так как выбраны исследователем заранее. Однако оставшийся байесовский фактор оценить не так просто, поскольку, как правило, это требует маргинализации мешающих параметров. В целом, имеет набор параметров, которые можно сгруппировать и назвать , и имеет свой вектор параметров, который может иметь разную размерность, но все равно называется . Маргинализация является
и аналогично для . Этот интеграл часто аналитически неразрешим, и в этих случаях необходимо использовать численный алгоритм для поиска приближения. Алгоритм вложенной выборки был разработан Джоном Скиллингом специально для аппроксимации этих интегралов маргинализации, и он имеет дополнительное преимущество, заключающееся в создании выборок из апостериорного распределения. . [2] Это альтернатива методам из байесовской литературы. [3] такие как выборка мостов и выборка защитной важности.
Вот простая версия алгоритма вложенной выборки, за которой следует описание того, как он вычисляет предельную плотность вероятности. где является или :
Start with points sampled from prior. for to do % The number of iterations j is chosen by guesswork. current likelihood values of the points; Save the point with least likelihood as a sample point with weight . Update the point with least likelihood with some Markov chain Monte Carlo steps according to the prior, accepting only steps that keep the likelihood above . end return ;
На каждой итерации - это оценка количества предшествующей массы, покрытой гиперобъемом в пространстве параметров всех точек с вероятностью, превышающей . Весовой фактор это оценка количества априорной массы, которая находится между двумя вложенными гиперповерхностями. и . Этап обновления вычисляет сумму по из численно аппроксимировать интеграл
В пределе , эта оценка имеет положительное смещение порядка [4] который можно удалить с помощью вместо в приведенном выше алгоритме.
Идея состоит в том, чтобы разделить диапазон и оценим для каждого интервала , насколько априори вероятно, что случайно выбранный будет соответствовать этому интервалу. Это можно рассматривать как байесовский способ численной реализации интегрирования Лебега . [5]
Реализации
[ редактировать ]Примеры реализации, демонстрирующие алгоритм вложенной выборки, общедоступны для скачивания и написаны на нескольких языках программирования .
- Простые примеры на C , R или Python находятся на веб-сайте Джона Скиллинга. [6]
- Порт Haskell приведенных выше простых кодов находится на Hackage. [7]
- Пример в R, первоначально разработанный для подгонки спектров , описан по адресу [8] и находится на GitHub. [9]
- NestedSampler является частью набора инструментов Python BayesicFitting. [10] для подбора общей модели и расчета доказательств. Это на Гитхабе [11]
- Пример на C++ под названием Diamonds находится на GitHub. [12]
- Высокомодульный параллельный пример Python для статистической физики и физики конденсированного состояния находится на GitHub. [13]
- pymatnest — это пакет Python , предназначенный для изучения энергетического ландшафта различных материалов, расчета термодинамических переменных при произвольных температурах и определения фазовых переходов, который находится на GitHub. [14]
- Программный пакет MultiNest способен выполнять вложенную выборку на мультимодальных апостериорных распределениях. [15] Он имеет интерфейсы для ввода C++, Fortran и Python и доступен на GitHub. [16]
- PolyChord — еще один пакет программного обеспечения для вложенной выборки, доступный на GitHub. [17] Вычислительная эффективность PolyChord лучше масштабируется с увеличением числа параметров, чем MultiNest, а это означает, что PolyChord может быть более эффективным для задач большой размерности. [18]
- NestedSamplers.jl — пакет Julia для реализации одно- и многоэллипсоидальных алгоритмов вложенной выборки, находится на GitHub. [19]
- Korali — это высокопроизводительная среда для количественной оценки неопределенности, оптимизации и глубокого обучения с подкреплением, которая также реализует вложенную выборку.
Приложения
[ редактировать ]С тех пор, как в 2004 году была предложена вложенная выборка, она стала использоваться во многих аспектах области астрономии . В одной статье предлагалось использовать вложенную выборку для выбора космологической модели и обнаружения объектов, поскольку она «уникально сочетает в себе точность, общую применимость и вычислительную осуществимость». [20] Усовершенствование алгоритма для обработки мультимодальных апостериорных изображений было предложено как средство обнаружения астрономических объектов в существующих наборах данных. [15] Другие применения вложенной выборки находятся в области обновления конечных элементов , где алгоритм используется для выбора оптимальной модели конечных элементов , и это было применено к структурной динамике . [21] Этот метод отбора проб также использовался в области моделирования материалов. Его можно использовать для изучения статистической суммы из статистической механики и получения термодинамических свойств. [22]
Динамическая вложенная выборка
[ редактировать ]Динамическая вложенная выборка — это обобщение алгоритма вложенной выборки, в котором количество выборок, взятых в разных областях пространства параметров, динамически регулируется для максимизации точности вычислений. [23] Это может привести к значительному повышению точности и эффективности вычислений по сравнению с исходным алгоритмом вложенной выборки, в котором распределение выборок не может быть изменено и часто многие выборки отбираются в регионах, которые мало влияют на точность вычислений.
Общедоступные пакеты программного обеспечения для динамической вложенной выборки включают:
- dynesty — реализация динамической вложенной выборки на Python, которую можно загрузить с GitHub. [24] [25]
- dyPolyChord: пакет программного обеспечения, который можно использовать с Python, C++ и Fortran, а также с предыдущими дистрибутивами. [26] dyPolyChord доступен на GitHub. [27]
Динамическая вложенная выборка применялась для решения множества научных задач, включая анализ гравитационных волн, [28] отображение расстояний в космосе [29] и обнаружение экзопланет. [30]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Скиллинг, Джон (2004). «Вложенная выборка». Материалы конференции AIP . 735 : 395–405. Бибкод : 2004AIPC..735..395S . дои : 10.1063/1.1835238 .
- ^ Скиллинг, Джон (2006). «Вложенная выборка для общих байесовских вычислений» . Байесовский анализ . 1 (4): 833–860. дои : 10.1214/06-BA127 .
- ^ Чен, Мин-Хуэй, Шао, Ци-Ман и Ибрагим, Джозеф Джордж (2000). Методы Монте-Карло в байесовских вычислениях . Спрингер. ISBN 978-0-387-98935-8 .
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Уолтер, Клемент (2017). «Оценка Монте-Карло на основе точечного процесса». Статистика и вычисления . 27 : 219–236. arXiv : 1412.6368 . дои : 10.1007/s11222-015-9617-y . S2CID 14639080 .
- ^ Яса, Томислав; Сян, Нин (2012). «Вложенная выборка, применяемая при байесовском анализе затухания акустики помещения». Журнал Акустического общества Америки . 132 (5): 3251–3262. Бибкод : 2012ASAJ..132.3251J . дои : 10.1121/1.4754550 . ПМИД 23145609 . S2CID 20876510 .
- ^ Веб-сайт Джона Скиллинга
- ^ Вложенный алгоритм выборки в Haskell на Hackage.
- ^ Вложенный алгоритм выборки в R на веб-сайте Бояна Николича.
- ^ Вложенный алгоритм выборки в R на GitHub.
- ^ Кестер, Д.; Мюллер, М. (2021). «BayesicFitting, набор инструментов PYTHON для байесовской подгонки и расчета доказательств.: включая реализацию вложенной выборки» . Астрономия и вычислительная техника . 37 : 100503. arXiv : 2109.11976 . дои : 10.1016/j.ascom.2021.100503 .
- ^ Набор инструментов Python, содержащий вложенный алгоритм выборки на GitHub.
- ^ Вложенный алгоритм выборки в C++ на GitHub.
- ^ Вложенный алгоритм выборки в Python на GitHub.
- ^ Вложенный алгоритм выборки для моделирования материалов на GitHub.
- ^ Jump up to: а б Фероз, Ф.; Хобсон, член парламента (2008). «Мультимодальная вложенная выборка: эффективная и надежная альтернатива методам Монте-Карло с цепями Маркова для анализа астрономических данных» . МНРАС . 384 (2): 449–463. arXiv : 0704.3704 . Бибкод : 2008MNRAS.384..449F . дои : 10.1111/j.1365-2966.2007.12353.x . S2CID 14226032 .
- ^ Пакет программного обеспечения для вложенной выборки MultiNest на GitHub.
- ^ Пакет программного обеспечения для вложенной выборки PolyChord на GitHub.
- ^ Хэндли, Уилл; Хобсон, Майк; Ласенби, Энтони (2015). «Полихорд: вложенная выборка нового поколения». Ежемесячные уведомления Королевского астрономического общества . 453 (4): 4384–4398. arXiv : 1506.00171 . Бибкод : 2015MNRAS.453.4384H . дои : 10.1093/mnras/stv1911 . S2CID 118882763 .
- ^ Реализации вложенной выборки с одним и несколькими эллипсоидами в Julia на GitHub.
- ^ Мукерджи, П.; Паркинсон, Д.; Лиддл, Арканзас (2006). «Вложенный алгоритм выборки для выбора космологической модели». Астрофизический журнал . 638 (2): 51–54. arXiv : astro-ph/0508461 . Бибкод : 2006ApJ...638L..51M . дои : 10.1086/501068 . S2CID 6208051 .
- ^ Мтембу, Л.; Марвала, Т.; Фрисвелл, Мичиган; Адхикари, С. (2011). «Выбор модели при обновлении модели методом конечных элементов с использованием байесовской статистики доказательств». Механические системы и обработка сигналов . 25 (7): 2399–2412. Бибкод : 2011MSSP...25.2399M . дои : 10.1016/j.ymssp.2011.04.001 .
- ^ Партай, Ливия Б. (2010). «Эффективная выборка атомных конфигурационных пространств». Журнал физической химии Б. 114 (32): 10502–10512. arXiv : 0906.3544 . дои : 10.1021/jp1012973 . ПМИД 20701382 . S2CID 16834142 .
- ^ Хигсон, Эдвард; Хэндли, Уилл; Хобсон, Майкл; Ласенби, Энтони (2019). «Динамическая вложенная выборка: улучшенный алгоритм оценки параметров и расчета доказательств». Статистика и вычисления . 29 (5): 891–913. arXiv : 1704.03459 . Бибкод : 2019S&C....29..891H . дои : 10.1007/s11222-018-9844-0 . S2CID 53514669 .
- ^ Пакет программного обеспечения для вложенной выборки Dynesty на GitHub.
- ^ Спигл, Джошуа (2020). «dynesty: пакет динамической вложенной выборки для оценки байесовских апостериорных данных и доказательств». Ежемесячные уведомления Королевского астрономического общества . 493 (3): 3132–3158. arXiv : 1904.02180 . дои : 10.1093/mnras/staa278 . S2CID 102354337 .
- ^ Хигсон, Эдвард (2018). «dyPolyChord: динамическая вложенная выборка с помощью PolyChord» . Журнал программного обеспечения с открытым исходным кодом . 3 (29): 965. дои : 10.21105/joss.00965 .
- ^ Пакет программного обеспечения для динамической вложенной выборки dyPolyChord на GitHub.
- ^ Эштон, Грегори; и др. (2019). «Билби: Удобная для пользователя библиотека байесовского вывода для гравитационно-волновой астрономии» . Серия дополнений к астрофизическому журналу . 241 (2): 13. arXiv : 1811.02042 . Бибкод : 2019ApJS..241...27A . дои : 10.3847/1538-4365/ab06fc . S2CID 118677076 .
- ^ Цукер, Кэтрин; и др. (2018). «Картирование расстояний в молекулярном облаке Персея с использованием наблюдений {CO}, звездной фотометрии и измерений параллакса Gaia {DR}2» . Астрофизический журнал . 869 (1): 83. arXiv : 1803.08931 . дои : 10.3847/1538-4357/aae97c . S2CID 119446622 .
- ^ Гюнтер, Максимилиан; и др. (2019). «Супер-Земля и два суб-Нептуна, проходящие транзитом через близлежащий и тихий М-карлик ТОИ-270». Природная астрономия . 3 (12): 1099–1108. arXiv : 1903.06107 . Бибкод : 2019НатАс...3.1099Г . дои : 10.1038/s41550-019-0845-5 . S2CID 119286334 .