您的位置:

Benjamini-Hochberg方法详解

一、什么是Benjamini-Hochberg方法

Benjamini-Hochberg方法是一种控制误差率的统计方法,它可以在多个假设检验中控制总的误差率。假设检验通常会返回一些拒绝原假设或不拒绝原假设的结果。 Benjamini-Hochberg方法用于控制在多个假设检验中拒绝原假设的错误率。

它以最小化总的假阳性错误率(False Discovery Rate,以下简称FDR)的形式为基础解决问题。

二、API使用介绍

下面介绍 Benjamini-Hochberg 的 API 使用:

from statsmodels.stats.multitest import multipletests

reject, p_vals_corrected, alphacSidak, alphacBonf = multipletests(p_vals, alpha=0.05,
                                                                   method='fdr_bh')

其中,参数 `p_vals` 是一维的 p-value 数组,`alpha` 是需要控制的误差率,方法选择 fdr_bh 代表了使用 Benjamini-Hochberg 方法进行误差率的控制。

函数返回了四个值,依次是:

  • `reject`:布尔型数组,用于判断对应 p-value 是否拒绝原假设
  • `p_vals_corrected`:multipletests 方法返回的从多重比较中调整的 p-value
  • `alphacSidak`: Sigmoid 校正方法返回的 alpha,以保证产品族拒绝原假设的假阳性率
  • `alphacBonf`: Bonferroni 校正方法返回的 alpha,以保证族最多假阳性的拒绝率

三、Benjamini Hochberg 的实际应用

Benjamini-Hochberg 方法已经成为高通量数据分析中控制误差的标配方法之一。其实际应用领域包括基因表达、气相色谱、质谱等数据的分析。

例如,在基因表达研究中,通过将基因表达的细胞分为两组,实验组和对照组,可以通过扫描若干基因得到大量的 p-value。同样,在研究中也可能有更多的因素会影响对数据的解释。

Benjamini-Hochberg 方法可以处理这些误差率,减少 false positive 的数量。在实践中,人们经常使用 Benjamin-Hochberg 方法,以便仅在针对一些后续实验进行的假设检验时,考虑到此类实验可能会导致处理了大量数据再次检验其集中性。

参考链接

- Benjamini, Y., & Hochberg, Y. (1995). Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing. Journal of the Royal Statistical Society, Series B (Methodological), 57(1), 289–300. Doi: 10.1111/j.2517-6161.1995.tb02031.x.
- Storey, J. D. (2002). A direct approach to false discovery rates. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 64(3), 479–498. Doi: 10.1111/1467-9868.00346.