置换检验—结合GSEA解释

置换检验 

参考网址:https://www.plob.org/article/3176.html

置换检验(permutation test):利用样本数据的全(或随机)排列,进行统计推断的方法。特别适用于总体分布未知的小样本资料。

结合GSEA,解释permutation test:

首先,有两种phenotype(treat和control)的RNA-seq的结果,即每个基因在这两种phenotype中的表达量。这两种phenotype可看做是置换检验中的A、B组数据。

零假设:GO过程(如脂肪代谢)的基因在这两组数据上的表达量没有差异。

步骤:1)从RNA-seq结果中抽取出这些GO过程的基因的表达值(比如,GO过程中有100个基因落入RNA-seq的结果中)。这样得到A、B两组数据,A组有100个基因的表达值,B组有100个基因的表达值。

   2)将A、B的数据混在一起,打乱顺序。随机抽取100个数据作为A组的数据,剩余的作为B组的数据。共随机抽取1000次。统计量设为:A组的平均值-B组的平均值。

   3)根据2),得到1000个统计量的值。这些值代表了抽样总体情况。画出这1000个统计值的分布图。如下:

   4)再看看真实的RNA-seq数据中A组和B组的均值差(比如:14)。看看落入分布图的哪个区域。

   5)假如真实的均值差落入尾部,则说明:在零假设条件下,这个数出现的概率很低。只有9个值大于14,计算概率:P-value=9/1000=0.009.

   6)P-value值<0.01,差异显著。说明:GO过程(如脂肪代谢)的基因在这两组数据上的表达量是有差异的。

直观来讲,我想比较某个GO过程在A、B组中是否有差异。

用什么数据衡量?用GO过程基因集在A、B两组的表达值。

怎么衡量?看每个基因在A、B组上表达值是否有差异?

怎么衡量差异?看A组的基因表达均值,与B组的基因表达均值之差,看均值之差的大小?如果差大,说明A、B组有差异;如果差小,说明A、B组没有差异。(此时,A\B组的均值之差记为真实的均值差值。)

怎么衡量均值差的大小呢,怎么样是大,怎么样是小?用分布吧。用什么分布?正态分布?不知道参数。(这一步我也不太理解)

用检验吧。将A、B两组数据打乱,然后分成两组,看看这两组的均值之差。执行1000次前面的步骤,就得到1000个均值之差。看这1000个值的分布如何。

看分布不是我的目的,我的目的是:A、B两组的真实的均值差值,说明A、B两组有差异呢,还是没有差异。

将真实的均值之差放到分布中看。如果在分布图的尾端,说明真实的均值之差不在大多数情况中。如何衡量呢?用分布曲线下的面积来衡量,即P-value。如果P-value小,说明真实的均值之差在分布图中占的比例小。

总结:其实,做1000次抽样,是为了构造上面的分布图,有了分布图,才能确定我的真实值处在分布图中的什么位置。P-value是衡量我的真实值在分布图中的概率。

再衍生出统计量的概念,即上面提到的A、B两组的均值。

再联想到,点突变频率的P-value如何理解?Mutect的算法如何理解?

后续再补吧!

结合GSEA说明:

  随机抽取次数(比如上文的1000),即是GSEA中提到的number of permutation。次数越多,得到的统计量的值越多,抽样分布的值越多,抽样分布的分布图更接近真实值。看真实数据在此抽样分布图上的分布时,就更准确。

原文地址:https://www.cnblogs.com/zypiner/p/11819739.html

时间: 2024-10-15 00:22:46

置换检验—结合GSEA解释的相关文章

做预解释题的一点小方法和小技巧

在JavaScript中的函数理解中预解释是一个比较难懂的话题.原理虽然简单,寥寥数言,但其内涵却有深意,精髓难懂.如何在轻松活跃的头脑中将它学会,现在针对我在学习中的一点小窍门给大家分享一下,希望能给大家一些帮助: 万事需遵循"原理"--"预解释"无节操和"this"指向:(可先看例题解析然后结合原理进行学习) (感谢蕾蕾老师给归纳的预解释无节操原理:) 如果函数传参数则先于以下执行,就相当于在函数私有作用域下var了一个变量:根据作用域原理,

Android插件实例——360 DroidPlugin具体解释

在中国找到钱不难,但你的一个点子不意味着是一个创业.你谈一个再好的想法,比方我今天谈一个创意说,新浪为什么不收购GOOGLE呢?这个创意非常好.新浪一收购GOOGLE.是不是新浪就变成老大了?你从哪儿弄来钱?怎么去整合GOOGLE呢: 之前写过有关于Android 插件方向的文章,解析了一下Android的插件原理与执行方式.非常多小伙伴都问我.为什么不把我制作的插件放到Github上,让大家共享一下. 我仅仅能说.大哥啊,这个插件是我在公司研发的时候制作的,商业机密.不能开源啊. 刚好.近期逛

使用TCP时序图解释BBR拥塞控制算法的几个细节

周六,由于要赶一个月底的Deadline,因此选择了在家VPN加班,大半夜就爬起来跑用例,抓数据...自然也就没有时间写文章和外出耍了...不过利用周日的午夜时间(不要问我为什么可以连续24小时不睡觉,因为我觉得吃饭睡觉是负担),我决定把工作上的事情先放下,还是要把每周至少一文补上,这已经成了习惯.由于上周实在太忙乱,所以自然根本没有更多的时间去思考一些"与工作无关且深入"的东西,我指的与工作无关并非意味着与IT,与互联网无关,只是意味着不是目前我在做的.比如在两年前,VPN,PKI这

LoadRunner函数大全之中文解释

LoadRunner函数大全之中文解释

《巨婴国》:差评。伪科学/非科学,逻辑比较差,以偏概全,解释牵强,竖起一个稻草人打得挺嗨。1星

读后感觉比较差.只能给1星.相当于负分的水平. 作者认为中国人大部分是没长大的婴儿,不能正确处理人际关系,隐含地推论常见的心理疾病.变态人格.不正常情商都是巨婴病的表现,明确地推论巨婴理论可以解释许多世界历史和国际政治上的事情. 差评理由有下面几个: 1:“巨婴国”的学说到底是不是一个严肃的学术上的推论?我认为不是.我认为可以归入伪科学或非科学的范畴.作者虽然是北大心理学系的本科和硕士毕业,但是全书是浓郁的江湖派的风格.作者提到了一个惊世骇俗的“巨婴学说”,并且断定中国人大部分是“巨婴”,因此中

进程与线程的一个简单解释

作者: 阮一峰 日期: 2013年4月24日 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握. 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂. 1. 计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. 2. 假定工厂的电力有限,一次只能供给一个车间使用.也就是说,一个车间开工的时候,其他车间都必须停工.背后的含义就是,单个CPU一次只能运行一个任务. 3. 进程就好比工厂的车间,它代表CPU所能处理的

关于添加-objc后缀的解释

这是我直接复制别人的, 所说还有的不太懂, 但是感觉很有用(原文地址:http://www.th7.cn/Program/IOS/201403/181096.shtml): 最近在做一个项目的时候,需要使用到一个第三方库,这个库的使用向导里面特别说明,在添加完该库后,需要在Xcode的Build Settings下Other Linker Flags里面加入-ObjC标志,这个标志以前没使用过,所以我就专门研究了一下它的作用. 之所以使用该标志,和Objective-C的一个重要特性:类别(ca

【译】常见 Java 异常解释(恶搞版)

常见 Java 异常解释:(译者注:非技术角度分析.阅读有风险,理解需谨慎o(╯□╰)o) java.lang ArithmeticException 你正在试图使用电脑解决一个自己解决不了的数学问题,请重新阅读你的算术表达式并再次尝试. ArrayIndexOutOfBoundsException 请查看 IndexOutOfBoundsException.不同之处在于这个异常越界的元素不止一个. ArrayStoreException 你已用光了所有数组,需要从数组商店中购买更多的数组. C

图文解释XCode常用快捷键的使用

刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等.都不一样了.快速的掌握这些快捷键,能提供开发的效率. 其实快捷键在Xcode的工具栏里都标注有,只是有的符号和你的键盘上的符号对应不起来罢了.下面截图工具栏里的快捷键总结一下常用快捷键的用法. 一.关于运行调试 1.运行,停止,都在工具栏的Product里. Command + R  运行. Command + .  停止 2.F6单步调试.F7跳入,F8继续, 和Eclipse,VS类似 二.导航