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:
- pvalsarray_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_sortedbool,
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:
See also
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).
Both methods exposed via this function (Benjamini/Hochberg, Benjamini/Yekutieli) are also available in the function
multipletests
, asmethod="fdr_bh"
andmethod="fdr_by"
, respectively.