实际上,按照Benjamini-Hochberg方法,从小到大的顺序对p值进行排序,按照P(k)≤α*k/N进行比较,拒绝最小的P值,其中有116个H0为真的情况,也就意味着错误发现率FDR=116/947=0.12。如果要控制FDR≤α=0.1,则可重新使用Benjamini-Hochberg方法,这次我们从更加图形可视化的角度来理解这个过程。如下图所示,...
简单搜索了一下知乎,只有提到FDR的解释,还有介绍Benjamini-Hochberg的步骤,但似乎并没有帖子解释为什么用这个方法可以控制错误发现率(False discovery rate, FDR)。 首先一句话概括引入FDR的目的,即是在multiple hypothesis testing的情况下,对false positive加以控制,FDR没有FWER那么保守。详细的介绍可以移步至下面这个帖子...
Benjamini-Hochberg方法是一种非常有影响力的多重比较校正方法。它的基本思想是通过控制假阳性发现的比例来控制多重比较结果的准确性。其具体步骤如下: 1.对所有的p值按照升序排列。 2.对于每个p值,计算调整后的阈值,使用以下公式:调整后的阈值=(排序后的p值*N)/(当前的排序位置)。 这里N表示进行假设检验的总数...
Benjamini-Hochberg方法的基本思想是对所有的假设检验结果按照p值从小到大排序,然后计算每个p值对应的FDR阈值,使得所有p值小于该阈值的假阳性率不超过预设的FDR阈值。具体地,假设我们进行了m个假设检验,排序后的p值为$p_1,p_2,...,p_m$,预设的FDR阈值为$\alpha$,则对于每个$p_i$,计算其对应的FDR阈值为$...
Benjamini & Hochberg法 简称BH法。首先将各P值从小到大排序,生成顺序数 排第k的矫正P值=P×n/k 另外要保证矫正后的各检验的P值大小顺序不发生变化。 R实现 利用R自带的基础包中的p.adjust()可以进行多重检验的P值矫正。 p.adjust(p, method = p.adjust.methods, n = length(p)) ...
执行FDR的一个例子——Benjamini-Hochberg方法 Benjamini-Hochberg方法其实很简单,计算也不繁琐,只需要2步即可: 将所有的p值按照大小顺序进行排序; 从最大p值开始计算,最大的数值没有变化, 剩余adj p.val计算方法为 其中,rank of p.val是每个p值的秩,Max rank是最大秩。
Bonferroni法非常简单,它的缺点在于非常保守(大概是各种方法中最保守的了),尤其当n很大时,经过Bonferroni法矫正后总的一类错误可能会远远小于既定α。 控制错误发现率:Benjamini & Hochberg法 简称BH法。首先将各P值从小到大排序,生成顺序数 排第k的矫正P值=P×n/k ...
控制错误发现率:Benjamini & Hochberg法 简称BH法。首先将各P值从小到大排序,生成顺序数 排第k的矫正P值=P×n/k 另外要保证矫正后的各检验的P值大小顺序不发生变化。 怎么做检验 R内置了一些方法来调整一系列p值,以控制多重比较谬误(Familywise error rate)或控制错误发现率。
控制错误发现率:Benjamini & Hochberg法 简称BH法。首先将各P值从小到大排序,生成顺序数排第k的矫正P值=P×n/k另外要保证矫正后的各检验的P值大小顺序不发生变化。 怎么做检验 R内置了一些方法来调整一系列p值,以控制多重比较谬误(Familywise error rate)或控制错误发现率。
Bonferroni法和Benjamini & Hochberg法(BH法) 这两种方法可以矫正各次检验的P值,用矫正后的P值与既定的α进行统计推断以保证总的一类错误概率不大于α。(实际上原本的方法是调整各检验的α值,我们这里介绍的是与之等价的矫正P值的方法)设希望控制总的一类错误概率为α,比较的次数为n。Bonferroni法...