Efficiently sample from the Polya-Gamma distribution using NumPy's Generator interface
Project description
polya-gamma
Efficiently sample from the Polya-Gamma distribution using NumPy's Generator interface.
Dependencies
- Numpy >= 1.17
Installation
$ pip install polyagamma
Example
polyagamma
can act as a drop-in replacement for numpy's Generator class.
import numpy as np
from polyagamma import default_rng, Generator
g = Generator(np.random.PCG64()) # or use default_rng()
print(g.polyagamma(1, 2))
print(g.polyagamma(1, 2, size=10))
# one can pass an output array
out = np.empty(5)
g.polyagamma(1, 2, out=out)
print(out)
# other numpy distributions are still accessible
print(g.standard_normal())
print(g.standard_gamma())
TODO
Add devroye and gamma convolution methods.- Add the "alternative" sampling method.
- Add the "saddle point approximation" method.
- Add the hybrid sampler based on all four methods.
- Add array broadcasting support for paramater inputs.
References
- Polson, Nicholas G., James G. Scott, and Jesse Windle. "Bayesian inference for logistic models using Pólya–Gamma latent variables." Journal of the American statistical Association 108.504 (2013): 1339-1349.
- J. Windle, N. G. Polson, and J. G. Scott. "Improved Polya-gamma sampling". Technical Report, University of Texas at Austin, 2013b.
- Windle, Jesse, Nicholas G. Polson, and James G. Scott. "Sampling Polya-Gamma random variates: alternate and approximate techniques." arXiv preprint arXiv:1405.0506 (2014)
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
polyagamma-0.1.0a3.tar.gz
(123.1 kB
view details)
File details
Details for the file polyagamma-0.1.0a3.tar.gz
.
File metadata
- Download URL: polyagamma-0.1.0a3.tar.gz
- Upload date:
- Size: 123.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f526491ed6b23bcd8cc78f8608747c1a13fbab9c43180fc84d0a465361941e4b |
|
MD5 | 2d464f6239cb234b27b49ce4ae223a8f |
|
BLAKE2b-256 | b520b0bf315d15f118584883d37e72c2d0939466e5b30377f6d3e287e688f0cf |