BAyesian Model-Building Interface (Bambi) in Python

Build Coverage

Bambi is a high-level Bayesian model-building interface written in Python. It works with two probabilistic programming frameworks, PyMC3 or PyStan, and is designed to make it extremely easy to fit Bayesian mixed-effects models common in biology, social sciences and other disciplines.

New Features

Bambi version 0.1.1 will be the final version supporting Python 2, but look forward to the forthcoming Bambi version 0.1.2!

Dependencies

Bambi is tested on Python 3.6 and depends on NumPy, Pandas, PyMC3, PyStan, Patsy and ArviZ (see requirements.txt for version information).

Installation

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

Usage

A simple fixed effects model is shown below as example.

from bambi import Model
import pandas as pd

# Read in a tab-delimited file containing our data
data = pd.read_table('my_data.txt', sep='\t')

# Initialize the model
model = Model(data)

# Fixed effects only model
results = model.fit('DV ~ IV1 + IV2', samples=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)

# Drop the first 100 samples (burn-in)
results_bi = results.sel(draw=slice(100, None))

For a more in-depth introduction to Bambi see our Quickstart or our set of example notebooks.

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