PyMC (abans conegut com a PyMC3) és un llenguatge de programació probabilístic escrit en Python. Es pot utilitzar per al modelatge estadístic bayesià i l'aprenentatge automàtic probabilístic.
PyMC realitza una inferència basada en la cadena de Markov Monte Carlo avançada i/o en algorismes d'ajust variacional. És una reescriptura des de zero de la versió anterior del programari PyMC. A diferència de PyMC2, que havia utilitzat extensions de Fortran per realitzar càlculs, PyMC es basa en PyTensor, una biblioteca de Python que permet definir, optimitzar i avaluar de manera eficient expressions matemàtiques que impliquen matrius multidimensionals. A partir de la versió 3.8, PyMC confia en ArviZ per gestionar el traçat, els diagnòstics i les comprovacions estadístiques. PyMC i Stan són les dues eines de programació probabilística més populars. PyMC és un projecte de codi obert, desenvolupat per la comunitat i que ha estat patrocinat fiscalment per NumFOCUS.
PyMC s'ha utilitzat per resoldre problemes d'inferència en diversos dominis científics, incloent l'astronomia, epidemiologia, biologia molecular, cristal·lografia, química, ecologia. i psicologia. Les versions anteriors de PyMC també es van utilitzar àmpliament, per exemple en ciències del clima, salut pública, neurociència i parasitologia.
Després que Theano anunciés plans per interrompre el desenvolupament el 2017, l'equip de PyMC va avaluar TensorFlow Probability com a backend computacional, però va decidir el 2020 bifurcar Theano amb el nom d'Aesara. Grans parts de la base de codi Theano s'han refactoritzat i s'han afegit la compilació mitjançant JAX i Numba. L'equip de PyMC ha llançat el backend computacional revisat amb el nom de PyTensor i continua el desenvolupament de PyMC.
Motors d'inferència PyMC implementa algorismes de la cadena de Màrkov Monte Carlo (MCMC) no basats en gradients i basats en gradients per a la inferència bayesiana i mètodes bayesians variacionals estocàstics basats en gradients per a la inferència bayesiana aproximada.
Algorismes basats en MCMC: No-U-Turn sampler (NUTS), una variant de Hamiltonià Monte Carlo i el motor predeterminat de PyMC per a variables contínues Metropolis–Hastings, el motor predeterminat de PyMC per a variables discretes Montecarlo seqüencial per a posteriors estàtics Montecarlo seqüencial per a càlcul bayesià aproximat Algorismes d'inferència variacional : Inferència variacional de caixa negra
Referències
Categoria:Aprenentatge automàtic Categoria:Python