Skip to main content

Hamiltonian sampling and analysis of sampled distributions

Project description

Package samppy implements Hamiltonian Markov-chain sampling and some additional analysis methods for multivariate probability distributions.

The probability distribution is represented only by an array of independent and identically distributed (i.i.d.) samples drawn from the distribution, with unifom probability mass for all samples.

The package includes three modules.

Module hamiltonian_sampler:

This module implements Hamiltonian Markov-Chain sampling.

A HamiltonianSampler instance can generate random samples of a multivariate probability distribution, defined only by an un-normalized LOG-LIKELIHOOD function, and the GRADIENT of that function.

The generated batch of sample vectors is stored in a 2D numpy array, either as ROWS or as COLUMNS. This is controlled by the module-global variable VECTOR_AXIS.

Class HamiltonianSampler defines a standard isotropic sampler. Class HamiltonianBoundedSampler is a subclass also allowing one- or two-sided interval limits for all vector elements.

Module credibility:

This module includes functions to estimate jointly credible differences and/or correlations between pairs of elements in a random vector with a multivariate probability distribution, represented only by samples.

Module sample_entropy:

This module includes a function to estimate the differential entropy of a multivariate probability distribution, represented only by samples. The entropy is estimated by the Kozachenko-Leonenko nearest-neighbor approximation (Singh and Poczos, 2016).

Usage

This package was developed mainly for use by another project. It is distributed separately because it may be useful for other purposes.

The Hamiltonian sampler code was inspired by the LAHMC project by Jasha Sohlstein. The present implementation includes some safety features to facilitate its use. The present sampler does not include sampling within a general subspace manifold.

Requirements

The package requires Python 3.6 with Numpy and Scipy installed. It has been tested with Numpy 1.13 and 1.15, and Scipy 1.0.0 and 1.1.0.

References

R M Neal (2011): MCMC using Hamiltonian dynamics. Ch. 5 in Brooks et al. (eds) Handbook of Markov Chain Monte Carlo. Chapman and Hall / CRC Press.

A. Leijon, G. E. Henter, and M. Dahlquist (2016): Bayesian analysis of phoneme confusion matrices. IEEE Transactions on Audio, Speech, and Language Processing 24(3):469–482. (Describes an application of credible-difference calculation.)

F Perez-Cruz (2008): Estimation of Information Theoretic Measures for Continuous Random Variables. Advances in Neural Information Processing Systems 21 (NIPS 2008).

S Singh and B Poczos (2016): Analysis of k-nearest neighbor distances with application to entropy estimation. arXiv:1603.08578 [math.ST].

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

samppy-1.0.3.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

samppy-1.0.3-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file samppy-1.0.3.tar.gz.

File metadata

  • Download URL: samppy-1.0.3.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.1

File hashes

Hashes for samppy-1.0.3.tar.gz
Algorithm Hash digest
SHA256 725c0d178d00d7fbaec04563db567daf6389e3d4f72b468faca96f2808aa2bb9
MD5 14ed1fc10a1c1bbfa6b9ff49951b7e2e
BLAKE2b-256 baf4205d76b92d45a34032f070a38adcf2b4a41be1adbd662acbbb10a9c64267

See more details on using hashes here.

File details

Details for the file samppy-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: samppy-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.1

File hashes

Hashes for samppy-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d41898a507b66824d0929ccd73855d1db3af76e737cebc7f203ebc8c14765332
MD5 69e35639c26642772859a3641358487a
BLAKE2b-256 b64be28f68868074690983fa0f9454d4a7b5beb764682f5702d8cd6bfeda3fed

See more details on using hashes here.

Supported by

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