statsmodels.stats.multitest.fdrcorrection

statsmodels.stats.multitest.fdrcorrection(pvals, alpha=0.05, method='indep', is_sorted=False)[source]

pvalue correction for false discovery rate

This covers Benjamini/Hochberg for independent or positively correlated and Benjamini/Yekutieli for general or negatively correlated tests. Both are available in the function multipletests, as method=`fdr_bh`, resp. fdr_by.

Parameters
pvalsarray_like

set of p-values of the individual tests.

alphafloat

error rate

method{‘indep’, ‘negcorr’}
is_sortedbool

If False (default), the p_values will be sorted, but the corrected pvalues are in the original order. If True, then it assumed that the pvalues are already sorted in ascending order.

Returns
rejectedndarray, bool

True if a hypothesis is rejected, False if not

pvalue-correctedndarray

pvalues adjusted for multiple hypothesis testing to limit FDR

Notes

If there is prior information on the fraction of true hypothesis, then alpha should be set to alpha * m/m_0 where m is the number of tests, given by the p-values, and m_0 is an estimate of the true hypothesis. (see Benjamini, Krieger and Yekuteli)

The two-step method of Benjamini, Krieger and Yekutiel that estimates the number of false hypotheses will be available (soon).

Method names can be abbreviated to first letter, ‘i’ or ‘p’ for fdr_bh and ‘n’ for fdr_by.