Об этом проекте
PyMC (ранее PyMC3) — это пакет Python для байесовского статистического моделирования, ориентированный на продвинутые алгоритмы марковских цепей Монте-Карло (MCMC) и вариационного вывода (VI). Его гибкость и расширяемость делают его применимым к широкому спектру задач во многих областях.
Ключевые особенности включают интуитивно понятный синтаксис спецификации моделей (например, x ~ N(0,1) преобразуется в x = Normal('x', 0, 1)), мощные алгоритмы выборки, такие как No U-Turn Sampler (NUTS), позволяющие работать со сложными моделями с тысячами параметров без глубоких знаний о алгоритмах подгонки, а также вариационный вывод через ADVI для быстрой аппроксимации апостериорного распределения и мини-батч ADVI для больших наборов данных. PyMC использует PyTensor для оптимизации вычислений, динамической компиляции C или JAX, трансляции NumPy, продвинутого индексирования, операторов линейной алгебры и простой расширяемости. Также обеспечивается прозрачная поддержка импутации пропущенных значений.
Фреймворк поддерживает полный байесовский рабочий процесс: определение генеративных моделей с координатами и размерностями, выборку из априорных предиктивных распределений, наблюдение данных для проведения вывода, генерацию постериорных предиктивных выборок и проведение контрфактического анализа с использованием оператора do() для симуляции сценариев при измененных параметрах. Пример в README демонстрирует модель линейной регрессии для прогнозирования роста растений, показывая, как выведенные параметры близко соответствуют фиксированным значениям истины, и как можно выполнять постериорную предиктивную выборку и контрфактические вмешательства.
PyMC является некоммерческим проектом под эгидой NumFOCUS и лицензирован по Apache License 2.0. Он имеет богатую экосистему связанного программного обеспечения, включая Bambi для построения байесовских моделей, calibr8 для моделей наблюдений, gumbi для моделей гауссовских процессов, SunODE для быстрого решения ОДУ, а также инструменты для конкретных областей, такие как Exoplanet для астрономических временных рядов, beat для анализа землетрясений, CausalPy для каузального вывода и PyMC-Marketing для моделирования маркетинговых миксов. Проект предоставляет обширную документацию, учебные материалы, галерею примеров и активный форум Discourse для поддержки сообщества.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.