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.
- Parameters:
pvals (array_like, 1d) – Set of p-values of the individual tests.
alpha (float, optional) – Family-wise error rate. Defaults to
0.05.method ({'i', 'indep', 'p', 'poscorr', 'n', 'negcorr'}, optional) – Which method to use for FDR correction.
{'i', 'indep', 'p', 'poscorr'}all refer tofdr_bh(Benjamini/Hochberg for independent or positively correlated tests).{'n', 'negcorr'}both refer tofdr_by(Benjamini/Yekutieli for general or negatively correlated tests). Defaults to'indep'.is_sorted (bool, optional) – 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:
rejected (ndarray, bool) – True if a hypothesis is rejected, False if not
pvalue-corrected (ndarray) – 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_0where 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).
Both methods exposed via this function (Benjamini/Hochberg, Benjamini/Yekutieli) are also available in the function
multipletests, asmethod="fdr_bh"andmethod="fdr_by", respectively.See also