How to do Bayesian statistical modelling using numpy and PyMC3
To get started, first identify whether you:
- Prefer to use the
condapackage manager (which ships with the Anaconda distribution of Python), or if you - prefer to use
pipenv, which is a package authored by Kenneth Reitz for package management withpipandvirtualenv, or if you - Do not want to mess around with dev-ops.
- Only want to view the website version of the notebooks.
In your terminal, use git to clone the repository locally.
git clone https://github.com/ericmjl/bayesian-stats-modelling-tutorialAlternatively, you can download the zip file of the repository at the top of the main page of the repository. If you prefer not to use git or don't have experience with it, this a good option.
If you do not already have the Anaconda distribution of Python 3,
go get it
(note: you can also set up your project environment w/out Anaconda using pip to install the required packages;
however Anaconda is great for Data Science and we encourage you to use it).
If this is the first time you're setting up your compute environment,
use the conda package manager
to install all the necessary packages
from the provided environment.yml file.
conda env create -f environment.ymlTo activate the environment, use the conda activate command.
conda activate bayesian-modelling-tutorialIf you get an error activating the environment, use the older source activate command.
source activate bayesian-modelling-tutorialTo update the environment based on the environment.yml specification file, use the conda update command.
conda env update -f environment.ymlPlease install all of the packages listed in the environment.yml file manually.
An example command would be:
pip install networkx scipy ...If you don't want to mess around with dev-ops, click the following badge to get a Binder session on which you can compute and write code.
In the terminal, execute jupyter notebook.
Navigate to the notebooks directory
and open the notebook 01-Student-Probability_a_simulated_introduction.ipynb.
In the terminal, execute jupyter lab.
Navigate to the notebooks directory
and open the notebook 01-Student-Probability_a_simulated_introduction.ipynb.
Now, if you're using Jupyter lab, for Notebook 2, you'll need to get ipywidgets working. The documentation is here.
In short, you'll need node installed & you'll need to run the following in your terminal:
jupyter labextension install @jupyter-widgets/jupyterlab-manager
Launch Binder using the button at the top of this README.md. Voila!
If you're interested in only viewing the static HTML versions of the notebooks, the links are provided below:
Part 1: Bayesian Data Science by Simulation
Part 2: Bayesian Data Science by Probabilistic Programming
- Two Group Comparisons: Drug effect on IQ
- Multi-Group Comparisons: Multiple ways of sterilizing phones
- Two Group Comparisons: Darwin's Finches
- Hierarchical Modelling: Baseball
- Hierarchical Modelling: Darwin's Finches
- Bayesian Curve Regression: Identifying Radioactive Element
Development of this type of material is almost always a result of years of discussions between members of a community. We'd like to thank the community and to mention several people who have played pivotal roles in our understanding the the material: Michael Betancourt, Justin Bois, Allen Downey, Chris Fonnesbeck, Jake VanderPlas. Also, Andrew Gelman rocks!
Please leave feedback for us here! We'll use this information to help improve the teaching and delivery of the material.
Please see individual notebooks for dataset attribution.
Further reading resources that are not specifically tied to any notebooks.