PyMC

biblioteca Python per programar anàlisi bayesiana

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

Tipusbiblioteca Python, statistical package (en) Tradueix i programari lliure Modifica el valor a Wikidata
Versió estable
5.15.0 (13 maig 2024) Modifica el valor a Wikidata
LlicènciaAcademic Free License
Llicència Apache, versió 2.0 Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuUnix-like Modifica el valor a Wikidata
Escrit enPython i Llenguatge de programació probabilística Modifica el valor a Wikidata
Equip
Desenvolupador(s)Thomas Wiecki (en) Tradueix i Colin Carroll (en) Tradueix Modifica el valor a Wikidata
Més informació
Lloc webpymc-devs.github.io… Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata

Twitter (X): pymc_devs Modifica el valor a Wikidata

PyMC realitza una inferència basada en la cadena de Markov Monte Carlo avançada i/o en algorismes d'ajust variacional.[1][2][3] És una reescriptura des de zero de la versió anterior del programari PyMC.[4] 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.[5] 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, [6][7] epidemiologia, [8][9] biologia molecular, [10] cristal·lografia, [11][12] química, [13] ecologia.[14][15] i psicologia.[16] Les versions anteriors de PyMC també es van utilitzar àmpliament, per exemple en ciències del clima, [17] salut pública, [18] neurociència [19] i parasitologia.[20][21]

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, [22] però va decidir el 2020 bifurcar Theano amb el nom d'Aesara.[23] Grans parts de la base de codi Theano s'han refactoritzat i s'han afegit la compilació mitjançant JAX [24] i Numba. L'equip de PyMC ha llançat el backend computacional revisat amb el nom de PyTensor i continua el desenvolupament de PyMC.[25]

Motors d'inferència modifica

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.

Referències modifica

  1. Martin, Osvaldo. Bayesian Analysis with Python (en anglès). Packt Publishing Ltd, 2024. ISBN 9781805127161. 
  2. Martin, Osvaldo. Bayesian Modeling and Computation in Python (en anglès). CRC-press, 2021, p. 1–420. ISBN 9780367894368. 
  3. Davidson-Pilon, Cameron. Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference (en anglès). Addison-Wesley Professional, 2015-09-30. ISBN 9780133902921. 
  4. «documentation» (en anglès). [Consulta: 20 setembre 2017].
  5. «The Algorithms Behind Probabilistic Programming» (en anglès). [Consulta: 10 març 2017].
  6. Greiner, J.; Burgess, J. M.; Savchenko, V.; Yu, H.-F. (en anglès) The Astrophysical Journal Letters, 827, 2, 2016, pàg. L38. arXiv: 1606.00314. Bibcode: 2016ApJ...827L..38G. DOI: 10.3847/2041-8205/827/2/L38. ISSN: 2041-8205 [Consulta: free].
  7. Hilbe, Joseph M. Bayesian Models for Astrophysical Data: Using R, JAGS, Python, and Stan (en anglès). Cambridge University Press, 2017-04-30. ISBN 9781108210744. 
  8. Brauner, Jan M.; Mindermann, Sören; Sharma, Mrinank; Johnston, David; Salvatier, John Science, 371, 6531, 15-12-2020, pàg. eabd9338. DOI: 10.1126/science.abd9338. PMC: 7877495. PMID: 33323424 [Consulta: lliure].
  9. Systrom, Kevin. «Rt.live Github repository» (en anglès). Rt.live. [Consulta: 10 gener 2021].
  10. Wagner, Stacey D.; Struck, Adam J.; Gupta, Riti; Farnsworth, Dylan R.; Mahady, Amy E. PLOS Genetics, 12, 9, 28-09-2016, pàg. e1006316. DOI: 10.1371/journal.pgen.1006316. ISSN: 1553-7404. PMC: 5082313. PMID: 27681373 [Consulta: lliure].
  11. Sharma, Amit; Johansson, Linda; Dunevall, Elin; Wahlgren, Weixiao Y.; Neutze, Richard (en anglès) Acta Crystallographica Section A, 73, 2, 01-03-2017, pàg. 93–101. DOI: 10.1107/s2053273316018696. ISSN: 2053-2733. PMC: 5332129. PMID: 28248658.
  12. Katona, Gergely; Garcia-Bonete, Maria-Jose; Lundholm, Ida (en anglès) Acta Crystallographica Section A, 72, 3, 01-05-2016, pàg. 406–411. DOI: 10.1107/S2053273316003430. ISSN: 2053-2733. PMC: 4850660. PMID: 27126118.
  13. Garay, Pablo G.; Martin, Osvaldo A.; Scheraga, Harold A.; Vila, Jorge A. (en anglès) PeerJ, 4, 21-07-2016, pàg. e2253. DOI: 10.7717/peerj.2253. ISSN: 2167-8359. PMC: 4963218. PMID: 27547559 [Consulta: free].
  14. Wang, Yan; Huang, Hong; Huang, Lida; Ristic, Branko Atmospheric Environment, 152, 2017, pàg. 519–530. Bibcode: 2017AtmEn.152..519W. DOI: 10.1016/j.atmosenv.2017.01.014.
  15. MacNeil, M. Aaron; Chong-Seng, Karen M.; Pratchett, Deborah J.; Thompson, Casssandra A.; Messmer, Vanessa (en anglès) Diversity, 9, 1, 14-03-2017, pàg. 18. DOI: 10.3390/d9010018 [Consulta: lliure].
  16. Tünnermann, Jan; Scharlau, Ingrid (en anglès) Frontiers in Psychology, 7, 2016, pàg. 1442. DOI: 10.3389/fpsyg.2016.01442. ISSN: 1664-1078. PMC: 5052275. PMID: 27766086 [Consulta: lliure].
  17. Graham, Nicholas A. J.; Jennings, Simon; MacNeil, M. Aaron; Mouillot, David; Wilson, Shaun K. Nature, 518, 7537, 2015, pàg. 94–97. Bibcode: 2015Natur.518...94G. DOI: 10.1038/nature14140. PMID: 25607371.
  18. Mascarenhas, Maya N.; Flaxman, Seth R.; Boerma, Ties; Vanderpoel, Sheryl; Stevens, Gretchen A. PLOS Medicine, 9, 12, 18-12-2012, pàg. e1001356. DOI: 10.1371/journal.pmed.1001356. ISSN: 1549-1676. PMC: 3525527. PMID: 23271957 [Consulta: free].
  19. Cavanagh, James F; Wiecki, Thomas V; Cohen, Michael X; Figueroa, Christina M; Samanta, Johan Nature Neuroscience, 14, 11, 2011, pàg. 1462–1467. DOI: 10.1038/nn.2925. PMC: 3394226. PMID: 21946325.
  20. Gething, Peter W.; Elyazar, Iqbal R. F.; Moyes, Catherine L.; Smith, David L.; Battle, Katherine E. PLOS Neglected Tropical Diseases, 6, 9, 06-09-2012, pàg. e1814. DOI: 10.1371/journal.pntd.0001814. ISSN: 1935-2735. PMC: 3435256. PMID: 22970336 [Consulta: lliure].
  21. Pullan, Rachel L.; Smith, Jennifer L.; Jasrasaria, Rashmi; Brooker, Simon J. Parasites & Vectors, 7, 21-01-2014, pàg. 37. DOI: 10.1186/1756-3305-7-37. ISSN: 1756-3305. PMC: 3905661. PMID: 24447578 [Consulta: lliure].
  22. Developers, PyMC. «Theano, TensorFlow and the Future of PyMC» (en anglès). PyMC Developers, 17-05-2018. [Consulta: 25 gener 2019].
  23. «The Future of PyMC3, or: Theano is Dead, Long Live Theano» (en anglès). PyMC Developers, 27-10-2020. [Consulta: 10 gener 2021].
  24. Bradbury, James. «JAX» (en anglès). GitHub. [Consulta: 10 gener 2021].
  25. «PyMC Timeline» (en anglès). PyMC Timeline. [Consulta: 10 gener 2021].