ExponentialFamily.jl

Documentation Build Status Code Coverage
CI Aqua CodeCov

ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations. It is designed to facilitate working with exponential family distributions and offers specialized functionality tailored to this class of distributions.

Key Features

  • Distributions: ExponentialFamily.jl includes a wide range of exponential family distributions such as Gaussian, Gamma, Poisson, Fisher, and more. These distributions are built upon the foundation of Distributions.jl, ensuring compatibility and consistency.

  • Analytic Products: The package provides support for analytic products of distributions belonging to the same exponential family. These products are useful for conjugate computations in inference algorithms, enabling efficient calculations in Bayesian inference and other probabilistic models.

  • Analytical attributes: ExponentialFamily.jl offers hand-written and efficient functions to compute various attributes of members of the exponential family, such as base measure, sufficient statistics, the log partition function, mappings between different parametrizations and others.

  • Fisher Information: ExponentialFamily.jl also offers computation of the Fisher Information (FI) for various distributions. FI is a crucial quantity in statistical inference, providing insights into the sensitivity of a model's parameters to changes in the data. Essentially FI is the hessian of logpartition with respect to vectorized natural parameters. FI allows users to gain a deeper understanding of the behavior and performance of their probabilistic models.

Read more about the package in the documentation.

Installation

ExponentialFamily.jl can be installed through the Julia package manager. In the Julia REPL, type ] to enter the package manager mode and run:

pkg> add ExponentialFamily

License

MIT License Copyright (c) 2023 BIASlab