多重检验

多重检验( Multiple Testing )也称多重比较( Multiple Comparisons ), 即同时检验多个假设。假设有 m 个检验,记为 H1,H2,…,HmH_1, H_2, \dots, H_m. 称检验是显著的( significant ), 如果拒绝零假设;否则,称检验是不显著的( non-significant ). 下表定义不同类型的错误:

/ 零假设为真 备择假设为真 总计
significant VV SS RR
non-significant UU TT m−Rm-R
总计 m0m_0 m−m0m-m_0 mm

其中, mm 是检验个数, m0m_0 是真的零假设个数(未知参数),m−m0m-m_0 是真的备择假设个数。VV 是假阳性( false positives, Type I error )数,也称假发现( false discoveries )。SS 是真阳性( true positives )数,也称真发现。UU 是真阴性( true negatives )数, TT 是假阴性( false negatives, Type II error )数。R=V+SR=V+S 是拒绝零假设的个数,也称发现( discoveries ). 在mm 个检验中, m0m_0 是真的零假设数,RR 是可观测的随机变量, S,T,U,VS, T, U, V 不可观测。

例子: 一个人声称某硬币质地不均匀,如果扔10次结果至少有9次正面朝上。检验

H0:硬币均匀H1:硬币不均匀

H_0 : \,\, \mbox{硬币均匀}\qquad H_1 : \,\, \mbox{硬币不均匀}

PH0(扔10次结果至少有9次正面朝上)=(109)(12)912+(1010)(12)10=0.0107\mathcal{P}_{H_0}(\mbox{扔10次结果至少有9次正面朝上})= \binom{10}{9} (\frac{1}{2})^9 \frac{1}{2}+ \binom{10}{10}(\frac{1}{2})^{10}=0.0107, 在 α=0.05\alpha=0.05 水平下,拒绝 H0H_0, 即该硬币是不均匀的。
下面检验多枚硬币的均匀性,不妨设100枚硬币。一个均匀硬币掷10次至少出现9次正面的概率是0.0107, 那么100枚硬币被认为是均匀的概率为 (1−0.0107)100≈0.34(1-0.0107)^{100}\approx 0.34. 因此,单个检验的均匀准则应用于多个检验时,更可能假发现至少一个(概率是1-0.34=0.66). 这个例子说明重检验提高了 Type I error rate.

称至少犯一次错误,即一个假阳性的概率为 family-wise error rate(FWER), 记为 α¯\bar{\alpha}, 即

α¯=1−(1−α)m

\bar{\alpha}=1-(1-\alpha)^m
如果不假设各检验独立,则由 BooleBoole 不等式,有 α¯≤kα\bar{\alpha}\le k\,\alpha.

控制程序

这里讨论控制 FWER≤α¯FWER\le \bar{\alpha} 的方法。

  • Bonferroni Correction

令 αpertest=α¯m\alpha_{per\,test}=\dfrac{\bar{\alpha}}{m}, 该方法不假定分布和检验的独立性。

假设 H1,H2,…,HmH_1, H_2, \dots, H_m 是一族检验,p1,p2,…,pmp_1, p_2, \dots, p_m 为对应的 p-values,
FWER 为拒绝至少一个真实的 HiH_i 的概率,即犯至少一次 Type I error.

Bonferroni 校正拒绝零假设,若 pi≤αm,i=1,2,…,mp_i\le \dfrac{\alpha}{m},\,i=1,2,\dots,m. 因为

FWER=P{⋃i=1m0(pi≤αm)}≤∑i=1mP{pi≤αm}≤m0αm≤α

FWER=\mathcal{P}\{ \displaystyle\bigcup_{i=1}^{m_0}(p_i \le\dfrac{\alpha}{m}) \}\le\sum\limits_{i=1}^m \mathcal{P}\{p_i\le\dfrac{\alpha}{m}\}\le m_0 \dfrac{\alpha}{m}\le\alpha
注意:该方法不需要假定 p-values 之间的关系。但它是相当保守的,即它试图使你甚至不犯一次假发现的错误。更合理的办法是控制假发现率( false discovery rate, FDR ).

  • 控制假发现率

FDR 用来控制假发现,即不正确地拒绝零假设的期望比例。定义

FDR=E(VR)=E(VV+S)

FDR=E(\dfrac{V}{R})=E(\dfrac{V}{V+S})
定义 VR=0\dfrac{V}{R}=0, 如果 R=0R=0.

Benjamini-Hochberg 程序控制 FDR 在水平 α\alpha 以下,具体地:

(1). 设有 mm 个检验 H1,H2,…,HmH_1, H_2, \dots, H_m, 对应 p-Values p1,p2,…,pmp_1, p_2, \dots, p_m, 排序为
p(1)≤p(2)≤⋯≤p(m)p_{(1)}\le p_{(2)}\le\cdots\le p_{(m)}

(2). 给定 α\alpha, 找到最大的 kk, 使得 p(k)≤kmαp_{(k)}\le \dfrac{k}{m}\alpha

(3). 拒绝所有的 H(i),i=1,2,…,kH_{(i)}, i=1,2, \dots,k

BH 校正满足: E(Q)≤m0mα≤αE(Q)\le \dfrac{m_0}{m}\alpha\le\alpha.

精彩内容,请关注微信公众号“统计学习与大数据”!

统计学习(四):多重检验与控制程序相关推荐

  1. 统计学习导论之R语言应用(四):分类算法R语言代码实战

    统计学习导论之R语言应用(ISLR) 参考资料: The Elements of Statistical Learning An Introduction to Statistical Learnin ...

  2. 统计学习导论(ISLR)(四):分类算法

    统计学习导论(ISLR)

  3. 【统计学习系列】多元线性回归模型(四)——模型的参数估计II:区间估计

    文章目录 1. 前文回顾 2. ***β*** 的区间估计 2.1 t统计量的构造 2.2 估计区间 3. *σ* 的区间估计 3.1 卡方统计量的构造 3.2 估计区间 4. ***y*** 的区间 ...

  4. 统计学习(四):重抽样方法

    文章目录 重抽样方法 交叉验证法 验证集方法 k​折交叉验证法 偏差--方差均衡 交叉验证法在分类问题中的应用 自助法 重抽样方法 重抽样方法(resampling method)是一种不可或缺的工具 ...

  5. 统计学习圣经!经典教材《统计学习导论》Python版

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 编辑:张倩,来源:机器之心 <统计学习导论>很经典,但习题用 ...

  6. 经典教材《统计学习导论》现在有了Python版

    来源:机器之心 本文约1000字,建议阅读5分钟 <统计学习导论>很经典,但用的是 R 语言,没关系,这里有份 Python 版习题实现. 斯坦福经典教材<The Element o ...

  7. 《深度学习,统计学习,数学基础》人工智能算法工程师手册:程序员写的AI书,50 章一网打尽...

    来源:专知 本文约3400字,建议阅读10+分钟. 免费开源人工智能手册,带你快速上手写代码! [ 导读 ]市面上很多人工智能相关的书籍.大部分的书,面向小白,内容深度不够:小部分教材书或者科研书,内 ...

  8. 【重磅】Python版《统计学习导论》来啦!附代码链接!

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 <统计学习导论>很经典,但用的是 R 语言,没关系,这里有份 Python 版习题实 ...

  9. 发表了一篇英文长文:语义信息G理论和逻辑贝叶斯推理for统计学习

    来源:人机与认知实验室 [本文是鲁晨光老师发表的一篇关于语义信息论和统计学习的论文写后感,发表在科学网上,特摘录推荐] 2019-8-21 01:04 |个人分类:信息的数学和哲学|系统分类:论文交流 ...

  10. 没有统计学基础可以学python-没错!经典教材《统计学习导论》现在有了 Python版!...

    点击关注"Python学习与数据挖掘" 更多超级干货第一时间推送给你哦!!! <统计学习导论>很经典,但用的是 R 语言,没关系,这里有份 Python 版习题实现. ...

最新文章

  1. SQL99标准中的查询(MySQL)
  2. android 通讯录字母排序,Android仿微信联系人字母排序效果
  3. 【渝粤题库】广东开放大学 Java高级编程技术 形成性考核
  4. MATLAB接收机位置解算,GPS-receiver GPS软件接收机代码 完整的捕获 解算定位 (可 8个通道) matlab 240万源代码下载- www.pudn.com...
  5. [转】:Android调试工具及方法
  6. python *args **kargs
  7. 使用OStressSQL Server压力测试
  8. azure上传代码_深入了解Azure Data Studio:更多代码和更少GUI
  9. DM9000驱动分析之初始化
  10. 工商银行在线支付接口
  11. USB TYPE A B C 引脚定义
  12. POJ-1144 Network——Trajan+割点
  13. 利用python-pptx包批量修改ppt格式
  14. 如何用命令行的形式进行仿真及do脚本的使用(仿真工具使用技巧)【Modesim/Questasim】
  15. 车牌号测试打分最准确的软件,车牌号码吉凶测试
  16. C++数论库:NTL
  17. 3年功能测试经验,面试拿到15k难吗?
  18. springboot学习中的错误
  19. WorkNC如何创建夹具系统 (以虎钳为例)
  20. 利用mammoth.js将doc文档转为html

热门文章

  1. 【转】修改UCGUI源代码以支持多个独立窗体的说明
  2. dede首页如何调用单页文档内容标签
  3. 【实践】基于百度地图API实现的地图形式天气预报【一】
  4. ssh与tcp wappers
  5. JS使用setInterval定时器导致前端页面卡死
  6. 计算机网络物理层之信道复用技术
  7. The Top 8 Security and Risk Trends We’re Watching
  8. web基础、tomcat搭建
  9. 实操指南|数据分析遇上餐饮业
  10. Socket选项系列之TCP_NODELAY