p值还是 FDR ?
p值还是 FDR ?
经常有同学询问如何筛选差异的基因(蛋白)。已经计算了表达量和p value值,差异的基因(蛋白)太多了,如何筛选。其中最为关键的是需要对p value进行校正。
基本概念:
零假设:在随机条件下的分布。
p值:在零假设下,观测到某一特定实验结果的概率称为p值。
假阳性:得到了阳性结果,但这个阳性结果是假的。
假阴性:得到了阴性结果,但这个阴性结果是假的。
单次检验:
针对单个基因(蛋白),采用统计检验,假设采用的p值为小于0.05,我们通常认为这个基因在两个(组)样本中的表达是有显著差异的,但是仍旧有5%的概率,这个基因并不是差异基因。
单多次检验:
当两个(组)样本中有10000个基因采用同样的检验方式进行统计检验时,这个时候就有一个问题,单次犯错的概率为0.05, 进行10000次检验的话,那么就有0.05*10000=500 个基因的差异被错误估计了。
多重检验矫正:
为了解决多次检验带来的问题,我们需要对多次检验进行校正。那如何校正呢?在此介绍两种方法:
Bonferroni 校正法
Bonferroni校正法:如果进行N次检验,那么p值的筛选的阈值设定为p/N。 比如,进行10000次检验的话,如果p值选择为0.05, 那么校正的p值筛选为0.000005。 p值低于此的基因才是显著性差异基因。
该方法虽然简单,但是过于严格,导致最后找的差异基因很少,甚至找不到差异的基因。FDR(False Discovery Rate) 校正法
FDR错误控制法是Benjamini于1995年提出的一种方法,基本原理是通过控制FDR值来决定p值的值域。相对Bonferroni来说,FDR用比较温和的方法对p值进行了校正。其试图在假阳性和假阴性间达到平衡,将假/真阳性比例控制到一定范围之内。
那么怎么从p值来估算FDR呢,人们设计了几种不同的估算模型。其中使用最多的是Benjamini and Hochberg方法,简称BH法。该方法分两步完成,具体如下:
2.1 假设总共有m个候选基因,每个基因对应的p值从小到大排列分别是p(1),p(2),…,p(m)
2.2 若想控制FDR不能超过q,则只需找到最大的正整数i,使得 p(i)<= (i*q)/m . 然后,挑选对应p(1),p(2),…,p(i)的基因做为差异表达基因,这样就能从统计学上保证FDR不超过q。
如何实现多重检验:
如果你了解R语言的话,那么采用p.adjust方法就可以了。
p值还是 FDR ?的更多相关文章
- Population-based metagenomics analysis reveals markers for gut microbiome composition and diversity
读paper的时候觉得自己就是个24K纯学渣(=.=)一大堆问题等着我去解决...所以在这里写一个Q&A好了,先列问题,逐步填充答案- ××××××××××××××××××我是分割线么么哒×× ...
- ONCOCNV软件思路分析之tumor处理
前期处理 perl脚本统计RC(RC(read counts)) 读入control baseline 和 sigma(最后baseline 预测的mad值) 将gc < 0.28或gc > ...
- 生信基础知识【04】GO和pathway分析
非原创 参考资料: 一文掌握GO和pathway分析 - 生物信息学讨论版 -丁香园论坛http://www.dxy.cn/bbs/thread/34904124#34904124 GO富集 GO是G ...
- 【R方差分析】蛋白质表达量多组比较
初始数据类似: 蛋白质组数据虽不是严格的正态分布,但目前最常用的检验方法还是T检验(两组比较)和方差分析(多组比较).这个话题值得深究,这里不展开. 主要是求多个蛋白的Pvalue值或FDR,用于差异 ...
- FDR错误发现率-P值校正学习[转载]
转自:https://baike.baidu.com/item/FDR/16312044?fr=aladdin https://blog.csdn.net/taojiea1014/article/d ...
- MongoDB学习笔记~MongoDB实体中的值对象
回到目录 注意,这里说的值对象是指在MongoDB实体类中的,并不是DDD中的值对象,不过,两者也是联系,就是它是对类的补充,自己本身没有存在的价值,而在值对象中,也是不需要有主键Id的,这与DDD也 ...
- matlab FDR校正
http://home.52brain.com/forum.php?mod=viewthread&tid=27066&page=1#pid170857 http://www.mathw ...
- SPM FDR校正
来源: http://blog.sciencenet.cn/blog-479412-572049.html,http://52brain.com/thread-15512-1-1.html SPM8允 ...
- 假设检验:p-value,FDR,q-value
来源:http://blog.sina.com.cn/s/blog_6b1c9ed50101l02a.html,http://wenku.baidu.com/link?url=3mRTbARl0uPH ...
随机推荐
- CentOS添加环境变量
添加这个两个路径:/usr/local/webserver/python/bin:/usr/local/webserver/mysql/bin 方法一:直接运行命令export PATH=$PATH: ...
- 微信小程序-获取当前城市位置及再次授权地理位置
微信小程序-获取当前城市位置 1. 获取当前地理位置,可通过wx.getLocation接口,返回经纬度.速度等信息; 注意---它的默认工作机制: 首次进入页面,调用该api,返回用户授权结果,并保 ...
- zookeeper 常用cLi命令
官网:https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc_zkCommands stat path [watch] set p ...
- kafka 消费者 timeout 6000
kafka 消费者 timeout 6000 1:查看zookeeper 的状态,kafka默认是自带zookeeper配置,我建议安装单独的zookeeper 服务,并且配置文件也很简单..直接改 ...
- js 事件event
var EventUtil = { addHandler: function(element,type,handler){ if(element.addEventListener){ element. ...
- msf客户端渗透(七):跳板、post模块、自动运行脚本
跳板 假设有这样一个场景,有一个局域网内网网关是1.1.1.1,局域网里的主机1是kali,它经过一个防火墙连接到公网,主机2和主机3在另一个内网网关为2.1.1.1的局域网,由于防火墙做了设置,只有 ...
- 制作u盘kali系统启动盘
准备好一个容量大于8G的u盘,和kali系统的镜像文件. 下载universal-usb-install软件,打开设置如下,create等待几分钟. 下载minitool分区工具,插入u盘,打开min ...
- 两种创建Observable的方法(转)
转自:http://blog.csdn.net/nicolelili1/article/details/52038211 Observable.create() create()方法使开发者有能力从头 ...
- IMPDP NETWORK_LINK参数
在<[IMPDP]同一数据库实例不同用户间数据迁移复制—— NETWORK_LINK参数>(http://space.itpub.net/519536/viewspace-631571)文 ...
- javaWEB登录ajax传值
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...