| ArviZ | ||
|---|---|---|
|
| ||
| Información general | ||
| Tipo de programa | biblioteca de Python | |
| Autor | ArviZ Development Team | |
| Desarrollador | ArviZ Development Team | |
| Modelo de desarrollo | Código abierto | |
| Lanzamiento inicial | 21 de julio de 2018 | |
| Licencia | Apache 2 0 License | |
| Versiones | ||
| Última versión estable | 1.2.012 de junio de 2026 | |
| Enlaces | ||
ArviZ ( /ˈɑːrvɪz/) es un paquete de Python para el análisis exploratorio de modelos bayesianos . [1] [2] [3] Está diseñado para trabajar con la salida de bibliotecas de programación probabilística como PyMC, Stan, numpyro, entre otras, proporcionando un conjunto de herramientas para resumir, visualizar y procesar los resultados de la inferencia bayesiana de una manera conveniente. ArviZ también proporciona una estructura de datos común para manipular y almacenar datos que surgen comúnmente en el análisis bayesiano, como muestras de la distribución a posteriori, a posteriori predictiva, datos observados, etc.
ArviZ es un proyecto de código abierto, desarrollado por la comunidad y es un proyecto afiliado a NumFOCUS . [4]Se ha utilizado para ayudar a interpretar problemas de inferencia en varios dominios científicos, incluida la astronomía, [5] la neurociencia, [6] la física [7] y la estadística.
Etimología
editarEl nombre ArviZ se deriva de la lectura en inglés de "rvs" (la forma abreviada de variante aleatorias) como palabra en lugar de escribirla, y también del uso de la partícula "viz", que suele utilizarse para referirse a visualización.
Análisis exploratorio de modelos bayesianos
editarAl trabajar con modelos bayesianos, es necesario abordar una serie de tareas relacionadas, más allá de la propia inferencia:
- Diagnóstico de la calidad de la inferencia, necesario al utilizar métodos numéricos como Monte Carlo (MCMC) vía cadena de Markov
- Crítica del modelo, incluyendo evaluaciones tanto de sus supuestos como de sus predicciones
- Comparación de modelos, incluyendo su selección o promedio
- Preparación de los resultados para un público específico
Todas estas tareas forman parte del análisis exploratorio de modelos bayesianos, y su correcta ejecución es fundamental para el proceso de modelado iterativo e interactivo. Estas tareas requieren resúmenes tanto numéricos como visuales. [8][9][10][11]
Características de la biblioteca
editar- Objeto InferenceData para la manipulación de datos bayesianos. Este objeto se basa en xarray
- Gráficos utilizando dos backends alternativos matplotlib o bokeh
- Resúmenes numéricos y diagnósticos para métodos de MCMC.
- Integración con lenguajes de programación probabilísticos consolidados, incluyendo: CmdStanPy (la interfaz Python de Stan), PyMC,[12]Edward[13] Pyro,[14] y se integra fácilmente con análisis bayesianos novedosos o personalizados. ArviZ también está disponible en Julia, utilizando la interfaz ArviZ.jl
Referencias
editar- ↑ Kumar, Ravin; Carroll, Colin; Hartikainen, Ari; Martin, Osvaldo (2019). «ArviZ a unified library for exploratory analysis of Bayesian models in Python». Journal of Open Source Software 4 (33): 1143. Bibcode:2019JOSS....4.1143K. doi:10.21105/joss.01143.
- ↑ Martin, Osvaldo (2024). Bayesian Analysis with Python - Third Edition: A practical guide to probabilistic modeling (en inglés). Packt Publishing Ltd. ISBN 9781805127161.
- ↑ 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.
- ↑ «NumFOCUS Affiliated Projects». NumFOCUS | Open Code = Better Science. Consultado el 30 de noviembre de 2019.
- ↑ Farr, Will M.; Fishbach, Maya; Ye, Jiani; Holz, Daniel E. (2019). «A Future Percent-level Measurement of the Hubble Expansion at Redshift 0.8 with Advanced LIGO». The Astrophysical Journal 883 (2): L42. Bibcode:2019ApJ...883L..42F. arXiv:1908.09084. doi:10.3847/2041-8213/ab4284.
- ↑ Busch-Moreno, Simon; Tuomainen, Jyrki; Vinson, David (2021). «Trait anxiety effects on late phase threatening speech processing: Evidence from electroencephalography». European Journal of Neuroscience 54 (9): 7152-7175. PMID 34553432. doi:10.1111/ejn.15470.
- ↑ Jovanovski, Petar; Kocarev, Ljupco (2019). «Bayesian consensus clustering in multiplex networks». Chaos: An Interdisciplinary Journal of Nonlinear Science 29 (10): 103142. Bibcode:2019Chaos..29j3142J. PMID 31675792. doi:10.1063/1.5120503.
- ↑ Gabry, Jonah; Simpson, Daniel; Vehtari, Aki; Betancourt, Michael; Gelman, Andrew (2019). «Visualization in Bayesian workflow». Journal of the Royal Statistical Society, Series A (Statistics in Society) 182 (2): 389-402. S2CID 26590874. arXiv:1709.01449. doi:10.1111/rssa.12378.
- ↑ Vehtari, Aki; Gelman, Andrew; Simpson, Daniel; Carpenter, Bob; Bürkner, Paul-Christian (2021). «Rank-Normalization, Folding, and Localization: An Improved Rˆ for Assessing Convergence of MCMC (With Discussion)». Bayesian Analysis 16 (2): 667. Bibcode:2021BayAn..16..667V. S2CID 88522683. arXiv:1903.08008. doi:10.1214/20-BA1221.
- ↑ Martin, Osvaldo (2018). Bayesian Analysis with Python: Introduction to statistical modeling and probabilistic programming using PyMC3 and ArviZ (en inglés). Packt Publishing Ltd. ISBN 9781789341652.
- ↑ Gelman, Andrew; Carlin, John B.; Stern, Hal S.; Dunson, David B.; Vehtari, Aki; Rubin, Donald B. (2013). Bayesian Data Analysis (Third edición). Chapman and Hall/CRC. ISBN 978-1-4398-4095-5.
- ↑ 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
- ↑ Tran, Dustin; Kucukelbir, Alp; Dieng, Adji B.; Rudolph, Maja; Liang, Dawen; Blei, David M. Edward: A library for probabilistic modeling, inference, and criticism (2016). .
- ↑ Bingham, Eli; Chen, Jonathan P.; Jankowiak, Martin; Obermeyer, Fritz; Pradhan, Neeraj; Karaletsos, Theofanis; Singh, Rohit; Szerlip, Paul et ál. (2018). «Pyro: Deep Universal Probabilistic Programming». .