最近在看一本书《赤裸裸的统计学》,其中有两章节讲的是中心极限定理以及统计推断与假设检验,看完后瞬间勾起我去统计推断的兴趣,想到了平时用的T检验,所以准备将统计学的一些基础知识好好补一补,就先从整理下对于T检验的粗浅理解好好补一补,就先从整理下对于T检验的粗浅理解 统计推断是指根据总体的理论分布,从样本的统计数(平均值等)对总体参数做出推断;假设检验只是其一种,主要是通过提出假设,然后通过小概率理论来做出推断
先整理下一些常见的基本概念
- 如果总体服从正态分布,那么进行重置抽样,其样本平均数也满足正态分布(方差等于总体方差除以样本数)
- 如果总体不服从正态分布,但根据中心极限定理,当样本数大于等于30时(属于大样本),那么也可以认为样本平均数的分布是正态分布
- 大数定理:样本容量越大,样本统计数与总体参数之差越小。所以如果从总体中抽取的随机变量越多,就可以使用样本的统计数来估计总体参数
- 当总体方差未知并且样本容量小于30,如果还要用样本方差来估计总体方差,那么这时不再服从正态分布了,而是t分布了
除了常规我们了解的通过假设检验来看看一些新药是否有效等情景,还有就是在组学数据(转录组/蛋白组/代谢组等)中的应用,如比较两组间的某个基因/转录本/蛋白/代谢物等是否存在显著性差异,所以有时假设检验也被称为显著性检验。这时通过假设检验,我们可以知道两组间某个指标的差异是由于处理效应还是随机误差所导致的,从而得出相对可靠的结论
常见的样本假设检验有平均数的检验、频率的检验以及方差的检验,根据一些不同限制条件则又要采用不同的检验方法,如T检验,还有u检验、F检验等;但在生物学的一些实验中,由于总体方差未知、样本数较少(一般就3个生物学重复)等条件限制,当我们要用假设检验来对两组样本数据进行分析时则需要用T检验进行分析,如果是多组样本则可以采用方差分析
PS. 以上前提是样本来自于正态分布的总体,尽管我们知道根据中心极限定理,当样本数大于等于30时,样本平均数的分布可以认为是正态分布,但是一般实验谁能达到30个样本呢,所以有时只能默认为总体服从正态分布了。
以前还是芯片主流时,对于芯片数据可以基于以上理论通过T检验(假设检验)的方法来确定样本处理前后哪些基因发生了显著性的表达,因为普遍认为其数据是服从正态分布的。但随着NGS的广泛应用,传统的T检验(由于其是基于正态分布)已经很少在NGS数据分析(如转录组数据)中出现了,一些基于负二项式模型差异分析软件(DESeq/edgeR)在转录组数据分析中更加流行,因为大家认为转录组定量后的count数一般是服从负二项式分布(我也只局限于听别人说,还未真正探究过其深层次的原理)。而对于蛋白组/代谢组等质谱数据还是默认服从正态分析,因此在这两个组学数据分析中,T检验还是作为一种常规差异分析手段
假设检验步骤(教科书版)
- 提出假设
- 确定显著水平
- 计算统计数对应的概率
- 推断是否接受假设
生物学上实际例子则是:
- 假设两组样本的均值没有差别,这是零假设,也被称为'无效假设',即两组样本的处理是无效的;对应的则是'有效假设',备择假设,跟零假设是对应关系;如果否定了零假设,则接受备择假设,说明了该处理是有效的
- 然后确定概率的阈值,通常我们会说是否显著就是根据这个概率来的;如当概率小于0.05时,则否定零假设;有时也会将概率设为0.01
- 在零假设的前提下,计算两个样本的均值相等的概率是多少,这个是T检验的重点应用场景,下面重点梳理下
- 根据上述计算出的概率值以及小概率原理,来确定是否要推翻零假设(即接受备择假设)还是要接受零假设,这步则是统计推断的魅力所在,从小样本来推断总体的情况;相当于虽然你每组样本只有3个重复,但是我从3个样本的出来的数据可以说明总体样本的情况,这是多么有效的处理方式!
以前刚接触T检验这个假设检验的时候,有时会听到两个说法:单样本t检验和两样本t检验(也就是one sample T-test and Two samples T-test),其实前者可以理解为:是用样本均数所属的未知总体均数和已知总体均数进行比较,看样本与总体的真实差异有多大;后者可以理解为:对两组样本均数所属的总体均数进行比较,看两组样本总体的均值的差异
单样本t检验:几组测量值(生物学重复)相互独立,数据符合正态分布,并且已知总体均值等信息,可以认为是一个样本平均数的假设检验
两样本t检验:每组数据必须服从正态分布;如果是成组数据均数比较的T检验,还需满足两组样本之间相互独立,并且满足方差齐性(F检验),无视样本数目是否相等;从中可看出需要满足的条件不少,这是因为只有满足这些前提条件下,计算出来的t统计量才服从t分布,而T检验是以t分布作为理论基础的
如果是成对(配对)数据均值比较的T检验,需保证两组样本间配偶成对(所以至少样本数目是要一致的),每对样本除了给予的处理不同外,其他条件必须保持一致,那么应该能有以下几种情况:
- 同一受体,给予两个不同的处理,观测某个指标在不同处理下的数值;在生物实验设计中则是给予同一个模型个体两次不同处理,看看基因表达水平/蛋白丰度是否发生显著性变化,这属于自身配对设计
- 两个同来源的受体,分别随机给予两种不同的处理;同一窝的小鼠模型,取两只配成一对,用随机方法给予其中一只A处理,另外一只B处理,然后再看看上述的那些指标的变化,这里的特指同一窝!属于同源配对设计
- 还有一种是条件相近者配对设计,即将条件(即重要的非处理因素)最接近的每两只受体配成一对,其他与同源配对设计相同,感觉这种条件比同源配对稍微宽松点(其实这点我也不是很懂)
综上所述,其实如果是同个样本处理前后(或者说同一个体空白处理和真实处理),则可归纳于自身配对设计,所以癌组织和癌旁组织是要用配对检验的;还有则是如果一个模型先后用A药和B药,也是用配对检验(同源配对设计)
配对t检验相比成组t检验好处在于其不要求两组数据必须独立,也不要求总体数据满足方差齐性,有时总体数据也不一定要满足正态分布,只要其两组数据的差值服从正态分布即可
除了上述几点外,假设检验还有个是对于单尾还是双尾的选择。一般来说,按照现在组学分析的需求,主要用于检测基因的表达水平、蛋白丰度、甲基化水平以及代谢物含量等数据时,由于不能确定在某处理前后,上述指标是一定上升还是下降,所以是选择双尾
最后就是怎么用T检验来计算一组数据的是否具有显著差异了。从原理上来说,我们需要按照教科书上按照公式来计算,以成组T检验为例,首先加权求出均数差数的方差,所谓总体方差的估计,然后再求出两样本的均数差数的标准误差,最后求出t统计量,查表得到P值,根据P值来判断显著性,从而推断是否要推翻零假设(两样本均值没差异)
除上述方法外,有不少统计学软件可以使用,最简单的当属Excel的TTEST
函数了,设定两组数据、单尾/双尾、成组/配对后即可获得结果
最后一个方法也是我比较喜欢用的,R语言的t.test
函数;因为其除了T检验外,R语言还能使用其他任何一种统计学方法,值得好好学习下
参考资料:
生物统计学+网上资料
本文出自于http://www.bioinfo-scrounger.com转载请注明出处