A small example package
Project description
Variational Inference for Mixtures of Gamma Distributions
This package implements variational inference for mixtures of gamma distributions. For more information, see Comparing Markov Chain Monte Carlo and Variational Methods for Bayesian Inference on Mixtures of Gamma Distributions.
Two parameterisations of the gamma distribution are available: the shaperate parameterisation and the shapemean parameterisation. The shapemean parameterisation is recommended since it generally produces superior posterior approximations and predictive distributions.
Getting Started
Prerequisites
python>=3.6
tensorflow>=2.0
tensorflow_probability>=0.8
Installing
I recommend installing using pip as it will also install the prerequisites. Run
pip install mix_gamma_vi
Example
This is an example of posterior inference on a mixture of two gamma distributions under the shapemean parameterisation. Suppose we have a onedimensional tensor x
of data.
# import mix_gamma_vi function
from mix_gamma_vi import mix_gamma_vi
# Fit a model
fit = mix_gamma_vi(x, K=2)
# Get the fitted distribution
distribution = fit.distribution()
# Print the means of the parameters under the fitted distribution
distribution.mean()
{'pi': <tf.Tensor: id=4201, shape=(1, 2), dtype=float32, numpy=array([[0.50948393, 0.49051604]], dtype=float32)>,
'beta': <tf.Tensor: id=4208, shape=(1, 2), dtype=float32, numpy=array([[1.0013412, 1.9965338]], dtype=float32)>,
'alpha': <tf.Tensor: id=4212, shape=(1, 2), dtype=float32, numpy=array([[20.712543, 82.77388 ]], dtype=float32)>}
We can sample from this distribution by calling distribution.sample()
.
For a more indepth example, see example.py
.
Performance Tip
To avoid retracing the tensor graph every time you change the parameters, pass them as TensorFlow constants. e.g. instead of the above, do
fit = mix_gamma_vi(x, K=tf.constant(2))
Authors
This work is submitted by Isaac Breen in partial fulfillment of the requirements for the Bachelor of Science degree with Honours at the University of Western Australia. Supervised by John Lau and Edward Cripps.
License
This project is licensed under the MIT License  see the LICENSE.md file for details
Project details
Release history Release notifications  RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mix_gamma_vi0.0.1py3noneany.whl
Algorithm  Hash digest  

SHA256  c62d6d854edaeeee0b1a722feae091cec02d77371995bd3b3281bfe5aae9ee06 

MD5  ad1b842d6fa1fde7f481fb6b15d2b7e2 

BLAKE2b256  cae1bf705a53dc56fea205bcefd758e873e0dbea3135b06803a4042d26514647 