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

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

Задний план

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

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

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

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

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 ;

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

В пределе эта оценка имеет положительное смещение порядка, которое можно удалить, используя вместо описанного выше алгоритма.

Идея состоит в том, чтобы разделить диапазон и оценить для каждого интервала , насколько вероятно априори, что случайно выбранный будет отображаться в этот интервал. Это можно рассматривать как байесовский способ численной реализации интеграции Лебега .

Реализации

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

  • Простые примеры на C , R или Python есть на сайте Джона Скиллинга.
  • Хаскел порт из указанных выше простых кодов на Hackage.
  • Пример на R, изначально разработанный для подбора спектров , описан на GitHub.
  • Пример на C ++ под названием Diamonds находится на GitHub.
  • Пример модульного параллельного Python для использования в статистической физике и физике конденсированного состояния находится на GitHub.
  • pymatnest - это пакет Python , предназначенный для изучения энергетического ландшафта различных материалов, расчета термодинамических переменных при произвольных температурах и определения фазовых переходов, размещенный на GitHub.
  • Программный пакет MultiNest может выполнять вложенную выборку мультимодальных апостериорных распределений. Он имеет интерфейсы для входных данных C ++, Fortran и Python и доступен на GitHub.
  • PolyChord - еще один вложенный программный пакет для выборки, доступный на GitHub. Вычислительная эффективность PolyChord лучше масштабируется с увеличением количества параметров, чем MultiNest, что означает, что PolyChord может быть более эффективным для задач большой размерности.
  • NestedSamplers.jl пакет Julia для реализации одно- и многоэллипсоидальных алгоритмов вложенной выборки находится на GitHub.

Приложения

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

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

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

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

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

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

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

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