PyMC3 es un paquete de Python para el modelado estadístico bayesiano y el aprendizaje automático probabilístico que se centra en la cadena de Markov avanzada Monte Carlo y los algoritmos de ajuste variacional. [1] [2] [3] Es una reescritura desde cero de la versión anterior del software PyMC. [4] A diferencia de PyMC2, que había utilizado extensiones de Fortran para realizar cálculos, PyMC3 se basa en Theano para la diferenciación automática y también para la optimización de los cálculos y la compilación dinámica de C. [2] [5] Desde la versión 3.8, PyMC3 se basa en ArviZ para manejar el trazado, el diagnóstico y las comprobaciones estadísticas. PyMC3 yStan son las dos herramientas de programación probabilística más populares . [6] PyMC3 es un proyecto de código abierto, desarrollado por la comunidad y patrocinado fiscalmente por NumFocus . [7]
Autor (es) original (es) | Equipo de desarrollo de PyMC3 |
---|---|
Versión inicial | 4 de mayo de 2013 |
Lanzamiento estable | 3.11 / 21 de enero de 2021 |
Repositorio | |
Escrito en | Pitón |
Sistema operativo | Tipo Unix , Mac OS X , Microsoft Windows |
Plataforma | Intel x86: 32 bits , x64 |
Tipo | Paquete estadístico |
Licencia | Licencia Apache, versión 2.0 |
Sitio web | pymc-devs |
PyMC3 se ha utilizado para resolver problemas de inferencia en varios dominios científicos, incluida la astronomía , [8] [9] epidemiología , [10] [11] biología molecular, [12] cristalografía, [13] [14] química , [15] ecología [16] [17] y psicología. [18] Las versiones anteriores de PyMC también se utilizaron ampliamente, por ejemplo, en ciencias del clima, [19] salud pública, [20] neurociencia , [21] y parasitología. [22] [23]
Después de que Theano anunció planes para interrumpir el desarrollo en 2017, [24] el equipo de PyMC3 evaluó TensorFlow Probability como un backend computacional, [25] pero decidió en 2020 hacerse cargo del desarrollo de Theano. [26] A partir de enero de 2021, gran parte del código base de Theano-PyMC se refactorizó y se agregó la compilación a través de JAX [27] . El equipo de PyMC planea lanzar el backend computacional revisado con un nuevo nombre y continuar con el desarrollo de PyMC3. [28]
Motores de inferencia
PyMC3 implementa algoritmos de Monte Carlo (MCMC) de cadena de Markov no basados en gradiente y basados en gradiente para inferencia bayesiana y métodos estocásticos bayesianos variacionales basados en gradiente para inferencia bayesiana aproximada.
- Algoritmos MCMC:
- Muestreador sin giro en U [29] (NUTS), una variante del motor predeterminado de Hamiltonian Monte Carlo y PyMC3 para variables continuas
- Metropolis-Hastings , el motor predeterminado de PyMC3 para variables discretas
- Montecarlo secuencial
- Algoritmos de inferencia variacional:
- Inferencia variacional de caja negra [30]
Ver también
- Stan es un lenguaje de programación probabilístico para inferencia estadística escrito en C ++
Referencias
- ^ Salvatier J, Wiecki TV, Fonnesbeck C. (2016) Programación probabilística en Python usando PyMC3. PeerJ Computer Science 2: e55 https://doi.org/10.7717/peerj-cs.55
- ↑ a b Martín, Osvaldo (2016). Análisis bayesiano con Python . Packt Publishing Ltd. págs. 31–60. ISBN 9781785889851. Consultado el 16 de septiembre de 2017 .
- ^ Davidson-Pilon, Cameron (30 de septiembre de 2015). Métodos bayesianos para piratas informáticos: programación probabilística e inferencia bayesiana . Addison-Wesley Professional. ISBN 9780133902921.
- ^ "Introducción - Documentación de PyMC3 3.1" . docs.pymc.io . Consultado el 20 de septiembre de 2017 .
- ^ Hilpisch, Yves (11 de diciembre de 2014). Python para finanzas: analice grandes datos financieros . O'Reilly Media, Inc. ISBN 9781491945391.
- ^ "Los algoritmos detrás de la programación probabilística" . Consultado el 10 de marzo de 2017 .
- ^ "NumFOCUS anuncia nuevo proyecto patrocinado fiscalmente: PyMC3" . NumFOCUS | Código abierto = Mejor ciencia . Consultado el 10 de marzo de 2017 .
- ^ Greiner, J .; Burgess, JM; Savchenko, V .; Yu, H.-F. (2016). "En el evento Fermi-GBM 0.4 s después de GW150914" . Las cartas de la revista astrofísica . 827 (2): L38. arXiv : 1606.00314 . Código bibliográfico : 2016ApJ ... 827L..38G . doi : 10.3847 / 2041-8205 / 827/2 / L38 . ISSN 2041-8205 .
- ^ Hilbe, Joseph M .; Souza, Rafael S. de; Ishida, Emille EO (30 de abril de 2017). Modelos bayesianos para datos astrofísicos: uso de R, JAGS, Python y Stan . Prensa de la Universidad de Cambridge. ISBN 9781108210744.
- ^ Brauner, Jan M .; Mindermann, Sören; Sharma, Mrinank; Johnston, David; Salvatier, John; Gavenčiak, Tom; Stephenson, Anna B .; Leech, Gavin; Altman, George; Mikulik, Vladimir; Norman, Alexander John; Monrad, Joshua Teperowski; Besiroglu, Tamay; Ge, Hong; Hartwick, Meghan A .; Teh, Yee Whye; Chindelevitch, Leonid; Gal, Yarin; Kulveit, enero (15/12/2020). "Inferir la efectividad de las intervenciones gubernamentales contra COVID-19" . Ciencia . 371 (6531): eabd9338. doi : 10.1126 / science.abd9338 . PMC 7877495 . PMID 33323424 .
- ^ Systrom, Kevin; Vladek, Thomas; Krieger, Mike. "Repositorio Rt.live Github" . Rt.live . Consultado el 10 de enero de 2021 .
- ^ Wagner, Stacey D .; Golpeado, Adam J .; Gupta, Riti; Farnsworth, Dylan R .; Mahady, Amy E .; Eichinger, Katy; Thornton, Charles A .; Wang, Eric T .; Berglund, J. Andrew (28 de septiembre de 2016). "Regulación dependiente de la dosis de empalme alternativo por proteínas MBNL revela biomarcadores para la distrofia miotónica" . PLOS Genetics . 12 (9): e1006316. doi : 10.1371 / journal.pgen.1006316 . ISSN 1553-7404 . PMC 5082313 . PMID 27681373 .
- ^ Sharma, Amit; Johansson, Linda; Dunevall, Elin; Wahlgren, Weixiao Y .; Neutze, Richard; Katona, Gergely (1 de marzo de 2017). "Asimetría en datos de cristalografía de femtosegundos en serie" . Acta Crystallographica Sección A . 73 (2): 93–101. doi : 10.1107 / s2053273316018696 . ISSN 2053-2733 . PMC 5332129 . PMID 28248658 .
- ^ Katona, Gergely; García-Bonete, María-José; Lundholm, Ida (1 de mayo de 2016). "Estimación de la diferencia entre amplitudes estructura-factor mediante inferencia bayesiana multivariante" . Acta Crystallographica Sección A . 72 (3): 406–411. doi : 10.1107 / S2053273316003430 . ISSN 2053-2733 . PMC 4850660 . PMID 27126118 .
- ^ Garay, Pablo G .; Martín, Osvaldo A .; Scheraga, Harold A .; Vila, Jorge A. (21 de julio de 2016). "Detección de metilación, acetilación y glicosilación de residuos de proteínas mediante el seguimiento de cambios de desplazamiento químico 13C: un estudio químico-cuántico" . PeerJ . 4 : e2253. doi : 10.7717 / peerj.2253 . ISSN 2167-8359 . PMC 4963218 . PMID 27547559 .
- ^ Wang, Yan; Huang, Hong; Huang, Lida; Ristic, Branko (2017). "Evaluación de métodos de estimación de fuentes bayesianas con observaciones de Prairie Grass y modelo de pluma gaussiana: una comparación de funciones de probabilidad y medidas de distancia". Ambiente atmosférico . 152 : 519-530. Código Bibliográfico : 2017AtmEn.152..519W . doi : 10.1016 / j.atmosenv.2017.01.014 .
- ^ MacNeil, M. Aaron; Chong-Seng, Karen M .; Pratchett, Deborah J .; Thompson, Casssandra A .; Messmer, Vanessa; Pratchett, Morgan S. (14 de marzo de 2017). "Edad y crecimiento de un brote de Acanthaster cf. población solaris dentro de la Gran Barrera de Coral" . Diversidad . 9 (1): 18. doi : 10,3390 / d9010018 .
- ^ Tünnermann, Jan; Scharlau, Ingrid (2016). "Señales visuales periféricas: su destino en el procesamiento y efectos sobre la atención y la percepción del orden temporal" . Fronteras en psicología . 7 : 1442. doi : 10.3389 / fpsyg.2016.01442 . ISSN 1664-1078 . PMC 5052275 . PMID 27766086 .
- ^ Graham, Nicholas AJ; Jennings, Simon; MacNeil, M. Aaron; Mouillot, David; Wilson, Shaun K. (2015). "Predicción de cambios de régimen impulsados por el clima frente al potencial de rebote en los arrecifes de coral". Naturaleza . 518 (7537): 94–97. Código bibliográfico : 2015Natur.518 ... 94G . doi : 10.1038 / nature14140 . PMID 25607371 .
- ^ Mascarenhas, Maya N .; Flaxman, Seth R .; Boerma, Ties; Vanderpoel, Sheryl; Stevens, Gretchen A. (18 de diciembre de 2012). "Tendencias nacionales, regionales y globales en la prevalencia de la infertilidad desde 1990: un análisis sistemático de 277 encuestas de salud" . PLOS Medicine . 9 (12): e1001356. doi : 10.1371 / journal.pmed.1001356 . ISSN 1549-1676 . PMC 3525527 . PMID 23271957 .
- ^ Cavanagh, James F; Wiecki, Thomas V; Cohen, Michael X; Figueroa, Christina M; Samanta, Johan; Sherman, Scott J; Frank, Michael J (2011). "La estimulación del núcleo subtalámico invierte la influencia mediofrontal sobre el umbral de decisión" . Neurociencia de la naturaleza . 14 (11): 1462-1467. doi : 10.1038 / nn.2925 . PMC 3394226 . PMID 21946325 .
- ^ Gething, Peter W .; Elyazar, Iqbal RF; Moyes, Catherine L .; Smith, David L .; Battle, Katherine E .; Guerra, Carlos A .; Patil, Anand P .; Tatem, Andrew J .; Howes, Rosalind E. (6 de septiembre de 2012). "Un mapa mundial de la malaria largamente desatendido: Endemicidad de Plasmodium vivax en 2010" . PLOS Enfermedades tropicales desatendidas . 6 (9): e1814. doi : 10.1371 / journal.pntd.0001814 . ISSN 1935-2735 . PMC 3435256 . PMID 22970336 .
- ^ Pullan, Rachel L .; Smith, Jennifer L .; Jasrasaria, Rashmi; Brooker, Simon J. (21 de enero de 2014). "Números mundiales de infección y carga de enfermedad de las infecciones por helmintos transmitidos por el suelo en 2010" . Parásitos y vectores . 7 : 37. doi : 10.1186 / 1756-3305-7-37 . ISSN 1756-3305 . PMC 3905661 . PMID 24447578 .
- ^ Lamblin, Pascal (28 de septiembre de 2017). "MILA y el futuro de Theano" . theano-users (lista de correo) . Consultado el 28 de septiembre de 2017 .
- ^ Desarrolladores, PyMC (2018-05-17). "Theano, TensorFlow y el futuro de PyMC" . Desarrolladores PyMC . Consultado el 25 de enero de 2019 .
- ^ "El futuro de PyMC3, o: Theano está muerto, viva Theano" . Desarrolladores PyMC . Consultado el 10 de enero de 2021 .
- ^ Bradbury, James; Frostig, Roy; Hawkins, Peter; James, Matthew James; Leary, Chris; Maclaurin, Dougal; Necula, George; Paszke, Adam; VanderPlas, Jake; Wanderman-Milne, Skye; Zhang, Qiao. "JAX" . Consultado el 10 de enero de 2021 .
- ^ "Cronología de PyMC" . Cronología de PyMC . Consultado el 10 de enero de 2021 .
- ^ Hoffman, Matthew D .; Gelman, Andrew (abril de 2014). "El muestreador sin giro en U: ajuste adaptativo longitudes de ruta en Hamiltonian Monte Carlo" . Revista de investigación sobre aprendizaje automático . 15 : págs. 1593-1623.
- ^ Kucukelbir, Alp; Ranganath, Rajesh; Blei, David M. (junio de 2015). "Inferencia Variacional Automática en Stan". 1506 (3431). arXiv : 1506.03431 . Código bibliográfico : 2015arXiv150603431K . Cite journal requiere
|journal=
( ayuda )
Otras lecturas
- Programación probabilística y métodos bayesianos para piratas informáticos
- Estadísticas computacionales en Python
enlaces externos
- Sitio web de PyMC3
- Fuente PyMC3 , un repositorio de Git alojado en GitHub
- Fuente PyMC4 , para el puerto a TensorFlow Probability
- Symbolic PyMC es un conjunto experimental de herramientas que facilitan la manipulación simbólica sofisticada de modelos PyMC