statsmodels.stats.multitest.fdrcorrection_twostage

statsmodels.stats.multitest.fdrcorrection_twostage(pvals, alpha=0.05, method='bky', maxiter=1, iter=None, is_sorted=False)[source]

(迭代)两阶段线性逐步上升程序,用于估计真实假设的数量

Benjamini、Krieger 和 Yekuteli,定义 6 中的程序

Parameters:
pvalsarray_like

单个测试的p值集合。

alphafloat

错误率

method{‘bky’, ‘bh’)

查看详细信息

  • ‘bky’ - implements the procedure in Definition 6 of Benjamini, Krieger

    和 Yekuteli 2006

  • ‘bh’ - Benjamini 和 Hochberg 的两阶段方法

maxiterint or bool

最大迭代次数。 maxiter=1(默认)对应于两阶段方法。 maxiter=-1 对应于完整迭代,即 maxiter=len(pvals)。 maxiter=0 仅使用单阶段 fdr 校正,使用 ‘bh’ 或 ‘bky’ 的先验假设真实假设的比例。 为了向后兼容已弃用的 iter 关键字,允许使用布尔值 maxiter。 maxiter=False 是两阶段 fdr(maxiter=1) maxiter=True 是完整迭代(maxiter=-1 或 maxiter=len(pvals))

在版本0.14中新增: 用于替代iter,并增加了额外功能。

iterbool

iter 已被弃用,请改用 maxiter。 如果 iter 为 True,则仅使用一个迭代步骤,这是两步法。 如果 iter 为 False,则迭代在收敛时停止,这会在有限数量的步骤内发生(最多 len(pvals) 步)。

自版本0.14起已弃用: 使用maxiter代替iter

Returns:
rejectedndarray, bool

如果假设被拒绝则为真,否则为假

pvalue-correctedndarray

p值经过多重假设检验调整以限制FDR

m0int

ntest - rej,估计的真实(未被拒绝)假设的数量

alpha_stageslist of floats

每个阶段使用的alpha列表

注释

返回的校正p值是针对给定的alpha值的,它们不能用于不同的alpha值。

返回的校正p值来自fdr_bh线性逐步上升过程的最后阶段(fdrcorrection0方法为’indep’),针对估计的真实假设比例进行了校正。 这意味着可以通过 pval_corrected <= alpha获得拒绝决策,其中alpha是原始显著性水平。 (注意:这与statsmodels早期版本(<0.5.0)有所不同。)

BKY 描述了几种其他的多阶段方法,这些方法易于实现。然而,在他们的模拟中,简单的两阶段方法(使用 iter=False)对正相关性的存在最为稳健。

待办事项:应该返回什么?


Last update: Oct 16, 2024