Cai–Liu–Xia maximum mean test#
Status: validation-blocked; no public callable. The oracle formula, extreme-tail, transformation, estimator-program, and invalid-input gates pass, but the practical-size Gumbel calibration does not. A reduced oracle null law passes only at a very large dimension; no honest end-to-end release scenario currently passes for the estimated-precision branches.
For a precision matrix Omega, the oracle statistic is
n_x n_y / (n_x + n_y) * max_j ((Omega d)_j² / Omega_jj).
The p-value uses the limiting type-I extreme-value distribution and is
evaluated with expm1 to avoid cancellation. A literal independent fixture
checks the statistic, log-tail, group exchange, and diagonal feature scaling
with the correspondingly transformed precision matrix.
The direct paper locations are Equation (2), p. 352, for the oracle statistic;
Equations (6)–(7), pp. 354–355, for the data-driven statistic and transformed
variance; and Theorem 1, pp. 355–356, for
M - 2 log(p) + log(log(p)) and its type-I extreme-value limit. The CLIME
program and minimum-magnitude symmetrization are displayed on pp. 353–354.
These comparisons use the authors’ article, not the legacy R output as a
formula oracle.
Estimated precision#
precision="clime"solves the column-wise CLIME linear programs with SciPy, applies the paper’s minimum-magnitude symmetrization, and useslambda = sqrt(log(p) / (n_x + n_y)), i.e. the theoretical rate with constant one. The paper permits cross-validation of that constant; pySHT intentionally makes the deterministic rule explicit and does not silently run a data-dependent search.precision="adaptive-threshold"uses the entry-specific thresholds with defaultdelta=2, followed by a documented positive-definite numerical floor before inversion.Both estimated branches assume a common covariance matrix. No unequal- covariance fallback is implied.
All groups use one deterministic feature-wise anchor before per-feature scaling. Supplied precision matrices remain defined in the original column units; an explicit domain error is raised if transforming such a matrix would overflow float64.
Null calibration audit and current limitation#
Under independent Gaussian coordinates and a supplied identity precision,
the oracle statistic reduces exactly to the maximum of p independent
chi-square-one variables. This gives an exact, allocation-free simulator for
the implemented limiting p-value. With 20,000 null datasets per seed:
p |
Seed |
alpha=0.01 |
alpha=0.05 |
alpha=0.10 |
Gate |
|---|---|---|---|---|---|
10,000 |
20260810 |
0.00770 |
0.04650 |
0.09595 |
pass |
10,000 |
20260811 |
0.00810 |
0.04385 |
0.08920 |
fail at 0.10 |
300,000 |
20260810 |
0.00810 |
0.04905 |
0.09825 |
pass |
300,000 |
20260811 |
0.00825 |
0.04515 |
0.09170 |
pass |
The extreme-value approximation converges slowly. The passing p=300,000
row uses the exact reduced oracle law; the current dense precision-matrix API
cannot make that an honest end-to-end execution scenario. No null-calibration
claim is therefore made for precision="clime" or
precision="adaptive-threshold". The method remains private until a practical
sparse-covariance scenario passes the same gate; pySHT never substitutes a
different calibration silently.
Alternative-power status#
No public alternative-power result is reported. The implementation remains
private as _clx_2samp, is absent from pysht.mean.__all__, and cannot pass
the public release gate until an end-to-end sparse-covariance null scenario
passes. A strong-alternative result would not repair that missing type-I-error
evidence, so the power audit deliberately does not promote or advertise it.
Primary reference: T. T. Cai, W. Liu, and Y. Xia, Two-Sample Test of High Dimensional Means under Dependence, JRSS B 76 (2014), 349–372, doi:10.1111/rssb.12034; author copy https://faculty.wharton.upenn.edu/wp-content/uploads/2014/06/Two_Sample_Test_of_High_Dimensional_Means_Under_Dependence.pdf.