R语言-FDR校正的原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言-FDR校正的原理相关的知识,希望对你有一定的参考价值。

参考技术A 假设检验的原理

step1:把P值从大到小排序
step2:公式:p * (总数/p的位次)
【但是,得注意下一条的第一点,建议还是R直接一步到位】

1.如果某一个p值所对应的FDR值大于前一位p值(排序的前一位)所对应的FDR值,则放弃公式计算出来的FDR值,选用与它前一位相同的值。

2.P值都小于1。

Multiple Testing | 多重假设检验 | FDR

RNA-seq数据分析中,为了鉴定两个group 差异表达的基因,会针对每一个基因分别做假设检验(例如T-test),这里会出来一个P-value,但是往往R中专门做差异表达的package,还会有Adjusted-P 这么一个P-value。或者我们经常会碰到FDR这个概念。这些说的都是Multiple Testing。

1. 首先当我们要针对多个特征(例如基因)做假设检验时,由于每次检验都有一定几率会发生第一类错误(Type I errors/false positives),所以每进行一次假设检验,就会降低整体(所有假设检验)的结果的可信度,随着检验次数的增加,至少出现一次错误的可能性也在增加。这里用抛不同硬币的例子很形象这个案例也很好

2. 所以就要对P-value进行调整(上调),以减小整体的FDR。比较温和的方法是Holm-Bonferroni。见下图。

技术图片

技术图片

3. 那么如何在python中做multiple testing呢

首先要对自己的数据每一个feature做testing (T-test/ Wilkson 等),然后再用statsmodels 中的multipletests方法,详见该链接

 

以上是关于R语言-FDR校正的原理的主要内容,如果未能解决你的问题,请参考以下文章

R语言计算FDR/p-value

R语言Logistic回归模型案例(绘制列线图校正曲线):研究低出生体重婴儿的核心影像因素

R语言cox回归模型案例(绘制列线图校正曲线):放疗是否会延长胰脏癌手术患者的生存时间

R语言Bonferroni校正的成对t检验进行事后检验(post hoc)实战:单因素方差分析告诉我们并不是所有的群体手段的效果是均等的,确切地找出哪些组彼此不同使用Bonferroni校正检验

Matlab FDR校正的使用

R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier)输出异常值对应的统计量p值以及Bonferonnii校正p值