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:
  • pvals (array_like) – set of p-values of the individual tests.
  • alpha (float) – error rate
  • method ({'indep', 'negcorr')) –
Returns:

  • rejected (array, bool) – True if a hypothesis is rejected, False if not
  • pvalue-corrected (array) – 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.