Ir al contenido

PyMC

De Wikipedia, la enciclopedia libre

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.[1][2][3][4][5]​ PyMC ha sido reescrito desde cero de la versión anterior del software PyMC2.[6]​ 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.[7]​ PyMC es un proyecto de código abierto, desarrollado por la comunidad y patrocinado fiscalmente NumFOCUS.[8]

PyMC se ha utilizado para resolver problemas de inferencia en varios dominios científicos, incluida la astronomía,[9][10]epidemiología,[11][12]​ biología molecular,[13]​ cristalografía,[14][15]química,[16]​ ecología[17][18]​ y psicología.[19]​ Las versiones anteriores de PyMC también se usaron ampliamente, por ejemplo, en ciencia del clima,[20]​ salud pública,[21]neurociencia,[22]​ y parasitología.[23][24]

Desde que Theano anunciara planes para interrumpir su desarrollo en 2017,[25]​ el equipo de PyMC evaluó TensorFlow Probability como backend computacional,[26]​ pero decidió en 2020 hacerse cargo del desarrollo de Theano.[27]​ Gran parte del código base de Theano se ha refactorizado y se ha añadido la compilación a través de JAX[28]​ 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.[29]

Motores de inferencia

[editar]

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[30]​ (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[31]

Véase también

[editar]
  • 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

[editar]
  1. 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 doi 10.7717/peerj-cs.1516
  2. Salvatier J, Wiecki TV, Fonnesbeck C. (2016) Probabilistic programming in Python using PyMC3. PeerJ Computer Science 2:e55 doi 10.7717/peerj-cs.55
  3. Martin, Osvaldo (2016). Bayesian Analysis with Python (en inglés). Packt Publishing Ltd. pp. 31-60. ISBN 9781785889851. Consultado el 16 de septiembre de 2017. 
  4. Martin, Osvaldo; Kumar, Ravin; Lao, Junpeng (2021). Bayesian Modeling and Computation in Python (en inglés). CRC-press. pp. 1-420. ISBN 9780367894368. Consultado el 7 de julio de 2022. 
  5. Davidson-Pilon, Cameron (30 de septiembre de 2015). Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference (en inglés). Addison-Wesley Professional. ISBN 9780133902921. 
  6. «documentation» (en inglés). Consultado el 20 de septiembre de 2017. 
  7. «The Algorithms Behind Probabilistic Programming». Consultado el 10 de marzo de 2017. 
  8. «NumFOCUS Announces New Fiscally Sponsored Project: PyMC3». NumFOCUS | Open Code = Better Science. Consultado el 10 de marzo de 2017. 
  9. Greiner, J.; Burgess, J. M.; Savchenko, V.; Yu, H.-F. (2016). «On the Fermi-GBM Event 0.4 s after GW150914». The Astrophysical Journal Letters (en inglés) 827 (2): L38. Bibcode:2016ApJ...827L..38G. ISSN 2041-8205. arXiv:1606.00314. doi:10.3847/2041-8205/827/2/L38. 
  10. Hilbe, Joseph M.; Souza, Rafael S. de; Ishida, Emille E. O. (30 de abril de 2017). Bayesian Models for Astrophysical Data: Using R, JAGS, Python, and Stan (en inglés). Cambridge University Press. ISBN 9781108210744. 
  11. Brauner, Jan M.; Mindermann, Sören; Sharma, Mrinank; Johnston, David; Salvatier, John; Gavenčiak, Tom; Stephenson, Anna B.; Leech, Gavin et al. (15 de diciembre de 2020). «Inferring the effectiveness of government interventions against COVID-19». Science 371 (6531): eabd9338. PMC 7877495. PMID 33323424. doi:10.1126/science.abd9338. 
  12. Systrom, Kevin. «Rt.live Github repository». Rt.live. Consultado el 10 de enero de 2021. 
  13. Wagner, Stacey D.; Struck, Adam J.; Gupta, Riti; Farnsworth, Dylan R.; Mahady, Amy E.; Eichinger, Katy; Thornton, Charles A.; Wang, Eric T. et al. (28 de septiembre de 2016). «Dose-Dependent Regulation of Alternative Splicing by MBNL Proteins Reveals Biomarkers for Myotonic Dystrophy». PLOS Genetics 12 (9): e1006316. ISSN 1553-7404. PMC 5082313. PMID 27681373. doi:10.1371/journal.pgen.1006316. 
  14. Sharma, Amit; Johansson, Linda; Dunevall, Elin; Wahlgren, Weixiao Y.; Neutze, Richard; Katona, Gergely (1 de marzo de 2017). «Asymmetry in serial femtosecond crystallography data». Acta Crystallographica Section A (en inglés) 73 (2): 93-101. ISSN 2053-2733. PMC 5332129. PMID 28248658. doi:10.1107/s2053273316018696. 
  15. Katona, Gergely; Garcia-Bonete, Maria-Jose; Lundholm, Ida (1 de mayo de 2016). «Estimating the difference between structure-factor amplitudes using multivariate Bayesian inference». Acta Crystallographica Section A (en inglés) 72 (3): 406-411. ISSN 2053-2733. PMC 4850660. PMID 27126118. doi:10.1107/S2053273316003430. 
  16. Garay, Pablo G.; Martin, Osvaldo A.; Scheraga, Harold A.; Vila, Jorge A. (21 de julio de 2016). «Detection of methylation, acetylation and glycosylation of protein residues by monitoring13C chemical-shift changes: A quantum-chemical study». PeerJ (en inglés) 4: e2253. ISSN 2167-8359. PMC 4963218. PMID 27547559. doi:10.7717/peerj.2253. 
  17. Wang, Yan; Huang, Hong; Huang, Lida; Ristic, Branko (2017). «Evaluation of Bayesian source estimation methods with Prairie Grass observations and Gaussian plume model: A comparison of likelihood functions and distance measures». Atmospheric Environment 152: 519-530. Bibcode:2017AtmEn.152..519W. doi:10.1016/j.atmosenv.2017.01.014. 
  18. MacNeil, M. Aaron; Chong-Seng, Karen M.; Pratchett, Deborah J.; Thompson, Casssandra A.; Messmer, Vanessa; Pratchett, Morgan S. (14 de marzo de 2017). «Age and Growth of An Outbreaking Acanthaster cf. solaris Population within the Great Barrier Reef». Diversity (en inglés) 9 (1): 18. doi:10.3390/d9010018. 
  19. Tünnermann, Jan; Scharlau, Ingrid (2016). «Peripheral Visual Cues: Their Fate in Processing and Effects on Attention and Temporal-Order Perception». Frontiers in Psychology (en inglés) 7: 1442. ISSN 1664-1078. PMC 5052275. PMID 27766086. doi:10.3389/fpsyg.2016.01442. 
  20. Graham, Nicholas A. J.; Jennings, Simon; MacNeil, M. Aaron; Mouillot, David; Wilson, Shaun K. (2015). «Predicting climate-driven regime shifts versus rebound potential in coral reefs». Nature 518 (7537): 94-97. Bibcode:2015Natur.518...94G. PMID 25607371. doi:10.1038/nature14140. 
  21. Mascarenhas, Maya N.; Flaxman, Seth R.; Boerma, Ties; Vanderpoel, Sheryl; Stevens, Gretchen A. (18 de diciembre de 2012). «National, Regional, and Global Trends in Infertility Prevalence Since 1990: A Systematic Analysis of 277 Health Surveys». PLOS Medicine 9 (12): e1001356. ISSN 1549-1676. PMC 3525527. PMID 23271957. doi:10.1371/journal.pmed.1001356. 
  22. Cavanagh, James F; Wiecki, Thomas V; Cohen, Michael X; Figueroa, Christina M; Samanta, Johan; Sherman, Scott J; Frank, Michael J (2011). «Subthalamic nucleus stimulation reverses mediofrontal influence over decision threshold». Nature Neuroscience 14 (11): 1462-1467. PMC 3394226. PMID 21946325. doi:10.1038/nn.2925. 
  23. Gething, Peter W.; Elyazar, Iqbal R. F.; Moyes, Catherine L.; Smith, David L.; Battle, Katherine E.; Guerra, Carlos A.; Patil, Anand P.; Tatem, Andrew J. et al. (6 de septiembre de 2012). «A Long Neglected World Malaria Map: Plasmodium vivax Endemicity in 2010». PLOS Neglected Tropical Diseases 6 (9): e1814. ISSN 1935-2735. PMC 3435256. PMID 22970336. doi:10.1371/journal.pntd.0001814. 
  24. Pullan, Rachel L.; Smith, Jennifer L.; Jasrasaria, Rashmi; Brooker, Simon J. (21 de enero de 2014). «Global numbers of infection and disease burden of soil transmitted helminth infections in 2010». Parasites & Vectors 7: 37. ISSN 1756-3305. PMC 3905661. PMID 24447578. doi:10.1186/1756-3305-7-37. 
  25. «MILA and the future of Theano», 2017-09-28, https://groups.google.com/forum/#!topic/theano-users/7Poq8BZutbY, consultado el 2017-09-28. 
  26. Developers, PyMC (17 de mayo de 2018). «Theano, TensorFlow and the Future of PyMC». PyMC Developers. Consultado el 25 de enero de 2019. 
  27. «The Future of PyMC3, or: Theano is Dead, Long Live Theano». PyMC Developers. 27 de octubre de 2020. Consultado el 10 de enero de 2021. 
  28. Bradbury, James. «JAX». GitHub. Consultado el 10 de enero de 2021. 
  29. «PyMC Timeline». PyMC Timeline. Consultado el 10 de enero de 2021. 
  30. Hoffman, Matthew D.; Gelman, Andrew (April 2014). «The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo». Journal of Machine Learning Research 15: pp. 1593-1623. 
  31. Kucukelbir, Alp; Ranganath, Rajesh; Blei, David M. (June 2015). Automatic Variational Inference in Stan 1506 (3431). Bibcode:2015arXiv150603431K. arXiv:1506.03431. 

Otras lectura

[editar]

Enlaces externos

[editar]