numeraire.adjust_pvalues#
- numeraire.adjust_pvalues(p_values: NDArray[float64], *, method: str = 'bhy', alpha: float = 0.05) MultipleTestResult[source]#
Multiple-testing adjustment for a family of tests (Harvey-Liu-Zhu 2016 §4.4 toolbox).
bonferroni(single-step, FWER): rejectp_i <= alpha / M.holm(step-down, FWER): order ascending, reject whilep_(k) <= alpha / (M + 1 - k).bhy(Benjamini-Yekutieli step-up, FDR under arbitrary dependence):k* = max{k : p_(k) <= k * alpha / (M * c(M))}withc(M) = sum_{j<=M} 1/j; reject thek*smallest.
Adjusted p-values follow the standard conventions (min-with-1, running max/min so rejection by
adjusted_p <= alphamatches the sequential rule). HLZ’s headline: with the factor zoo’s family size, a new factor needs roughlyt > 3.0(BHY 1%) rather than 1.96.