PyMC (anteriormente conocido como PyMC3) es un paquete de Python para el modelado estadístico bayesiano y el aprendizaje automático probabilístico. Ofrece varios algoritmos de inferencia principalmente métodos Monte Carlo vía cadena de Markov e Inferencia Variacional.Abril-Pla O, Andreani V, Carroll C, Dong L, Fonnesbeck CJ, Kochurov M, Kumar R, Lao J, Luhmann CC, Martin OA, Osthege M, Vieira R, Wiecki T, Zinkov R. (2023) PyMC: a modern, and comprehensive probabilistic programming framework in Python. PeerJ Comput. Sci. 9:e1516 Salvatier J, Wiecki TV, Fonnesbeck C. (2016) Probabilistic programming in Python using PyMC3. PeerJ Computer Science 2:e55 PyMC ha sido reescrito desde cero de la versión anterior del software PyMC2. A diferencia de la versión anterior, que usaba extensiones de Fortran para realizar cálculos, PyMC utiliza PyTensor, una biblioteca de Python que permite definir, optimizar y evaluar de manera eficiente expresiones matemáticas que involucran arreglos multidimensionales. A partir de la versión 3.8, PyMC utiliza ArviZ para realizar gráficos, diagnóstico y evaluaciones estadísticas. PyMC y Stan son los dos lenguajes de programación probabilística más populares. PyMC es un proyecto de código abierto, desarrollado por la comunidad y patrocinado fiscalmente NumFOCUS.

PyMC se ha utilizado para resolver problemas de inferencia en varios dominios científicos, incluida la astronomía, epidemiología, biología molecular, cristalografía, química, ecología y psicología. Las versiones anteriores de PyMC también se usaron ampliamente, por ejemplo, en ciencia del clima, salud pública, neurociencia, y parasitología.

Desde que Theano anunciara planes para interrumpir su desarrollo en 2017, el equipo de PyMC evaluó TensorFlow Probability como backend computacional, pero decidió en 2020 hacerse cargo del desarrollo de Theano. Gran parte del código base de Theano se ha refactorizado y se ha añadido la compilación a través de JAX y Numba. El equipo de PyMC ha lanzado el backend computacional revisado, con el nombre de PyTensor y continúa con el desarrollo de PyMC.

Motores de inferencia PyMC implementa varios algoritmos de Monte Carlo (MCMC) vía cadena de Markov basados en gradientes y no basados en gradientes para la inferencia Bayesiana y métodos variacionales basados en gradientes.

Algoritmos basados en MCMC: No-U-Turn Sampler (NUTS) es un tipo de Hamiltonian Monte Carlo, y es el motor predeterminado de PyMC para variables continuas Metropolis–Hastings, el motor predeterminado de PyMC para variables discretas Monte Carlo secuencial (Sequential Monte-Carlo) para posteriores estáticos y para cálculo bayesiano aproximado Algoritmos de inferencia variacional: Inferencia variacional de caja negra

Véase también

Stan es un lenguaje de programación probabilístico para inferencia estadística escrito en C++ ArviZ una biblioteca de Python para el análisis exploratorio de modelos Bayesianos

Referencias

Otras lectura

Probabilistic Programming and Bayesian Methods for Hackers Computational Statistics in Python

Enlaces externos

Sitio web PyMC Fuente de PyMC, un repositorio de Git alojado en GitHub PyTensor biblioteca que permite definir, optimizar y evaluar expresiones matemáticas que involucran matrices multidimensionales.

Categoría:Python Categoría:Estadística bayesiana Categoría:Distribuciones de probabilidad Categoría:Inferencia estadística