如何使用 Benjamini-Hochberg 方法处理相同的 p 值以校正多个测试

机器算法验证 多重比较 p 值
2022-04-02 22:21:21

我正在测试 DNA 中的突变,我正在使用 Benjamini-Hochberg 方法来修改我正在测试我的 p 值的阈值。该方法基本上是对 p 值进行排序并将它们与定义的新阈值进行比较

q(k)=k/nα ,

其中是您的原始阈值,通常为 0.05,是您比较的 p 值的等级,是 p 值的总量(== 测试总量)。αkn

由于我的数据的性质,许多 p 值是相同的。以下有序的 p 值集可能是一个示例:

p1 = 0.01 = 0.03 = 0.03 = 0.03 = 0.09p2p3p4p5

假设 = 0.05 的阈值,我必须比较我的值是:α

q1 = 0.01 = 0.02 = 0.03 = 0.04 = 0.05q2q3q4q5

因此我接受第二个测试并拒绝第三个和第四个测试,即使它们具有相同的原始 p 值。我试图在文献中寻找解决方案,但没有任何结果。有没有既定的方法呢?如果没有,您首选的临时解决方案是什么?

2个回答

在 Bioconductor 的包中也进行验证multtest,我建议给它们相同的等级 -非常重要的是 -将以下 p 值的等级增加一index+1,而不是在数组中使用它们!这将产生以下结果:

考虑到您的示例multtest的 BH 将排名 : 1, : 2, : 2, : 2, : 3 而不是 : 2, : 2, : 2, : 5r1r2r3r4r5r2r3r4r5

可能的临时解决方案是为重复的 p 值赋予相同的等级。