API Reference#

These pages contain the API documentation for infomeasure. For an overview of the package, see the Overview page.

The infomeasure package consists out of one estimator class per approach and information-theoretic measure.

For convenience, a module level API is also available, with the following top-level functions. Find the Estimator Usage page for a comprehensive explanation on how to use them.

Estimators#

infomeasure Package#

Functions#

entropy(data, approach, *args, **kwargs)

Calculate the entropy using a functional interface of different estimators.

mutual_information(*data, approach, **kwargs)

Calculate the mutual information using a functional interface of different estimators.

conditional_mutual_information(*data, **kwargs)

Conditional mutual information between two variables given a third variable.

transfer_entropy(*data, approach, **kwargs)

Calculate the transfer entropy using a functional interface of different estimators.

conditional_transfer_entropy(*data, **kwargs)

Conditional transfer entropy between two variables given a third variable.

estimator(*data[, cond, measure, approach, ...])

Get an estimator for a specific measure.

get_estimator_class([measure, approach])

Get estimator class based on the estimator name and approach.

jensen_shannon_divergence(*data[, approach])

Calculate the Jensen-Shannon Divergence between two or more distributions.

kullback_leiber_divergence(data_p, data_q[, ...])

Calculate the Kullback-Leibler Divergence between two distributions.

h(data, approach, *args, **kwargs)

Calculate the entropy using a functional interface of different estimators.

mi(*data, approach, **kwargs)

Calculate the mutual information using a functional interface of different estimators.

cmi(*data, **kwargs)

Conditional mutual information between two variables given a third variable.

te(*data, approach, **kwargs)

Calculate the transfer entropy using a functional interface of different estimators.

cte(*data, **kwargs)

Conditional transfer entropy between two variables given a third variable.

jsd(*data[, approach])

Calculate the Jensen-Shannon Divergence between two or more distributions.

kld(data_p, data_q[, approach])

Calculate the Kullback-Leibler Divergence between two distributions.

Classes#

Config()

Configuration settings for the package.

Class Inheritance Diagram#

The idea of this package is based on estimating information-theoretic measures, such as Entropy, Mutual Information, and Transfer Entropy. For these we use Abstract Base Classes to define the interface of the estimators. Some mixins are also provided to provide additional functionality, e.g., P-values, to certain estimators.

Inheritance diagram of infomeasure.estimators.entropy.discrete.DiscreteEntropyEstimator, infomeasure.estimators.entropy.kernel.KernelEntropyEstimator, infomeasure.estimators.entropy.kozachenko_leonenko.KozachenkoLeonenkoEntropyEstimator, infomeasure.estimators.entropy.ordinal.OrdinalEntropyEstimator, infomeasure.estimators.entropy.renyi.RenyiEntropyEstimator, infomeasure.estimators.entropy.tsallis.TsallisEntropyEstimator, infomeasure.estimators.mutual_information.discrete.DiscreteMIEstimator, infomeasure.estimators.mutual_information.discrete.DiscreteCMIEstimator, infomeasure.estimators.mutual_information.kernel.KernelMIEstimator, infomeasure.estimators.mutual_information.kernel.KernelCMIEstimator, infomeasure.estimators.mutual_information.kraskov_stoegbauer_grassberger.KSGMIEstimator, infomeasure.estimators.mutual_information.kraskov_stoegbauer_grassberger.KSGCMIEstimator, infomeasure.estimators.mutual_information.ordinal.OrdinalMIEstimator, infomeasure.estimators.mutual_information.ordinal.OrdinalCMIEstimator, infomeasure.estimators.mutual_information.renyi.RenyiMIEstimator, infomeasure.estimators.mutual_information.renyi.RenyiCMIEstimator, infomeasure.estimators.mutual_information.tsallis.TsallisMIEstimator, infomeasure.estimators.mutual_information.tsallis.TsallisCMIEstimator, infomeasure.estimators.transfer_entropy.discrete.DiscreteTEEstimator, infomeasure.estimators.transfer_entropy.discrete.DiscreteCTEEstimator, infomeasure.estimators.transfer_entropy.kernel.KernelTEEstimator, infomeasure.estimators.transfer_entropy.kernel.KernelCTEEstimator, infomeasure.estimators.transfer_entropy.kraskov_stoegbauer_grassberger.KSGTEEstimator, infomeasure.estimators.transfer_entropy.kraskov_stoegbauer_grassberger.KSGCTEEstimator, infomeasure.estimators.transfer_entropy.ordinal.OrdinalTEEstimator, infomeasure.estimators.transfer_entropy.ordinal.OrdinalCTEEstimator, infomeasure.estimators.transfer_entropy.renyi.RenyiTEEstimator, infomeasure.estimators.transfer_entropy.renyi.RenyiCTEEstimator, infomeasure.estimators.transfer_entropy.tsallis.TsallisTEEstimator, infomeasure.estimators.transfer_entropy.tsallis.TsallisCTEEstimator

Inheritance diagram for all estimators.#

Indices and tables#