使用 FDR 对少量测试 (10-20) 进行多次测试的更正?

机器算法验证 多重比较 小样本 错误发现率
2022-03-20 17:23:10

错误发现率 (Benjamini-Hochberg) 通常用于“大数据”,例如使用 100 次测试的基因研究。但它也可以用于较少数量的测试吗?例如,查看两组(男性与女性)在 10-20 份不同问卷上的结果。在这些情况下,FDR 程序是否会失去价值/意义/权力?

1个回答

我看到人们一直在混淆这一点,也在这个论坛上。我认为这在很大程度上是因为在实践中,Benjamini-Hochberg 的程序被用作错误发现率的同义词(并且作为审稿人对其论文要求的“调整”p 值的黑盒)。人们必须清楚地将 FDR 概念与 Benjamini-Hochberg 的方法区分开来。第一个是广义的 I 类错误,而第二个是控制该错误的多重测试程序。例如,这非常类似于 FWER 和 Bonferroni 的程序。

事实上,当你想使用 FDR 控制方法时,假设的数量并不重要。这仅取决于您的目标。特别是,假设您正在测试m假设和您的程序拒绝R其中有V虚假拒绝。

现在您使用 FWER (=Pr[V1]) 控制程序,如果你不想I 类错误。另一方面,您使用FDR,当犯一些错误是可以接受的,只要它们与所有拒绝相比相对较少R你做了,即

FDR=E[VmaxR,1]

因此,您的问题的答案完全取决于您想要实现的目标,并且没有内在的原因为什么小m会有问题。只是为了进一步说明:Benjamini-Hochberg 1995 年开创性论文中的数据分析示例刚刚包括m=15假设,当然它也适用于这种情况!

当然,我的回答有一个警告:BH 程序只是在“大量”(例如微阵列)数据集开始可用之后才流行起来。正如您提到的,它通常用于此类“大数据”应用程序。但这只是因为在这种情况下FDR作为标准更有意义,例如,因为它具有可扩展性和适应性,并有助于探索性研究。另一方面,根据临床研究等的要求,FWER 非常严格,并且会因为同时探索太多选项而对您造成过多的惩罚(即不太适合探索性工作)。

现在,假设您已确定 FDR 是您的应用程序的适当标准。当假设数量较少时,Benjamini Hochberg 是否是控制 FDR 的正确选择?我会说是的,因为它在统计上也适用于低m. 但对于低m例如,您还可以使用另一个程序,即Benjamini 和 Liu 的程序,它也控制 FDR。事实上,作者建议在以下情况下使用它(超过 Benjamini-Hochberg)m14大多数假设都是错误的。因此,您会看到 FDR 控制有其他选择!在实践中,我仍然会使用 BH,因为它已经非常成熟,而且在大多数情况下,如果存在的话,使用 Benjamini-Liu 的好处将是微不足道的。

在最后的相关说明中,确实有一些 FDR 控制程序不应该用于m这些包括所有基于 local-fdr 的过程,例如在 R 包“fdrtool”和“locfdr”中实现的。