多重假设检验及其生物学应用

为什么要用多重假设检验?

一言以蔽之,使数据的Type I Error出现可能小于特定数值(如:0.05)。

例1. 基因表达谱数据

基因组有大量数据,意味着有大量的假设检验。

一个典型的microarray(基因微阵列)实验通常包括高达10000个不同的独立的假设检验。如果我们用标准P value cut-off 0.05的话,那么我们则期望偶然得到500个显著性基因。而这些都是Type I Error,也就是假阳性,从数量上来说,这多的可怕。


概括来说,如果我们进行m次假设检验,我们至少发生1次假阳性(Type I Error)的概率是多少?

α=P(Type I Error) β=P(Type II Error)

P(决定错误)=\alpha

P(决定正确)=1-\alpha

P(m次检验全部正确)=(1-\alpha)^{m}

P(m次检验至少1次出现错误)=1-(1-\alpha)^{m}

那么我们可以画出至少发生1次假阳性与检验次数的关系:

也就是说,如果我们不进行多重检验校正,得到假阳性的概率随着检验次数的增大会越来越大。100次检验中,出现假阳性的概率为0.9941,而多重检验校正,就是使这100次检验都尽量不出现假阳性。

这是上面那张图的MATLAB的运行代码,感兴趣可以复制粘贴改改参数看一看:

m=[1:1:100];
P=1-(1-0.05).^m;
plot(m, P, 'k.','MarkerSize',20);
grid on
xlabel('m')
ylabel('P(At least 1 error in m tests)');


多重检验校正的含义

  • “根据假设检验进行次数调整P value”的意思是控制假阳性(Type I error)比例

不同的多重检验校正方法

假设我们在同时检验m个假设 H^{1}, H^{2}, ..., H^{m}

令 m_{0}=假设正确的数量, R=假设拒绝的数量

可以得到这样一张表,其中V=假阳性(Type I Error)数量

先来表述一些概念,这些是不同多重假设检验的控制目标:

  • Per comparison error rate (PCER, 比较误差率): Type I Error的期望数目比总假设数

PCER = E(V)/m

  • Per-family error rate (PFER): Type I Error的期望数目

PFER = E(V)

  • Family-wise error rate (FWER): 至少出现1次Type I Error

FWER = P(V≥1)

  • False discovery rate (FDR, 错误发现率): Type I Error在总拒绝数量中的比率(错误拒绝率)

FDR = E(V/R | R>0) P(R>0)

  • Positive false discovery rate (pFDR, 阳性错误发现率): 错误发现的比率

pFDR = E(V/R | R>0)


在实际应用中,我们一般希望减少Type I Error出现的可能,因此主要考虑FWER和FDR这两个数据。下面是针对减小这两个概率的不同检验方法:

FWER校正方法

  1. 单步校正

1.1 Bonferroni 校正

当P value≤α/m时,拒绝零假设。

例:当进行10000次多重假设检验时,当P value为0.05/10000 = 5e-6使,才能说有统计显著性。

2. 序列校正

2.1 Holm's方法

例:对于10000次假设检验,调整后的P value为 \widetilde{P_{1}}=10000\times P_{1}, \widetilde{P_{2}}=9999\times P_{2}, ...,\widetilde{P_{m}}=1\times P_{m}


FDR校正方法

  1. Benjamin and Hochberg FDR

检验步骤:

1.1 按照P value大小排列各个检验: P_{1}\le P_{2} \le ... \le P_{m}

1.2 对于排列在第j个位置的检验来说,其P value为 P_{j} ,若其小于等于 (j/m) \times \delta ,我们可以认为这个检验具有显著性。

例2:当δ = 0.05时

暂时写到这里,未来继续补充。

编辑于 2017-11-14