Stan: язык вероятностного программирования

Stan : A Probabilistic Programming Language
Marcus A. Brubaker, Ben Goodrich, Matthew D. Hoffman, Andrew Gelman, Bob Carpenter, Daniel C. Lee, Michael Betancourt, Jiqiang Guo, Peter Li, Allen Riddell
2017-01-01

байесовский выводгамильтонов метод Монте-Карлосэмплер No-U-Turnязык вероятностного программирования Stanвариационный байесовский вывод
Stan — это язык вероятностного программирования для задания статистических моделей. Программа Stan в императивной форме определяет функцию логарифма вероятности параметров, обусловленную заданными данными и константами. Начиная с версии 2.14.0, Stan обеспечивает полный байесовский вывод для моделей с непрерывными переменными с помощью методов Монте–Карло по цепям Маркова, таких как сэмплер No-U-Turn — адаптивная форма метода Монте–Карло с гамильтоновской динамикой. Оценки пенализированного метода максимального правдоподобия вычисляются с использованием методов оптимизации, таких как алгоритм Бройдена—Флетчера—Голдфарба—Шанно с ограниченным объёмом памяти. Stan также представляет собой платформу для вычисления логарифмов плотностей, а также их градиентов и матриц Гессе, которые могут применяться в альтернативных алгоритмах, таких как вариационный байесовский вывод, распространение ожиданий и маргинальный вывод с использованием приближённого интегрирования. Для этого Stan организован таким образом, чтобы плотности, градиенты и матрицы Гессе, а также промежуточные величины алгоритма, например вероятности принятия, были легко доступны. Stan можно вызывать из командной строки с использованием пакета cmdstan, из R — с использованием пакета rstan, а из Python — с использованием пакета pystan. Все три интерфейса поддерживают выборку и вывод на основе оптимизации, включая диагностику и апостериорный анализ. Пакеты rstan и pystan также обеспечивают доступ к логарифмам вероятностей, градиентам, матрицам Гессе, преобразованиям параметров и специализированной визуализации.
1
По состоянию на версию 2.14.0 Stan поддерживает полный байесовский вывод для моделей с непрерывными переменными с помощью методов MCMC, включая адаптивный сэмплер No-U-Turn.
2
Stan вычисляет оценки максимального правдоподобия с регуляризацией с использованием методов оптимизации, включая алгоритм BFGS с ограниченной памятью.
3
Stan предоставляет логарифмы плотностей, градиенты, гессианы и промежуточные диагностические величины, поддерживая альтернативные методы, включая вариационный байесовский вывод, распространение ожиданий и приближённое маргинальное оценивание.
4
Stan — это язык вероятностного программирования, позволяющий задавать статистические модели в виде императивных функций логарифма вероятности, зависящих от данных и констант.
5
Stan доступен через командную строку, R и Python; эти интерфейсы поддерживают выборку, оптимизацию, диагностику и анализ апостериорных распределений, а R и Python также предоставляют доступ к плотностям и преобразованиям параметров.

Язык вероятностного программирования Stan и его интерфейсы (CmdStan, RStan, PyStan)

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

Publication Details
Publication Date
2017-01-01
Journal
Publisher
ISSN
Access Type
Author Information
Authors
Marcus A. Brubaker
Ben Goodrich
Matthew D. Hoffman
Andrew Gelman
Bob Carpenter
Daniel C. Lee
Michael Betancourt
Jiqiang Guo
Peter Li
Allen Riddell
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%