Conjugate Bayesian linear regression and distribution models in Python..
Project description
Conjugate Bayesian Models
Last update: June 2019.
Lightweight Python library implementing a few conjugate Bayesian models. For details on the derivations see [1].
pip3 install conjugate-bayes
We support the following:
To fit distribution models
- Beta-Bernoulli
- Gamma-Poisson
- Normal-Inverse-Gamma
To fit regression models
- Linear regression with Normal Inverse-Gamma prior
- Linear regression with Zellner's g-prior
Future work
- Dirichlet-Multinomial
- Normal-Inverse-Wishart
Usage
Below we show an example fitting a simple Bayesian linear regression with unknown beta and unknown variance.
model = NIGLinearRegression(mu=np.zeros(2), v=100*np.eye(2), a=0.5, b=0.5)
model.fit(x_tr, y_tr)
sigma2 = model.get_marginal_sigma2()
beta = model.get_conditional_beta(sigma2=sigma2.mean())
The above example results in the following prediction intervals.
For further details the examples/
folder.
References
[1] P. D. Hoff, A First Course in Bayesian Statistical Methods (New York: Springer-Verlag, 2009).
License
This library is available under the MIT License.
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
conjugate-bayes-0.0.1.tar.gz
(1.7 kB
view hashes)
Built Distribution
Close
Hashes for conjugate_bayes-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e642925550eef870683db7167426f9991bb6e7d8ce6d84978dee6ea8f23a9304 |
|
MD5 | 3ab882f7fec3dd5c952903b61d4885a9 |
|
BLAKE2b-256 | e841a46a3278ddcbb2f8114820b21901b6bc4d1673a19b698f23983ba1f17d31 |