BAyesian Model-Building Interface (Bambi) in Python =================================================== |PyPI version| |Tests| |Coverage| |Black| .. |PyPI version| image:: https://badge.fury.io/py/bambi.svg :target: https://badge.fury.io/py/bambi .. |Tests| image:: https://github.com/bambinos/bambi/actions/workflows/test.yml/badge.svg :target: https://github.com/bambinos/bambi .. |Coverage| image:: https://codecov.io/gh/bambinos/bambi/branch/main/graph/badge.svg?token=ZqH0KCLKAE :target: https://codecov.io/gh/bambinos/bambi .. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/ambv/black Bambi is a high-level Bayesian model-building interface written in Python. It works with the probabilistic programming frameworks `PyMC `__ 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.8+ and depends on ArviZ, formulae, NumPy, pandas and PyMC (see `pyproject.toml `_ for version information). Installation ============ Bambi is available from the Python Package Index at ``_, alternatively it can be installed using Conda. PyPI ---- The latest release of Bambi can be installed using pip: .. code-block:: bash pip install bambi Alternatively, if you want the bleeding edge version of the package, you can install from GitHub: .. code-block:: bash 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: .. code-block:: bash conda install -c conda-forge bambi Usage ===== A simple fixed effects model is shown in the example below. .. code-block:: python 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 .. code-block:: @article{Capretto2022, 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} } 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 ======== .. toctree:: :maxdepth: 4 notebooks/getting_started examples api_reference faq Indices ======= * :ref:`genindex` * :ref:`modindex`