FDR

FDR(false discovery rate),是统计学中常见的一个名词,翻译为伪发现率,其意义为是 错误拒绝(拒绝真的(原)假设)的个数占所有被拒绝的原假设个数的比例的期望值

错误拒绝真/拒绝总数

FDR(false discovery rate),是统计学中常见的一个名词,翻译为伪发现率,其意义为是 错误拒绝(拒绝真的(原)假设)的个数占所有被拒绝的原假设个数的比例的期望值。

统计学中的假设检验的基本思路是:
设立零假设(null hypothesis)H0,以及与零假设 相对应的非零假设(alternative hypothesis, or reject null hypothesis) H1,在假设H0 成立的前提下,计算出H0发生的概率,若 H0 的发生概率很低,基于小概率事件几乎不可能发生,所以可以拒绝零假设

但是这些传统的假设检验方法研究的对象,都是一次试验

FDR (false discovery rate),中文一般译作错误发现率。在转录组分析中,主要用在差异表达基因的分析中,控制最终分析结果中,假阳性结果的比例。

为什么要用FDR
一般来说,我们认为,不同样品中,表达量差异在两倍以上的转录本,是具有表达差异的转录本。为了判断两个样品之间的表达量差异究竟是由于各种误差导致的还是本质差异,我们需要根据所有基因在这两个样本中的表达量数据进行假设检验。常用的假设检验方法有t-检验、卡方检验等。很多刚接触转录组分析的人可能会有这样一个疑问,一个转录本是不是差异表达,做完假设检验看P-value不就可以了么?为什么会有FDR这样一个新的概念出现?这是因为转录组分析并不是针对一个或几个转录本进行分析,转录组分析的是一个样品中所转录表达的所有转录本。所以,一个样品当中有多少转录本,就需要对多少转录本进行假设检验。这会导致一个很严重的问题,在单次假设检验中较低的假阳性比例会累积到一个非常惊人的程度。举个不太严谨的例子。假设现在有这样一个项目:

● 包含两个样品,共得到10000条转录本的表达量数据,

● 其中有100条转录本的表达量在两个样品中是有差异的。

● 针对单个基因的差异表达分析有1%的假阳性。

由于存在1%假阳性的结果,在我们分析完这10000个基因后,我们会得到100个假阳性导致的错误结果,加上100条真实存在的结果,共计200个结果。在这个例子中,一次分析得到的200个差异表达基因中,有50%都是假阳性导致的错误结果,这显然是不可接受的。为了解决这个问题,FDR这个概念被引入,以控制最终得到的分析结果中假阳性的比例。

FDR的计算是根据假设检验的P-value进行校正而得到的。一般来说,FDR的计算采用Benjamini-Hochberg方法(简称BH法),计算方法如下:

*1. 将所有P-value升序排列.P-value记为P,P-value的序号记为i,P-value的总数记为m
2. FDR(i)=P(i)m/i
3. 根据i的取值从大到小,依次执行FDR(i)=min{FDR(i),FDR(i+1)}

注:实际上,BH法的原始算法是找到一个最大的i,满足P≤i/m*FDR阈值,此时,所有小于i的数据就都可以认为是显著的。在实践中,为了能够在比较方便的用不同的FDR阈值对数据进行分析,采用了步骤3里的方法。这个方法可以保证,不论FDR阈值选择多少,都可以直接根据FDR的数值来直接找到所有显著的数据。
下面我们以一个包含10个数据的例子来看一下FDR计算的过程

在这个例子中,第一列是原始的P-value,第二列是排序后的序号,第三列是根据P-value校正得到的初始FDR,第四列是最终用于筛选数据的FDR数值。如果我们设定FDR<0.05,那么绿色高亮的两个数据就是最终分析认为显著的数据。
在这个例子中,第一列是原始的P-value,第二列是排序后的序号,第三列是根据P-value校正得到的初始FDR,第四列是最终用于筛选数据的FDR数值。如果我们设定FDR<0.05,那么绿色高亮的两个数据就是最终分析认为显著的数据。

FDR的阈值选择在转录组分析中是非常重要的一个环节,常用的阈值包括0.01、0.05、0.1等。实践中也可以根据实际的需要来灵活选择。例如,在做真菌或者原核生物的转录组分析时,由于这些物种转录本数量较少,假阳性累积的程度较低,所以可以适当将FDR阈值设置的较高一些,这样可以获得较多的差异表达结果,有利于后续的分析。

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FDR (False Discovery Rate) 是一种控制多重检验中的错误发现率的方法。它是由Benjamini和Hochberg在1995年提出的。他们的方法的目标是控制在一个预设的水平以下的FDR,并在此基础上,后续的研究提出了更加精确估计FDR的方法,例如Storey的、Broberg的、Dalmasso的、Guan的和Strimmer的方法等。Benjamini的方法将FDR控制在一个水平以下,而后续的方法与此方法相比更具有强大的统计力度,但也牺牲了鲁棒性。 在数据分析中,常常会遇到多重检验问题,即对于多个假设进行统计检验。Benjamini在1995年提出了一种方法,通过控制FDR (False Discovery Rate) 来确定P值的阈值。假设选出了R个差异表达的基因,其中有S个是真正有差异表达的,而另外有V个实际上却没有差异表达,是假阳性。在实践中,希望错误比例Q=V/R的平均值不能超过预先设定的值(例如0.05),在统计学上,这等价于控制FDR不超过5%。 至于Python中如何计算FDR,我找到了一个使用SHD函数的代码示例:`cdt.metrics.SHD(target, pred, double_for_anticausal=True)`,其中`target`是目标变量的真实值,`pred`则是预测值,`double_for_anticausal`则是一个参数,用于指定是否将反因果结构计算两次。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [FDR多重检验校正原理及Python实现方法](https://blog.csdn.net/weixin_39818264/article/details/113981441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [对于因果模型的常见评估函数:SHD 和 FDR](https://blog.csdn.net/weixin_55703970/article/details/124239263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值