Bayesian Entropy Estimation for Countable Discrete Distributions

Evan Archer, Il Memming Park, Jonathan Pillow
2/2/2013
cs.IT

Official code: pillowlab/PYMentropy (18 stars, BSD-2-Clause, last commit 2020-04-05).

Abstract

We consider the problem of estimating Shannon's entropy $H$ from discrete data, in cases where the number of possible symbols is unknown or even countably infinite. The Pitman-Yor process, a generalization of Dirichlet process, provides a tractable prior distribution over the space of countably infinite discrete distributions, and has found major applications in Bayesian non-parametric statistics and machine learning. Here we show that it also provides a natural family of priors for Bayesian entropy estimation, due to the fact that moments of the induced posterior distribution over $H$ can be computed analytically. We derive formulas for the posterior mean (Bayes' least squares estimate) and variance under Dirichlet and Pitman-Yor process priors. Moreover, we show that a fixed Dirichlet or Pitman-Yor process prior implies a narrow prior distribution over $H$, meaning the prior strongly determines the entropy estimate in the under-sampled regime. We derive a family of continuous mixing measures such that the resulting mixture of Pitman-Yor processes produces an approximately flat prior over $H$. We show that the resulting Pitman-Yor Mixture (PYM) entropy estimator is consistent for a large class of distributions. We explore the theoretical properties of the resulting estimator, and show that it performs well both in simulation and in application to real data.

View on arXivView PDF

Code Implementations(1)

BSD-2-Clause

Discrete entropy estimator using the Pitman-Yor mixture (PYM) prior

184C, MATLABFeb 11, 20136 years agoBSD-2-Clause

Similar Papers

Cite this paper

@article{archer2013bayesian,
  title  = {Bayesian Entropy Estimation for Countable Discrete Distributions},
  author = {Evan Archer and Il Memming Park and Jonathan Pillow},
  year   = {2013},
  eprint = {1302.0328},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1302.0328}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1302.0328.svg)](https://codeofpaper.com/paper/1302.0328)

Discussion