美文网首页
4 控制错误发现率

4 控制错误发现率

作者: 老姚记事本 | 来源:发表于2022-01-30 14:49 被阅读0次

    4.1 正确与错误的发现

    假设我们有一种决策方式D,它对N个假设决策如下:

    图中a为错误的发现,b为正确的发现
    则FWER为a大于0的概率,而a/R被称为错误发现比率(false discovery proportion)

    4.2 Benjamini和Hochberg的FDR控制算法

    如果在零假设下的P值服从01均匀分布
    H_{0i}:p_i \sim U(0,1)
    定义排序后的p值为
    p_{(1)}, p_{(2)},..., p_{(N)}

    Benjamini–Hochberg过程为:取q在0到1之间,定义i_{max}为满足p_{i} \leq \frac{i} {N} q的最大i,并拒绝所有i \leq i_{max}对应的H_{0(i)}

    定理4.1
    如果真正的零假设对应p值是互相独立的,则BH过程对应的BH(q)错误发现比例期望值为q
    E \{ Fdp_{BH(q)} \} = \pi_0 q \leq q
    其中\pi_0 = N_0 / N

    显然FDR比FWER更自由,那它可信么?下面是一些问题,它们会在后面通过经验贝叶斯解决。

    • 定理4.1依赖于零假设对应p值是互相独立,或者它们不是负相关的也可以使用。这常常是不切实际的
    • 如果R=0,则a/R必须定义为0;或者限制R必须大于0,但这常常不大可能
    • 控制错误发现率真的比控制错误率好么?
    • q如何选择?
    • 传统p值在零假设逻辑下进行计算,在大规模假设检验中不太合适

    4.3 经验贝叶斯解释

    如果用F_0表示零假设的cdf,则p值为:
    p_i = F_0(z_i)
    z_i可以等于p_i,此时F_0(z_i) \sim U(0,1)
    z排序:z_{(1)} \leq z_{(2)} \leq,...,z_{(N)}
    由于z_i的经验cdf值为\# \{ z_i \leq z \} / N,则z_i的经验cdf值为

    结合上节,BH的阈值可转换为:




    结合第二章大规模假设检验2.3,左式为经验贝叶斯错误发现率(分子为H0误判累积概率,分母为推翻零假设的混合概率估计)。

    根据贝叶斯规则:
    Fdr(z) = \pi_0F_0(z)/F(z)

    由于\pi_0未知,可以取它的上界1(会导致更加严格)计算,此时:


    并拒绝小于z_{max}的H0。此时频率派与贝叶斯派的结果得到统一!
    在贝叶斯视角下,前文提到的一些问题得到解答:
    • q的选择:q是零假设被错误拒绝的估计贝叶斯概率(先验\pi_0取上界1)。它更好理解,而且不再是频率,因此没有R=0时的问题。
    • 独立性假设:Fdr(z) = \pi_0F_0(z)/F(z),此处z是向量,而我们考虑的是多元累积概率。而用到的是F的经验估计。因此这中间不再关注z_i间是否独立。
    • 决策标准:HB过程仅控制Fdp的期望就够了么?这依赖于Fdr估计的精确度,还有Fdr = E \{ Fdp \}的精确度。
    • 左尾、右尾和双尾推断:从贝叶斯观念看,双尾的后验推断下拒绝域Z范围更大、精度更低
    • 假阴性发现率:从本文开头的图可知Fnp = (N_1 - b) / (N - R),容易发现贝叶斯解释同样适用于Fnp

    4.4 FDR控制是“假设检验”么

    一般认为BH过程是多重假设检验过程,但是在4.3的解释中似乎不太像,怎么理解它呢?
    假设我们选择的决策区间为\mathcal R,H0下落入区间的期望数为e_0 ( R),R为观测到的显著数,则估计的错误发现率为:


    由于当它小于q时我们认为这R个假设显著,也就是判断等价于为R的不等式

    在泊松独立假设下


    显然可以找到某个显著水平为“\alpha”级别的显著规则
    R \geq Q_\alpha
    经验贝叶斯发现率控制后,会处于“R个发现全部为真”和“R个发现中存在真”之间。它更像是一个估计而不是检验统计量:对R个发现中的错误比例进行估计。

    4.5 Benjamini–Hochberg算法的变种

    以下介绍两种。

    • 评估\pi_0
      HB相当于将\pi_0取上界1来评估,会存在高估,如何更准确评估\pi_0呢?
      如果定义一个没有正确发现的区间


      如果将N_+的观测值带入,可以得到

      一般区间的取法为,找一个以H0为中心划一个区间


      事实上这个概率估算并不特别重要,\pi_0取0.9与取1的差异非常小,更重要也更难的是如何计算概率密度函数,会在第6章展开。
    • 微阵列的显著性分析
      如第2章中的例子,如果X是一个N*n的矩阵,其分为实验组和对照组,则我们可以计算得到向量\mathcal z = (z_1,z_2,...,z_N)'

      1 此算法构建B个N*n的矩阵X^*,每一个矩阵都是由原始矩阵随机排序后得到的(将原来的实验组与对照组混合,随机分为两组得到矩阵,重复B次),可以计算对应的z^*;
      2 对每个矩阵z^*内的值进行排序,记作z^{*b},则可计算


      对应的也可以将z排序得到Z
      3 绘制

    4 选择一个正的常数\Delta,定义如下区间

    也就是说C_{up}是第一个Z_i超出经验区间的点,C_{lo}是第一个低于经验区间的点。
    上图中\Delta=0.7C_{up}(\Delta)=3.29C_{lo}(\Delta)=-3.34
    5 定义R(\Delta)[C_{lo}(\Delta), C_{up}(\Delta)]区间外的z_i的数量,而R^*(\Delta)是对应的z_i^{*b}数量
    6 最终可以计算得到对应的

    SAM过程通过搜寻\Delta,使6中结果等于预设的q,从而控制FDR水平。
    为什么可以控制?
    将4区间外的认为显著,则显著的累积经验概率为

    同理,零假设下显著的累积经验概率为
    因此

    相关文章

      网友评论

          本文标题:4 控制错误发现率

          本文链接:https://www.haomeiwen.com/subject/mjckqrtx.html