假设检验:p-value,FDR,q-value
来源:http://blog.sina.com.cn/s/blog_6b1c9ed50101l02a.html,http://wenku.baidu.com/link?url=3mRTbARl0uPHHRFO9CdqhBNeUj-nb8dRwtqRN2oGqu8u1kN6IsqgYy-H8ggB7jOkPXhx703oM9YW9ftfOlh2dz7KJmlliOhDa4-WZFEEus_,http://www.dxy.cn/bbs/thread/28263194#28263194

(这图网上搜的...也是醉了)
(严超赣老师在DPARSF的教学视频中对为什么要进行FDR校正进行了详细的举例说明:
“单个体素,p = 0.05,即犯错概率为5%。但如果要对五个体素一起校正,那么犯错误概率就会变成 p = 1 - (0.95)^5 = 0.23。这样的话很容易就会出现“假阳性(false positive)”,即H0被错误拒绝的情况。再换句话说,随着体素数目增多,Ⅰ型错误(“弃真”错误)的概率增大了。但这种情况下,即使出现H0被拒绝,我们也不能说H0为假。为了控制这种情况。最简单的方法是把每个体素p值都减小,例如bonferroni's correction:假设需要所有5个体素犯错误概率为0.05,那么控制每个体素p = 0.05/5 = 0.01。但这种方法太严格,如果体素较多,例如100个,那么控制每个体素p = 0.005已经很难,更别说大脑中动辄上万个体素了。所以我们一般考虑其他更灵活的矫正方式,如FWE、FDR以及AlphaSim。”)
1. 按照和p-value类似的定义,Storey给出了q-value的定义。
3. 和BH控制不同,q值和pFDR正好相反,即通过选定的拒绝域Talpha去估计对应的q值,当q小于等于alpha时,可保证FDr小于等于alpha。Storey给出了关于q值和pFDR的估计算法。
4. 根据p-value或q-value可以计算对应的FDR,多重假设检验中拒绝H0的次数。
5. BH计算错误发现率时具有保守性,即在降低假阳性的同时,也减少了正确的假设。为此可采用q-value用于FDR计算。
在此加入严超赣老师在DPARSF教学视频中对FDR讲解(下图来自于视频PPT):
V:本来无显著差别的“宣布为”有显著差别,即错误判断的个数;R:总共报告有显著差别的个数。
则V/R代表:犯错误的几率。
那么FDR = E(V/R)表示:在所有报告有显著差异的个体中可能误报的比例,即Q value。
举例:Q = 0.05,那么报告了100个显著差异体素,其中最多有5个是实际上无显著差异的。
====================================================================
FDR错误控制法是Benjamini于1995年提出一种方法,通过控制FDR(False Discovery Rate)来决定P值的域值. 假设你挑选了R个差异表达的基因,其中有S个是真正有差异表达的,另外有V个其实是没有差异表达的,是假阳性的。实践中希望错误比例Q=V/R平均而言不能超过某个预先设定的值(比如0.05),在统计学上,这也就等价于控制FDR不能超过5%.
对所有候选基因的p值进行从小到大排序,则若想控制fdr不能超过q,则只需找到最大的正整数i,使得 p(i)<= (i*q)/m.然后,挑选对应p(1),p(2),...,p(i)的基因做为差异表达基因,这样就能从统计学上保证fdr不超过q。因此,FDR的计算公式如下:
q-value(i)=p(i)*length(p)/rank(p)
假设检验:p-value,FDR,q-value的更多相关文章
- matlab FDR校正
http://home.52brain.com/forum.php?mod=viewthread&tid=27066&page=1#pid170857 http://www.mathw ...
- 学习笔记49—matlab FDR校正
matlab自带函数mafdr,当ttest数较多时,可直接用[FDR, Q]=mafdr(P):但是Storey procedure在p值少于1000个时会崩溃,此时应改用BH FDR方法:mafd ...
- IGS_学习笔记03_Integrated SOA Gateway设定配置(案例)
20150506 Created By BaoXinjian
- 学习笔记50—多重假设检验与Bonferroni校正、FDR校正
总结起来就三句话: (1)当同一个数据集有n次(n>=2)假设检验时,要做多重假设检验校正 (2)对于Bonferroni校正,是将p-value的cutoff除以n做校正,这样差异基因筛选的p ...
- FDR错误发现率-P值校正学习[转载]
转自:https://baike.baidu.com/item/FDR/16312044?fr=aladdin https://blog.csdn.net/taojiea1014/article/d ...
- SAGE|DNA微阵列|RNA-seq|lncRNA|scripture|tophat|cufflinks|NONCODE|MA|LOWESS|qualitile归一化|permutation test|SAM|FDR|The Bonferroni|Tukey's|BH|FWER|Holm's step-down|q-value|
生物信息学-基因表达分析 为了丰富中心法则,研究人员使用不断更新的技术研究lncRNA的方方面面,其中技术主要是生物学上的微阵列芯片技术和表达数据分析方法,方方面面是指lncRNA的位置特征. Bac ...
- FDR校正
一.假设检验 假设检验的基本思路是: 设立零假设(null hypothesis)H0,以及与零假设H0相对应的非零假设(alternative hypothesis)H1,在假设H0成立的前提下,计 ...
- FDR
声明: 网上摘抄 False discovery rate (FDR) control is a statistical method used in multiple hypothesis test ...
- regression | p-value | Simple (bivariate) linear model | 线性回归 | 多重检验 | FDR | BH | R代码
P122, 这是IQR method课的第一次作业,需要统计检验,x和y是否显著的有线性关系. Assignment 1 1) Find a small bivariate dataset (pref ...
随机推荐
- 不用画线 设置UITableView的全屏分隔线
如图 添加如下代码 sTableView.separatorInset = UIEdgeInsetsZero; sTableView.layoutMargins = UIEdgeInsetsZero ...
- DOTA2参数收集
-language schinese 显示中文界面(使用英文语音的同学使用) -perfectworld 登陆国服(Steam平台) -novid 不显示启动动画
- 编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、 姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类—— TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测 试Stud
package zuoye; public class student { int age; String name; int stuNO; void outPut() { System.out.pr ...
- ASP.NET MVC 监控诊断、本地化和缓存
这篇博客主要是针对asp.net mvc项目的一些常用的东东做一个讲解,他们分别是监控诊断.本地化和缓存.虽然前两者跟asp.net mvc看上去好像是没什么关联. 但其实如果真正需要做asp.net ...
- java 读写word java 动态写入 模板文件
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import ja ...
- PHP用mb_string函数库处理与windows相关中文字符
昨天想批处理以前下载的一堆文件,把文件里的关键内容用正则匹配出来,集中处理.在操作文件时遇到一个问题,就是windows操作系统中的编码问题. 我们都知道windows中(当然是中文版),文件名和文件 ...
- linux的“自动化”
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- DataTable去除重复行,根据某一字段进行distinct
网上有很多方法,比如利用视图处理: //去掉重复行 DataView dv = table.DefaultView; table = dv.ToTable(true, new string[] { & ...
- Jmeter默认报告优化
一.本文目的: 之前写了两篇文章搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)和ANT批量执行Jmeter脚本,功能实现上都没有什么问题,但是最后生成的报告有一点小问题,虽然不影响使 ...
- Redhat使用CentOS的Yum 网络源
Redhat 的更新包只对注册的用户生效,所以我们自己手动更改成CentOS 的更新包,CentOS几乎和redhat是一样的. 1.首先查看redhat 7.0系统本身所安装的那些yum 软件包:[ ...