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 →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
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.
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
- 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.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
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)
- [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.
- [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)
- [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.
- [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.
- [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.
- [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.
- [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
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
free parameters (1)
- alpha in tent-map TE validation =
0.760 ± 0.003
assumptions (4)
- domain assumption KSG nearest-neighbor estimators consistently estimate mutual information for continuous variables (Kraskov et al., 2004, with 2011 erratum).
- standard math The entropy of a univariate Gaussian distribution is H(X) = (1/2) log(2πeσ²).
- standard math The mutual information between two correlated Gaussian variables with correlation ρ is I(X;Y) = -(1/2) log(1-ρ²).
- domain assumption Schreiber's approximation for transfer entropy in coupled tent maps, T ≈ α²ε²/ln2 with α ≈ 0.77, is correct for small coupling ε.
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
Forward citations
Cited by 2 Pith papers
-
muxvizpy: a Python library for the analysis of multilayer biological networks
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 ...
-
Observable Matrix Dynamics of Stocks
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
-
[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)
work page 1972
-
[9]
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)
work page 2009
- [11]
-
[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)
work page 1993
-
[15]
Roberts, D. A., Yaida, S. & Hanin, B.The principles of deep learning theory, vol. 46 (Cambridge University Press Cambridge, MA, USA, 2022)
work page 2022
-
[16]
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)
-
[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)
-
[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
-
[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)
2020 doi
-
[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)
2014
-
[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...
2009 doi
-
[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)
2011 doi
-
[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)
2008 doi
-
[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)
1988 doi
-
[30]
& Plastino, A
Tsallis, C., Mandes, R. & Plastino, A. The role of constraints within generalized nonextensive statistics.Phys. A261, 534 (1998)
1998
-
[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...
1999
-
[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/...
1987 doi
-
[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)
2002 doi
-
[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
2024 doi
-
[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...
2021
-
[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)
2014
-
[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...
2002 doi
-
[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...
2009
-
[48]
& Jernajczyk, W
Olejarczyk, E. & Jernajczyk, W. Graph-based analysis of brain connectivity in schizophrenia.PloS one12, e0188629 (2017)
2017
-
[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)
2020
-
[50]
bulletin48, 1384–1393 (2022)
Jia, Y .et al.Abnormal information flow in schizophrenia is linked to psychosis.Schizophr. bulletin48, 1384–1393 (2022)
2022
-
[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...
2024
Reviewed August 15, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.