p-value矫正方法

几个同义词概念

p-value:常用的统计学显著性检验指标,衡量一次检验假阳性率的指标(False positive rate) ;
Q value:调整后p-value,衡量错误发现率的指标(False discovery rate,简称FDR)。即使用Q value的这个参 数预估FDR。
adjust p-value:调整后p-value值

通常情况下,我们可以认为Q value = FDR = adjusted p value;
实际上,还是要依据具体的数据分析方案定义

Adjust p-value的计算过程

主要使用的校正办法有两种:

  • Bonferroni 校正
  • 基于BH方法的FDR(FalseDiscovery Rate) 校正
Bonferroni矫正

Bonferroni 校正法可以称作是“最简单粗暴有效”的校正方法,它拒绝了所有的假阳性结果发生的可能性,通过对p值的阈值 ( α \alpha α)进行校正来实现消除假阳性结果。

A d j u s t   p . v a l u e = α n Adjust\ p.value = \frac{\alpha}{n} Adjust p.value=nα

其中,

  • p-value为原始阈值 α \alpha α(比如0.05)
  • n为总检验次数。

比如,原始的 α \alpha α阈值为0.05,检验次数为10000次,那么在Bonferroni 校正中,校正的阈值就等于5%/ 10000 = 0.000005,所有P值超过0.00005的结果都被认为是不可靠的。这样的话假阳性结果在10000次检验中出现的次数为 10000 * 0.000005 =0.5,还不到1次。

但是这也存在问题:Bonferroni 委实太过严格,被校正后的阈值拒绝的不只有假阳性结果,很多阳性结果也会被它拒绝。

FDR矫正

相对Bonferroni 来说,FDR温和得多,这种校正方法不追求完全没有假阳性结果,而是将假阳性结果和真阳性的比例控制在一定范围内。

假如,我们进行了10000次检验,并设定FDR<0.05,如果我们的检验对象为差异表达的基因,那么在10000次检验中假如得到了500个基因,那么这500个基因中的假阳性结果小于 500*5% = 25 个。

FDR的计算方法有很多种,这里介绍一个比较常用的Benjaminiad Hochberg(BH)方法
主要步骤如下:

  • m次检验的结果p-value按由小到大进行排序
  • 计算k值(k为其中一次检验结果的p-value值所对应的秩排名
  • 找到符合原始阈值α的最大的k值,满足 p ( k ) ≤ α × k m p(k) \leq \frac{α \times k}{m} p(k)mα×k,认为排名从1到k的所有检验存在显著差异,并计算对应的q值公式为 q − v a l u e = p × m k q-value = \frac{p \times m} {k} qvalue=kp×m

举个例子,如果我们有总共六个结果进行FDR校正:

  • p-value 从小到大排序
    在这里插入图片描述

  • 筛选k值(按α=0.05进行计算)

    • a. 排名第四的 p(4) = 0.03 < 0.05*4/6 = 0.033,符合要求。
    • b. 排名第五的 P (5)= 0.045 > 0.055/6 = 0.041,不满足P(k)<=αk/m
    • c. 因此在这个列表里排名前四的G2,G6,G5,G4 为具有显著差异的基因。
  • 计算FDR值
    公式如下:
    q − v a l u e = p − v a l u e × m k q-value=\frac{p-value \times m}{k} qvalue=kpvalue×m
    其中:

  • p-value 为原始计算的显著性值

  • m 共有的检验次数,或者理解为有多少个p-value值

  • k 为当前的p-value所处的秩排序值
    在这里插入图片描述

区别

  • 两种方法主要的区别:如何基于原始阈值,来重新界定新的阈值
  • 第一种方法直接使用 α n \frac{\alpha}{n} nα;第二种方法使用了秩,即 α × k n \frac{\alpha \times k}{n} nα×k
  • 但是,两种adjust p-value的计算方式是一样的。

Guess you like

Origin blog.csdn.net/nixiang_888/article/details/121139551