BAyesian Model-Building Interface (Bambi) in Python#
Bambi is a high-level Bayesian model-building interface written in Python. It works with the probabilistic programming frameworks PyMC3 and is designed to make it extremely easy to fit Bayesian mixed-effects models common in biology, social sciences and other disciplines.
Dependencies#
Bambi is tested on Python 3.7+ and depends on ArviZ, formulae, NumPy, pandas and PyMC3 (see requirements.txt for version information).
Installation#
Bambi is available from the Python Package Index at https://pypi.org/project/bambi/, alternatively it can be installed using Conda.
PyPI#
The latest release of Bambi can be installed using pip:
pip install bambi
Alternatively, if you want the bleeding edge version of the package, you can install from GitHub:
pip install git+https://github.com/bambinos/bambi.git
Conda#
If you use Conda, you can also install the latest release of Bambi with the following command:
conda install -c conda-forge bambi
Usage#
A simple fixed effects model is shown in the example below.
import arviz as az
import bambi as bmb
import pandas as pd
# Read in a tab-delimited file containing our data
data = pd.read_table('my_data.txt', sep='\t')
# Initialize the fixed effects only model
model = bmb.Model('DV ~ IV1 + IV2', data)
# Fit the model using 1000 on each of 4 chains
results = model.fit(draws=1000, chains=4)
# Use ArviZ to plot the results
az.plot_trace(results)
# Key summary and diagnostic info on the model parameters
az.summary(results)
For a more in-depth introduction to Bambi see our Quickstart or our set of example notebooks.
Citation#
If you use Bambi and want to cite it please use
Here is the citation in BibTeX format
@misc{capretto2020,
title={Bambi: A simple interface for fitting Bayesian linear models in Python},
author={Tomás Capretto and Camen Piho and Ravin Kumar and Jacob Westfall and Tal Yarkoni and Osvaldo A. Martin},
year={2020},
eprint={2012.10754},
archivePrefix={arXiv},
primaryClass={stat.CO}
}
Contributing#
We welcome contributions from interested individuals or groups! For information about contributing to Bambi, check out our instructions, policies, and guidelines here.
Contributors#
See the GitHub contributor page.
Contents#
- Getting Started
- Examples
- Comparison of two means (T-test)
- Multiple linear regression
- Regression splines (Cherry blossom example)
- Hierarchical Linear Regression (Pigs dataset)
- Hierarchical Linear Regression (Sleepstudy example)
- Hierarchical Linear Regression (Radon Contamination dataset)
- Bayesian Workflow (Strack RRR Analysis Replication)
- Bayesian Workflow (Police Officer’s Dilemma)
- Robust Linear Regression
- Logistic Regression (Vote intention with ANES data)
- Logistic Regression and Model Comparison with Bambi and ArviZ
- Hierarchical Logistic regression with Binomial family
- Regression for Binary responses: Alternative link functions
- Wald and Gamma Regression (Australian insurance claims 2004-2005)
- Negative Binomial Regression (Students absence example)
- Beta Regression
- Categorical Regression
- Circular Regression
- API Reference
- Frequently Asked Questions