Skip to main content

Exploring and eliciting probability distributions.

Project description

Exploring and eliciting probability distributions

PyPi version Build Status codecov Ruff DOI

Overview

Prior elicitation refers to the process of transforming the knowledge of a particular domain into well-defined probability distributions. Specifying useful priors is a central aspect of Bayesian statistics. PreliZ is a Python package aimed at helping practitioners choose prior distributions by offering a set of tools for the various facets of prior elicitation. It covers a range of methods, from unidimensional prior elicitation on the parameter space to predictive elicitation on the observed space. The goal is to be compatible with probabilistic programming languages (PPL) in the Python ecosystem like PyMC and PyStan, while remaining agnostic of any specific PPL.

A good companion for PreliZ is PriorDB, a database of prior distributions for Bayesian analysis. It is a community-driven project that aims to provide a comprehensive collection of prior distributions for a wide range of models and applications.

The Zen of PreliZ

  • Being open source, community-driven, diverse and inclusive.
  • Avoid fully-automated solutions, keep the human in the loop.
  • Separate tasks between humans and computers, so users can retain control of important decisions while numerically demanding, error-prone or tedious tasks are automatized.
  • Prevent users to become overconfident in their own opinions.
  • Easily integrate with other tools.
  • Allow predictive elicitation.
  • Having a simple and intuitive interface suitable for non-specialists in order to minimize cognitive biases and heuristics.
  • Switching between different types of visualization such as kernel density estimates plots, quantile dotplots, histograms, etc.
  • Being agnostic of the underlying probabilistic programming language.
  • Being modular.

Documentation

The PreliZ documentation can be found in the official docs.

Installation

Last release

PreliZ is available for installation from PyPI. The latest version (base set of dependencies) can be installed using pip:

pip install preliz

To make use of the interactive features, you can install the optional dependencies:

  • For JupyterLab:
pip install "preliz[full,lab]"
  • For Jupyter Notebook:
pip install "preliz[full,notebook]"

PreliZ is also available through conda-forge.

conda install -c conda-forge preliz

Development

The latest development version can be installed from the main branch using pip:

pip install git+git://github.com/arviz-devs/preliz.git

Citation

If you find PreliZ useful in your work, we kindly request that you cite the following paper:

@article{Icazatti_2023,
author = {Icazatti, Alejandro and Abril-Pla, Oriol and Klami, Arto and Martin, Osvaldo A},
doi = {10.21105/joss.05499},
journal = {Journal of Open Source Software},
month = sep,
number = {89},
pages = {5499},
title = {{PreliZ: A tool-box for prior elicitation}},
url = {https://joss.theoj.org/papers/10.21105/joss.05499},
volume = {8},
year = {2023}
}

Contributions

PreliZ is a community project and welcomes contributions. Additional information can be found in the Contributing Readme

Code of Conduct

PreliZ wishes to maintain a positive community. Additional details can be found in the Code of Conduct

Donations

PreliZ, as other ArviZ-devs projects, is a non-profit project under the NumFOCUS umbrella. If you want to support PreliZ financially, you can donate here.

Sponsors

NumFOCUS

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

preliz-0.25.0.tar.gz (450.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

preliz-0.25.0-py3-none-any.whl (514.3 kB view details)

Uploaded Python 3

File details

Details for the file preliz-0.25.0.tar.gz.

File metadata

  • Download URL: preliz-0.25.0.tar.gz
  • Upload date:
  • Size: 450.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for preliz-0.25.0.tar.gz
Algorithm Hash digest
SHA256 1eb425dfcf38724d817bf4e140ef1af9975a5e8e7906c2c1c3b339e3f26d9f20
MD5 5c1303d1b6f3ac8f62b1c36b530e89f4
BLAKE2b-256 e3b45391372edbf320c583ffd6d78f78a20f480dfc00f34f0082562c1f70435f

See more details on using hashes here.

File details

Details for the file preliz-0.25.0-py3-none-any.whl.

File metadata

  • Download URL: preliz-0.25.0-py3-none-any.whl
  • Upload date:
  • Size: 514.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for preliz-0.25.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a19410ac1ed3b20685c344f6e548477e889a97b2e6f36f6ee1a9ca45e84c41e3
MD5 3bcbf9a6a07a923d577a8359ff494e8a
BLAKE2b-256 c5449c19efbd8d05d7b4521d3ee1bec596d8daad5efe3e332c454b86d9645787

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page