Skip to main content

Information theory related estimators

Project description

infopy

Information Theory Library for Python containing implementations of mutual information and entropy estimators.

Usage

MI Estimators:

Currently, there are 6 MI estimators implemented in infopy. These estimators are used to estimate $I(X; Y)$, with different implementations depending on whether $X$ or $Y$ are continuous or discrete. All of them support multidimensional $X$ and $Y$, i.e., $X, Y \in \mathbb{R}^{n}$, treating them as random vectors instead of scalar random variables. The available estimators are:

  • estimators.DDMIEstimator: For discrete $X$ and discrete $Y$, based on maximum likelihood estimation of the PMF of X, Y and (X, Y).
  • estimators.CDMIRossEstimator: For continuous $X$ and discrete $Y$ (interchangeable), based on Ross MI estimation [1]
  • estimators.CDMIEntropyBasedEstimator: For continuous $X$ and discrete $Y$ (interchangeable), based on Kozachenko-Leonenko entropy estimation.
  • estimators.CCMIEstimator: For continuous $X$ and continuous $Y$, based on Kraskov MI estimator [2].
  • estimators.MixedMIEstimator: For mixed $X$ and $Y$. It uses the Gao MI estimator [3]. Note: This estimator has not yet been successfully tested.
  • estimators.EDGEMIEstimator: This estimator is based on the method described in [4]. It is believed to be applicable for any variable type, but successful results have not yet been obtained.

To automatically select an appropriate estimator based on the types of $X$ and $Y$, use the estimators.get_mi_estimator function. The pointwise parameter in this function specifies whether to obtain an estimator that provides an estimation per sample (pointwise mutual information) instead of averaging.

References

  1. B. C. Ross “Mutual Information between Discrete and Continuous Data Sets”. PLoS ONE 9(2), 2014.
  2. A. Kraskov, H. Stogbauer and P. Grassberger, “Estimating mutual information”. Phys. Rev. E 69, 2004.
  3. Gao, Weihao, et al. Estimating Mutual Information for Discrete-Continuous Mixtures. 2018.
  4. Noshad, Morteza, et al. Scalable Mutual Information Estimation Using Dependence Graphs. 2018.

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

infopy_estimators-0.1.0.tar.gz (72.9 kB view details)

Uploaded Source

Built Distribution

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

infopy_estimators-0.1.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file infopy_estimators-0.1.0.tar.gz.

File metadata

  • Download URL: infopy_estimators-0.1.0.tar.gz
  • Upload date:
  • Size: 72.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for infopy_estimators-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d3bd60d7539c1fe8c3b8029bbf5dd28d7838c29a73ac26b0e7b3f2435f02b846
MD5 2575a8f8db026d1e5a00e82ae12a2d23
BLAKE2b-256 8191ac8bf52b8a44e0bd9a76e0044bfc19f1bee8a51103466f9a87f5697fbf8c

See more details on using hashes here.

File details

Details for the file infopy_estimators-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for infopy_estimators-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ac9be6fac97f5b95eaf16be18725dd003dc5a85691d36509a12496367a87d9e
MD5 ff5e8b262bef16983eec2046ebd162cb
BLAKE2b-256 538f3ebfcccd62cfe6dae84c56e12a630facfd9d357a455dec204df7146aab55

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