Papers

What the named ensembles were built to measure, and what they found.

The audit

Covariance-Method Claims Are Ensemble-Relative: Named Measures and an Audit Program

Peter Cotton · August 2026 · preprint · PDF · LaTeX · seeded scripts

A claim about a covariance or correlation method is a claim about a distribution over matrices, and the distribution is rarely stated. Across fifteen named, seeded ensembles at identical dimension and sample size the Ledoit–Wolf shrinkage intensity ranges from $0.07$ to $0.86$, and eleven audited claims from eleven fields — shrinkage, hierarchical risk parity, eigenvalue clipping, kriging screening, parallel analysis, covariance localization, diagonal loading, the graphical lasso, random skewers, North's rule, the Mantel test — flip verdict as the ensemble changes, each for a stated structural reason. The results assemble into a matrix of claims against measures; a joint leaderboard of scikit-learn and precise estimators has five different winners.

The pattern survives scale. Seven claims re-run from $n=30$ to $n=3000$ keep their verdict in six cases; the seventh, hierarchical risk parity, flips under its own home-turf ensemble as dimension grows. Ensemble-invariant theorems are run as null controls: the Hartlap factor comes back at $0.98$–$1.01$ under every ensemble, which is what a working pipeline must report.

Working notes

The audit docket

Kept beside the paper · updated as audits land

Prominent covariance-method claims from astronomy, climate, ecology, genomics, neuroscience, chemometrics and econometrics, each classified before it is audited: claims that impose structure on the truth are ensemble-relative and can flip; theorems about Wishart sampling noise hold for every true covariance and serve as controls. Finding ensemble-dependence in a control means the pipeline has a bug.

Correlation Inflation

Peter Cotton · working paper · PDF

An example of the kind of claim the ensembles exist to test: how estimated correlations inflate, and under which generating measures the effect is large enough to matter.

Reproducing

Every number in the audit comes from a seeded script beside the paper (*_sweep.py), and every ensemble is one line of this package:

pip install randomcov

from randomcov import random_correlation_matrix
C = random_correlation_matrix(n=300, corr_method="hierarchical", corr_kwargs={"rng": 7})

The paper compiles on every push (paper.yml), which checks the build for unresolved references, undefined citations and duplicate labels rather than trusting one laptop.