Pith. sign in

REVIEW 2 major objections 5 minor 2 cited by

infomeasure: A Comprehensive Python Package for Information Theory Measures and Estimators

T0 review · 2 major / 5 minor · reviewed 2026-08-15 · deepseek-v4-flash

Pith's one-line read One Python package unifies info-theory measures and estimators.

desk verdict A genuinely useful unified information-theory package, validated on key analytic benchmarks but with a coverage gap across its full measure-estimator matrix; worth refereeing with a request for per-cell tests. read the letter →

arxiv 2505.14696 v2 pith:QWTGM2HJ submitted 2025-05-07 physics.soc-ph cs.ITmath.ITphysics.comp-phphysics.data-an

classification physics.soc-phcs.ITmath.ITphysics.comp-phphysics.data-an MSC 94A1762B10
keywords informationtheoryPythonpackagetransferentropymutualestimationKSGestimatorordinalpatternsreproducibility
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

infomeasure is a Python package that puts a broad family of information-theoretic measures — Shannon, Rényi and Tsallis entropies, mutual information, transfer entropy, cross-entropy, and KL and Jensen-Shannon divergences — behind a single interface, for both discrete and continuous data. The paper's central claim is that this unification makes information-theoretic analysis practical and reproducible: a user can switch among kernel, nearest-neighbour (KL/KSG), ordinal, and bias-corrected estimators by changing one argument, and can obtain local values, p-values, t-scores, and confidence intervals within the same framework. The claim is supported by validation against known analytic solutions for Gaussian entropy and mutual information, by reproduction of the canonical coupled-map-lattice transfer-entropy benchmarks, and by a schizophrenia EEG case study showing how the choice of estimator changes the observed pattern of information flow. A sympathetic reader would take the paper to be establishing that the package's full measure-estimator matrix is correct and usable, and that this breadth is itself the contribution.

What carries the argument

The load-bearing object is the `Estimator` base class and its inheritance-based design: every measure-estimator combination is an estimator object exposing the same interface, with mixins such as `PValueMixin` and `EffectiveValueMixin` adding permutation tests and effective transfer entropy. High-level functional entry points (`im.entropy`, `im.mutual_information`, `im.transfer_entropy`) map user-facing names like "kernel" or "ordinal" to the right estimator class through a dynamic import mechanism. This architecture is what lets the paper claim breadth without an explosion of special cases: the same machinery handles discrete, continuous, conditional, and local variants, and it is what makes the validation results transfer across the table of supported measures.

What would settle it

Take a supported combination that is not shown in Figure 2, such as conditional transfer entropy with the bias-corrected estimator or Jensen-Shannon divergence between two Gaussian distributions, and compare infomeasure's output against an independent analytic or high-precision numerical reference; one clear mismatch beyond expected estimator error would show that the package's breadth claim overreaches its validation.

Watch

Extended reading notes

Core claim

The discovery presented is a working, open-source implementation that covers essentially all combinations of a substantial measure set and several estimator families: discrete plug-in, kernel density, KL/kNN/KSG, and ordinal/permutation estimators, with bias-corrected entropy estimators for small samples. On the paper's own terms, the package's defining achievement is not any single new estimator but the integration: consistent slicing for transfer entropy, a shared interface for hypothesis testing, an effective-transfer-entropy variant, and a modular design where a central estimator base class and mixins add p-values and local values without code duplication. The validation section demonstrates that the package reproduces analytical values for Gaussian entropy and mutual information, and recovers the theoretical coupling-strength scaling of transfer entropy in coupled tent-map lattices with fitted coefficient 0.760 ± 0.003 against a literature value near 0.77. The EEG case study then shows the framework's value in practice, where different estimators give different and partly complementary pictures of information transfer.

Load-bearing premise

The whole 'robust tools' claim rests on the assumption that the four validation experiments in Figure 2, together with the unit tests and documentation examples, guarantee that every supported measure-estimator combination is correctly implemented.

Editorial extensions

If this is right

  • A practitioner can test several estimators on one dataset by changing a single argument, making estimator-sensitivity analysis a routine step instead of a toolbox-integration project.
  • Because transfer entropy, mutual information, and entropy all share one interface with p-values, t-scores, and local values, hypothesis testing and time-resolved information flow can be reported consistently across studies.
  • The coupled-map-lattice benchmarks indicate that the package reproduces known theoretical scaling, so it can serve as a reference implementation for new estimators proposed in the literature.
  • The EEG case illustrates that estimator choice can change the qualitative conclusion about brain-network differences, implying that multi-estimator comparison should be part of any applied information-theoretic analysis.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • Beyond the paper: because the package exposes a uniform estimator interface, one could systematically benchmark estimator families against each other on synthetic ground-truth processes, producing an estimator-selection guide that the current paper leaves to user judgment.
  • Beyond the paper: the unvalidated cells of the measure-estimator matrix are a concrete testing target; a natural follow-up would be a formal cross-validation of every combination in Table 2 against analytic or high-precision numerical references.
  • Beyond the paper: the EEG results suggest that disagreement among estimators is itself informative; one testable extension is to use the pattern of estimator disagreement as a feature for classifying patient versus control recordings.
Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

2 major / 5 minor

Summary. The paper presents infomeasure, an open-source Python package for information-theoretic analysis. It implements Shannon, Rényi, and Tsallis entropies; joint and cross entropy; mutual information and conditional mutual information; transfer entropy and conditional transfer entropy; and Kullback-Leibler and Jensen-Shannon divergences. These measures are available through discrete, kernel, metric/kNN, ordinal, and bias-corrected estimators, with local values, p-values, t-scores, confidence intervals, and effective transfer entropy, as summarized in Table 2. The manuscript describes the architecture, gives basic usage examples, reports computational timings, and validates a subset of the functionality against analytical results for Gaussian entropy and mutual information and against Schreiber's tent-map and Ulam-map transfer entropy experiments. It concludes with an EEG case study that compares three TE estimators and control/patient differences.

Significance. If its claims hold, infomeasure would be a useful contribution to the information-theory software landscape by unifying measures, estimators, and hypothesis-testing machinery behind a common Python interface. The package is publicly available and versioned on Zenodo, which is a genuine reproducibility asset. The four reported validation experiments are well chosen and match the expected benchmarks: the Gaussian entropy and MI curves follow the closed-form expressions, and the tent-map fit gives alpha = 0.760 +/- 0.003, close to Schreiber's value. The main limitation is that these experiments cover only a small fraction of the matrix advertised in Table 2, leaving the 'robust tools' claim less supported than the abstract suggests.

major comments (2)
  1. [Validation / Table 2] The numerical validation covers only three measure rows (Shannon entropy, mutual information, transfer entropy, plus a qualitative Ulam-map check); conditional MI, conditional TE, KLD, JSD, Rényi/Tsallis variants beyond one point, bias-corrected estimators, local values, and the p-value/t-score machinery are not checked against known answers anywhere in the manuscript. Because the abstract's central claim is that infomeasure provides 'robust tools' across the full measure/estimator matrix, the evidence is incomplete for exactly the branches where a conditioning or normalization bug would be most dangerous. I ask the authors either to add analytic or cross-package validations for cMI/cTE, KLD/JSD, one bias-corrected entropy estimator, and the permutation null, or to restate the claim so that it explicitly covers only the validated subset.
  2. [Measures, estimators, and features / Validation] The package advertises p-values, t-scores, and confidence intervals for MI and TE, but no calibration test is reported. It is easy to implement a permutation test that returns numbers yet has the wrong null distribution; without a type-I-error check on synthetic null data, the hypothesis-testing feature cannot be considered validated. Please add a short experiment (e.g., false-positive rate at nominal alpha on independent Gaussian or surrogate data) or explicitly label this functionality as unvalidated.
minor comments (5)
  1. [Validation (Gaussian entropy)] The text says the box-kernel estimator deviates for small sigma 'resulting from the kernel bandwidth being too small', but with the fixed bandwidth=2 used in Listing 1 the issue is more naturally described as the bandwidth being large relative to the data spread; please clarify or correct the explanation.
  2. [Validation (tent-map TE)] Please state the range of epsilon used in the least-squares fit and the number of independent realizations per point; Eq. (3) is a small-epsilon approximation, so the fit range matters for interpreting alpha = 0.760 +/- 0.003.
  3. [Listing 3] The parameter noise_level=0.001 is used without being defined in the text; a one-sentence explanation of its role in the metric TE estimator would help new users.
  4. [Eq. (3) and Figure 2 legend] The formula and the figure legend render the tent-map expression ambiguously ('2 2/ln(2)'); it should be typeset as alpha^2 epsilon^2 / ln 2.
  5. [Measures, estimators, and features] The bullet 'Rényi and Tsallis Estimations' should read 'Rényi and Tsallis entropies' for consistency with the surrounding list of measures.

Circularity Check

0 steps flagged · score 0.0 of 10

No circularity: validations target independent closed-form and published numerical benchmarks; the fitted alpha is an output comparison parameter, not an input.

full rationale

The paper's central claim is computational: infomeasure implements standard estimators for standard information-theoretic quantities. The Validation section checks outputs against three externally fixed benchmarks: the Gaussian differential entropy formula H(X) = 1/2 log(2 pi e sigma^2), the Gaussian mutual information formula I(X;Y) = -1/2 log(1 - rho^2), and the numerical transfer-entropy results of Schreiber's coupled tent-map and Ulam-map lattices reported in Ref. 32. These benchmarks do not depend on infomeasure's estimators or on any parameter fitted by the authors. In the tent-map case, the package's TE values are fit to the functional form alpha^2 epsilon^2 / ln(2) and yield alpha = 0.760 +/- 0.003, compared with Schreiber's reported alpha ~ 0.77; this alpha is a coefficient of the external theoretical approximation, not an input to the TE calculation, so no fitted input is renamed as a prediction. The EEG case study is illustrative and makes no circular claim. The paper contains no load-bearing self-citation chain or imported uniqueness theorem; its citations to Schreiber, Kraskov et al., and Bandt and Pompe are standard external sources for the estimators. The skeptical concern about validating only a subset of the Table 2 measure-estimator matrix is a coverage or correctness-risk point, not circularity: an unvalidated branch could contain a bug, but no branch is defined in terms of the validation result or of the paper's own conclusions. Therefore the circularity score is 0.

Assumptions & free parameters 1 free parameters · 4 assumptions · 0 invented entities

The central claim rests on standard information-theoretic definitions and prior estimators from the cited literature. Validation relies on known analytical and numerical benchmarks. The only fitted quantity, alpha, is a validation output and not used to define any package functionality. No new forces, particles, conserved quantities, or theoretical entities are introduced.

free parameters (1)
  • alpha in tent-map TE validation = 0.760 ± 0.003
    Fitted to the numerical transfer entropy results in the coupled tent map validation. Used only as a cross-check against the literature value alpha ≈ 0.77; not an input to the package itself.
assumptions (4)
  • domain assumption KSG nearest-neighbor estimators consistently estimate mutual information for continuous variables (Kraskov et al., 2004, with 2011 erratum).
    The package's metric/kNN estimators inherit their validity from this prior estimator, which the paper does not rederive. Cited in the 'Estimators' section.
  • standard math The entropy of a univariate Gaussian distribution is H(X) = (1/2) log(2πeσ²).
    Used as the analytical benchmark in the first validation panel of Figure 2.
  • standard math The mutual information between two correlated Gaussian variables with correlation ρ is I(X;Y) = -(1/2) log(1-ρ²).
    Used as the analytical benchmark in the second validation panel of Figure 2.
  • domain assumption Schreiber's approximation for transfer entropy in coupled tent maps, T ≈ α²ε²/ln2 with α ≈ 0.77, is correct for small coupling ε.
    Used as the numerical validation target in Figure 2; the package is not responsible for the accuracy of this approximation but relies on it as a benchmark.

how reviews work

0 comments
Cite this review

Pith. "Pith review of infomeasure: A Comprehensive Python Package for Information Theory Measures and Estimators." pith.science (2026). https://pith.science/paper/QWTGM2HJ

@misc{pith2026250514696,
  author       = {Pith},
  title        = {Pith review of: infomeasure: A Comprehensive Python Package for Information Theory Measures and Estimators},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/QWTGM2HJ}},
  note         = {Machine review of arXiv:2505.14696}
}
abstract

Information theory, i.e. the mathematical analysis of information and of its processing, has become a tenet of modern science; yet, its use in real-world studies is usually hindered by its computational complexity, the lack of coherent software frameworks, and, as a consequence, low reproducibility. We here introduce infomeasure, an open-source Python package designed to provide robust tools for calculating a wide variety of information-theoretic measures, including entropies, mutual information, transfer entropy and divergences. It is designed for both discrete and continuous variables; implements state-of-the-art estimation techniques; and allows the calculation of local measure values, $p$-values and $t$-scores. By unifying these approaches under one consistent framework, infomeasure aims to mitigate common pitfalls, ensure reproducibility, and simplify the practical implementation of information-theoretic analyses. In this contribution, we explore the motivation and features of infomeasure; its validation, using known analytical solutions; and exemplify its utility in a case study involving the analysis of human brain time series.

Figures

Figures reproduced from arXiv: 2505.14696 by the authors.

Figure 1
Figure 1. Evolution of the computational cost as a function of the time series length. Results have been obtained with CPython 3.13.2 and Clang 18.1.8 (Darwin 24.4.0) on an Apple M4 Pro; only one core used in the computations. Points and whiskers respectively indicate the average and standard deviation over ten independent realisations. Equivalent results for bias-corrected estimators are available at https://infomeasure.read… view at source ↗
Figure 2
Figure 2. Validation of measures and estimators. From left to right, the two top panels report the numerical and analytical evolution of the entropy and the MI, for Gaussian random variables. The two bottom panels report the evolution of the TE as a function of the coupling strength ε for respectively tent map lattices and Ulam map lattices32. See main text for definitions and details. Use case example: analysis of EEG time s… view at source ↗
Figure 3
Figure 3. Analysis of EEG time series. From left to right, panels correspond to: the evolution of the normalised TE as a function of the lag τ; the obtained TE for each pair of EEG electrodes, with light shades indicating larger TE values; the differences between pairs of estimators, for all possible pairs of EEG electrodes; and the differences between control subjects and patients. From top to bottom, panels correspond to th… view at source ↗

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 2 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. muxvizpy: a Python library for the analysis of multilayer biological networks

    q-bio.QM 2026-08 conditional novelty 6.0 of 10

    muxvizpy is a sparse, Python-native reimplementation of the muxViz multilayer network analysis toolkit that scales to networks with tens of millions of edges and adds new analysis capabilities such as percolation and ...

  2. Observable Matrix Dynamics of Stocks

    q-fin.ST 2026-07 conditional novelty 6.0 of 10

    Applying the Observable Matrix Dynamics toolkit to S&P 500 data yields crisis-specific correlation geometries, a market that never settles into a stable structure, and a weak episodic time-asymmetry in the volatility ranking.

Reference graph

Works this paper leans on

27 extracted references · 19 canonical work pages · cited by 2 Pith papers

  1. [7]

    Anderson, P. W. More is different: Broken symmetry and the nature of the hierarchical structure of science.Science177, 393–396 (1972). 8.Gell-Mann, M.The Quark and the Jaguar: Adventures in the Simple and the Complex(Macmillan, 1995)

  2. [9]

    & Panzeri, S

    Quian Quiroga, R. & Panzeri, S. Extracting information from neuronal populations: information theory and decoding approaches.Nat. Rev. Neurosci.10, 173–185 (2009). 9/11 10.Wibral, M., Vicente, R. & Lizier, J. T.Directed information measures in neuroscience, vol. 724 (Springer, 2014)

  3. [11]

    & Koch, C

    Tononi, G., Boly, M., Massimini, M. & Koch, C. Integrated information theory: from consciousness to its physical substrate.Nat. reviews neuroscience17, 450–461 (2016)

  4. [12]

    A compendium to information theory in economics and econometrics.Econom

    Maasoumi 1, E. A compendium to information theory in economics and econometrics.Econom. reviews12, 137–181 (1993). 13.Margalef, R.Information theory in ecology(Real Academia de Ciencias y Artes de Barcelona, 1973). 14.MacKay, D. J.Information theory, inference and learning algorithms(Cambridge university press, 2003)

  5. [15]

    A., Yaida, S

    Roberts, D. A., Yaida, S. & Hanin, B.The principles of deep learning theory, vol. 46 (Cambridge University Press Cambridge, MA, USA, 2022)

  6. [16]

    G., Ellison, C

    James, R. G., Ellison, C. J. & Crutchfield, J. P. “dit“: A Python package for discrete information theory.J. Open Source Softw.3, 738, DOI: 10.21105/joss.00738 (2018)

  7. [17]

    Kelly, D. A. & Torre, I. P. L. DiscreteEntropy.jl: Entropy Estimation of Discrete Random Variables with Julia.J. Open Source Softw.9, 7334, DOI: 10.21105/joss.07334 (2024)

  8. [18]

    Open Source Softw.4, 1081, DOI: 10.21105/joss.01081 (2019)

    Wollstadt, P.et al.IDTxl: The Information Dynamics Toolkit xl: A Python package for the efficient analysis of multivariate information dynamics in networks.J. Open Source Softw.4, 1081, DOI: 10.21105/joss.01081 (2019)

Show all 27 references
  1. [19]

    & Izquierdo, E

    Candadai, M. & Izquierdo, E. J. Infotheory: A C++/Python package for multivariate information theoretic analysis.J. Open Source Softw.5, 1609, DOI: 10.21105/joss.01609 (2020). 20.Feldt, R. Robertfeldt/InfoTheory.jl (2023)

  2. [21]

    Lizier, J. T. JIDT: An Information-Theoretic Toolkit for Studying the Dynamics of Complex Systems.Front. Robotics AI 1, DOI: 10.3389/frobt.2014.00011 (2014)

  3. [22]

    Ince, R. A. A., Petersen, R. S., Swan, D. C. & Panzeri, S. Python for information theoretic analysis of neural data.Front. Neuroinformatics3, DOI: 10.3389/neuro.11.004.2009 (2009). 23.Donets, N. Nikdon/pyEntropy (2025). 24.Moore, D. G., Hanson, J. & Mathis, C. ELIFE-ASU/PyInfo...

  4. [27]

    & Wibral, M

    Lindner, M., Vicente, R., Priesemann, V . & Wibral, M. TRENTOOL: A Matlab open source toolbox to analyse information flow in time series data with transfer entropy.BMC Neurosci.12, 119, DOI: 10.1186/1471-2202-12-119 (2011)

  5. [28]

    & Savani, V

    Leonenko, N., Pronzato, L. & Savani, V . A class of Rényi information estimators for multidimensional densities.The Annals Stat.36, 2153–2182, DOI: 10.1214/07-AOS539 (2008)

  6. [29]

    Possible generalization of boltzmann-gibbs statistics.J

    Tsallis, C. Possible generalization of boltzmann-gibbs statistics.J. Stat. Phys.52, 479–487, DOI: 10.1007/BF01016429 (1988)

  7. [30]

    & Plastino, A

    Tsallis, C., Mandes, R. & Plastino, A. The role of constraints within generalized nonextensive statistics.Phys. A261, 534 (1998)

  8. [31]

    Nonextensive statistics: theoretical, experimental and computational evidences and connections.Braz

    Tsallis, C. Nonextensive statistics: theoretical, experimental and computational evidences and connections.Braz. J. Phys. 29, 1 (1999). 32.Schreiber, T. Measuring information transfer.Phys. review letters85, 461 (2000). 33.Lin, J. Divergence measures based on the shannon entro...

  9. [35]

    & Leonenko, N

    Kozachenko, L. & Leonenko, N. Sample estimate of the entropy of a random vector.Probl. Peredachi Informatsii23, 95–100 (1987). 36.Kraskov, A., Stögbauer, H. & Grassberger, P. Erratum: Estimating mutual information [phys. Rev. E 69, 066138 (2004)]. Phys. Rev. E83, DOI: 10.1103/...

  10. [37]

    & Pompe, B

    Bandt, C. & Pompe, B. Permutation entropy: A natural complexity measure for time series.Phys. Rev. Lett.88, 174102, DOI: 10.1103/PhysRevLett.88.174102 (2002)

  11. [38]

    & Toral, R

    De Gregorio, J., Sánchez, D. & Toral, R. Entropy Estimators for Markovian Sequences: A Comparative Analysis.Entropy 26, 79, DOI: 10.3390/e26010079 (2024). 10/11

  12. [39]

    J., Legón-Pérez, C

    Contreras Rodríguez, L., Madarro-Capó, E. J., Legón-Pérez, C. M., Rojas, O. & Sosa-Gómez, G. Selecting an effective entropy estimator for short sequences of bits and bytes with maximum entropy.Entropy23, 561 (2021). 40.Olah, C. Visual Information Theory. https://colah.github.i...

  13. [41]

    T.Measuring the Dynamics of Information Processing on a Local Scale in Time and Space, 161–193 (Springer Berlin Heidelberg, Berlin, Heidelberg, 2014)

    Lizier, J. T.Measuring the Dynamics of Information Processing on a Local Scale in Time and Space, 161–193 (Springer Berlin Heidelberg, Berlin, Heidelberg, 2014)

  14. [42]

    & Kantz, H

    Marschinski, R. & Kantz, H. Analysing the information flow between financial time series . an improved estimator for transfer entropy.Eur. Phys. J. B30, 275–281, DOI: 10.1140/epjb/e2002-00379-2 (2002). 43.Fröhlich, F.Network neuroscience(Academic Press, 2016). 44.Bassett, D. S...

  15. [45]

    & Sporns, O

    Bullmore, E. & Sporns, O. Complex brain networks: graph theoretical analysis of structural and functional systems.Nat. reviews neuroscience10, 186–198 (2009). 46.Park, H.-J. & Friston, K. Structural and functional brain networks: from connections to cognition.Science342, 12384...

  16. [48]

    & Jernajczyk, W

    Olejarczyk, E. & Jernajczyk, W. Graph-based analysis of brain connectivity in schizophrenia.PloS one12, e0188629 (2017)

  17. [49]

    J.et al.Measuring the non-linear directed information flow in schizophrenia by multivariate transfer entropy

    Harmah, D. J.et al.Measuring the non-linear directed information flow in schizophrenia by multivariate transfer entropy. Front. computational neuroscience13, 85 (2020)

  18. [50]

    bulletin48, 1384–1393 (2022)

    Jia, Y .et al.Abnormal information flow in schizophrenia is linked to psychosis.Schizophr. bulletin48, 1384–1393 (2022)

  19. [51]

    & Wang, J

    Wang, Q., Yang, X., Yan, W., Yu, J. & Wang, J. Networked information interactions in schizophrenia magnetoencephalo- grams based on permutation transfer entropy.Biomed. Signal Process. Control.91, 105977 (2024). Acknowledgements This project has received funding from the Europ...

Pith tools

Reviewed August 15, 2026 · model on record in the stance chip above.