Skip to content

Commit

Permalink
add paper
Browse files Browse the repository at this point in the history
  • Loading branch information
aloctavodia committed Dec 19, 2023
1 parent e80d85d commit dba2911
Show file tree
Hide file tree
Showing 3 changed files with 174 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
on: [push]

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: jose
# This should be the path to the paper within your repo.
paper-path: paper/paper.md
- name: Upload
uses: actions/upload-artifact@v1
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: paper/paper.pdf
96 changes: 96 additions & 0 deletions paper/paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@

@software{Quarto:2022,
author = {Allaire, J.J. and Teague, Charles and Scheidegger, Carlos and Xie, Yihui and Dervieux, Christophe},
doi = {10.5281/zenodo.5960048},
month = jan,
title = {{Quarto}},
url = {https://github.com/quarto-dev/quarto-cli},
version = {1.2},
year = {2022}
}

@article{kumar:2019,
doi = {10.21105/joss.01143},
url = {https://doi.org/10.21105/joss.01143},
year = {2019}, publisher = {The Open Journal},
volume = {4}, number = {33},
pages = {1143},
author = {Ravin Kumar and Colin Carroll and Ari Hartikainen and Osvaldo Martin},
title = {ArviZ a unified library for exploratory analysis of Bayesian models in Python},
journal = {Journal of Open Source Software} }

@book{martin:2018,
edition = {2 edition},
title = {Bayesian {Analysis} with {Python}: {Introduction} to {Statistical} {Modeling} and {Probabilistic} {Programming} {Using} {PyMC3} and {ArviZ}},
shorttitle = {Bayesian {Analysis} with {Python}},
publisher = {Packt Publishing},
author = {Martin, Osvaldo},
month = dec,
year = {2018},
}

@book{martin:2021,
doi = {10.1201/9781003019169},
url = {https://doi.org/10.1201/9781003019169},
address = {Boca Raton},
title = {Bayesian {Modeling} and {Computation} in {Python}},
isbn = {978-0-367-89436-8},
author = {Martin, Osvaldo A. and Kumar, Ravin and Lao, Junpeng},
month = dec,
year = {2021},
}

@book{martin:2024,
title = {Bayesian {Analysis} with {Python}: {A} {Practical} {Guide} to probabilistic modeling},
edition = {3rd Edition},
shorttitle = {Bayesian {Analysis} with {Python}},
publisher = {Packt Publishing},
author = {Martin, Osvaldo},
month = Jan,
year = {2024},
}

@article{Capretto:2022,
title={Bambi: A Simple Interface for Fitting Bayesian Linear Models in Python},
volume={103},
url={https://www.jstatsoft.org/index.php/jss/article/view/v103i15},
doi={10.18637/jss.v103.i15},
number={15},
journal={Journal of Statistical Software},
author={Capretto, Tomás and Piho, Camen and Kumar, Ravin and Westfall, Jacob and Yarkoni, Tal and Martin, Osvaldo A},
year={2022},
pages={1–29}
}

@article{pymc:2023,
title={PyMC: A Modern and Comprehensive Probabilistic Programming Framework in Python},
author={Abril-Pla, Oriol and Andreani, Virgile and Carroll, Colin and Dong, Larry and Fonnesbeck, Christopher J. and Kochurov, Maxim and Kumar, Ravin and Lao, Jupeng and Luhmann, Christian C. and Martin, Osvaldo A. and Osthege, Michael and Vieira, Ricardo and Wiecki, Thomas and Zinkov, Robert},
journal={PeerJ Computer Science},
volume={9},
pages={e1516},
year={2023},
doi={10.7717/peerj-cs.1516}
}

@article{Icazatti:2023,
doi = {10.21105/joss.05499},
url = {https://doi.org/10.21105/joss.05499},
year = {2023},
publisher = {The Open Journal},
volume = {8},
number = {89},
pages = {5499},
author = {Alejandro Icazatti and Oriol Abril-Pla and Arto Klami and Osvaldo A. Martin},
title = {PreliZ: A tool-box for prior elicitation},
journal = {Journal of Open Source Software},
}
@misc{gelman:2020,
title={Bayesian Workflow},
author={Andrew Gelman and Aki Vehtari and Daniel Simpson and Charles C. Margossian and Bob Carpenter and Yuling Yao and Lauren Kennedy and Jonah Gabry and Paul-Christian Bürkner and Martin Modrák},
year={2020},
eprint={2011.01808},
archivePrefix={arXiv},
primaryClass={stat.ME}
}
55 changes: 55 additions & 0 deletions paper/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: 'Course Materials for an Introduction to Bayesian Modeling in Spanish'
tags:
- Python
- Bayesian statistics
- Bayesian modeling
- Exploratory analysis of Bayesian models
authors:
- name: Osvaldo A Martin
orcid: 0000-0001-7419-8978
corresponding: true
affiliation: 1
affiliations:
- name: IMASL-CONICET. Universidad Nacional de San Luis. San Luis, Argentina
index: 1
date: 19 Decemeber 2023
bibliography: paper.bib
---

# Summary


*Modelado Bayesiano: Una introducción al modelado probabilista* is a course aimed at advanced undergraduate students or graduate students of STEM with little to no prior knowledge of statistics. The course consists of 8 units and is taught in Spanish. The material has been used under several modalities, including intense 5-day courses, semester-long courses, and both in-person and remote learning. Besides the exercises at the end of each chapter, students are encouraged to explore the examples by changing the values of variables, using their datasets, collaborating with classmates, etc. The material is hosted online using Quarto [@Quarto:2022].


# Statement of need

Bayesian statistics has emerged as a highly flexible and powerful technique, witnessing increased adoption in recent years. In contrast, there is a lack of widespread courses at the university level specifically addressing Bayesian methods, and when they do they tend to be very heavy on the theoretical side, and/or computational tools are absent or they tend to be outdated. Furthermore, the challenge intensifies when considering the limited availability of resources in Spanish. While English-language resources and courses exist, they are often geared toward first-world audiences and can be prohibitively expensive for students and professionals in Latin America. This linguistic and economic disparity exacerbates the exclusion of a significant portion of the scientific and academic community that could greatly benefit from Bayesian statistics. We believe this course contributes to the democratization of Bayesian statistics by providing a free and accessible resource in Spanish.


# Target Audience

The course is aimed at graduate students or advanced undergrad students of STEM careers, with working knowledge of Python or a similar language. In our experience, students with no prior knowledge of Python, but knowledge of high-level languages like R or Julia, can also follow the course with little extra guidance.

# Content

The main objective of the course is to provide students with a practical understanding of Bayesian modeling, allowing them to formulate models that address specific scientific questions. It is intended as the first Bayesian course. It seeks to familiarize students with key computational tools, especially PyMC [@pymc:2023], ArviZ [@kumar:2019], Bambi @Capretto:2022, and Preliz [@Icazatti:2023], to perform Bayesian data analysis effectively. However, the focus is on practical statistical ideas and hence the material could be easily adapted to use a different set of tools even from other programming languages like R or Julia. Additionally, the course content encompasses basic concepts of probability, Bayesian inference, probabilistic programming, generalized linear models, hierarchical models, sampling diagnostics, variable selection, and model selection. All these concepts are discussed under the framework of the Bayesian workflow [@gelman:2020] and notions of exploratory analysis of Bayesian models. In summary, the course is designed to equip students with the skills and knowledge necessary to effectively and critically apply Bayesian statistics.


The full course includes both lectures and practical lab sessions, emphasizing a project-based approach. Encouragement is given for students to utilize their datasets during the course. To complete the course, students are required to work on a final project. Collaborative work in pairs is actively encouraged, but individual projects are also allowed. Students must apply the acquired knowledge to their datasets or find openly available datasets (with guidance from tutors if needed). They must develop at least two alternative models, conduct thorough analyses, perform sampling diagnostics, and articulate and defend their conclusions. Whenever feasible, students are expected to present their results to their peers. This format helps students to apply the concepts to their domain problems and encourages discussion of modeling decisions, conclusions, and motivations for the analysis.

Student feedback has been very positive and many of the examples and problems originally designed for this course have been further developed into the books *Bayesian with Python* [@martin:2018; @martin:2024] and *Bayesian Modeling and Computation in Python* [@martin:2021], usually the examples are first tested and evaluated with students and then included in the books.

# Conclusions

Altogether, this material offers a practical and conceptual introduction to Bayesian modeling. By providing a free and comprehensive resource in Spanish, the course contributes significantly to the democratization of Bayesian statistics, fostering a diverse and inclusive community of learners well-equipped to apply these advanced statistical methods in their scientific endeavors.

# Acknowledgments

We would like to thank Pablo Garay for his help proofreading the material and all the students who have taken this course and provided valuable feedback. We also thank the many contributors to the open-source software packages used in this course. We received the support of:

* the National Agency of Scientific and Technological Promotion (ANPCyT), Grant PICT-02212.
* the National Scientific and Technical Research Council (CONICET), Grant PIP-0087.

# References

0 comments on commit dba2911

Please sign in to comment.