Skip to main content

An open source library for building and performing inference with probabilistic graphical models.

Project description

Build Status

Installation

For installing through pip:

pip install veroku

To clone this git repo:

git clone https://github.com/ejlouw/veroku.git 
cd veroku/
pip install -r requirements.txt

It is recommended to use a separate conda virtual environment when installing the dependencies, to avoid interfering with existing packages. To get started with conda environments, see the installation guide. For more information on using conda environments see managing environments guide

Overview

Veroku is an open source library for building and performing inference with probabilistic graphical models (PGMs) in python. PGMs provide a framework for performing efficient probabilistic inference with very high dimensional distributions. A typical example of a well-known type of PGM is the Kalman filter that can be used to obtain probabilistic estimates of a hidden state of a process or system, given noisy measurements. PGMs can in principle be used for any problem that involves uncertainty and is therefore applicable to many problems.

Veroku currently supports the following probability distributions:

  • Categorical (sparse and dense implementations)
  • Gaussian
  • Gaussian mixture1
  • Linear Gaussian2
  • Non-linear Gaussian3

1 This class still has some experimental functionality (specifically the Gaussian mixture division methods) and is, therefore, still in the factors.experimental sub-package.
2 Using the Gaussian class - see the Kalman filter example notebook.
3This implementation is still experimental (see the factors.experimental sub-package).

These distributions can be used as factors to represent a factorised distribution. These factors can be used, together with the cluster_graph module to automatically create valid cluster graphs. Inference can be performed in these graphs using message passing algorithms. Currently only the LBU (Loopy Belief Update) message-passing algorithm is supported.

Example notebooks:

On the Roadmap

The following distributions, models and features are on the roadmap to be added to veroku:

  • Conditional Gaussian
  • Dirichlet distribution
  • Wishart distribution
  • Normal-Wishart distribution
  • Plate models
  • Structure Learning
  • Causal Inference

Dependencies

For the python dependencies see the requirements file. The following additional dependencies are also required for some functionality (these are not installed automatically with the pip install):

Graphviz

See https://graphviz.org/download/ for installation instructions.

Contributing

If you would like to contribute to veroku, please see the contributing guide.

License

Veroku is released under a 3-Clause BSD license. You can view the license here.

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

veroku-1.0.171.tar.gz (166.5 kB view details)

Uploaded Source

Built Distribution

veroku-1.0.171-py3-none-any.whl (96.5 kB view details)

Uploaded Python 3

File details

Details for the file veroku-1.0.171.tar.gz.

File metadata

  • Download URL: veroku-1.0.171.tar.gz
  • Upload date:
  • Size: 166.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for veroku-1.0.171.tar.gz
Algorithm Hash digest
SHA256 8b5d4174709a6a523d081ad714db87eec2a92cdd11c6f02b7a4d21d9f55f487e
MD5 1fd9fc7aa8fc643d9fde317f4524417e
BLAKE2b-256 8255ea160d2b13cc3179e6b3443d143b58bd4d815fc924229dfe7070c9849aea

See more details on using hashes here.

File details

Details for the file veroku-1.0.171-py3-none-any.whl.

File metadata

  • Download URL: veroku-1.0.171-py3-none-any.whl
  • Upload date:
  • Size: 96.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for veroku-1.0.171-py3-none-any.whl
Algorithm Hash digest
SHA256 5216ef79d3310d616077faa5a4f340ee9b0d24e4ec86057981cde81bba77a398
MD5 772f9eb689987a2e5acac39d5531b417
BLAKE2b-256 d13527db9bcc72ec998490d81079540ec3b416efe8230460138c63a223389d14

See more details on using hashes here.

Supported by

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