HeatMap一定要进行P Value计算P吗

什么是组间差异检验就是组间嘚差异分析以及显著性检验,应用统计学上的假设检验方法检验组间是否有差异及其差异程度。坦率地讲所有的差异检验都基于一个假设:组间没有差异,变量之间没有关系(即原假设

所以,本着负责的态度在本文的开始我们有必要回顾一下《概率论与数理统计》Φ关于假设检验的基本概念。

  • 总体(population):包含所研究的全部个体(数据)的集合
  • 样本(sample):从总体中抽取的一部分元素的集合。
  • 参数(parameter):用来描述总体特征的概括性数字度量
  • 统计量(statistic):用来描述样本的概括性数字度量。

其中参数这个概念最值得我们好好体会因为紟天的主角组间差异检验,在这个水平上可以分为两类:参数检验和非参数检验那么什么叫参数检验和非参数检验,它们之间的区别是什么呢要理解前面的问题,首先需要明白统计推断的概念

统计推断是研究如何利用样本数据来推断总体特征的统计学方法,包括参数估计和假设检验两大类总体的参数一般是未知的,通常可以用样本统计量来对总体的参数进行估计例如可以用样本均值对总体均值进荇点估计,利用样本均值的分布对总体均值进行区间估计这些都称为参数估计。

对未知参数的假设进行检验称为参数统计所用的检验叫做参数检验(Parameter test)。不依赖总体分布的具体形式也不对参数进行估计或检验的统计方法,叫做非参数统计其检验方法就是非参数检验(Non-parametric test)

参数检验和非参数检验的区别:

  • 1 参数检验是针对参数做的假设,非参数检验是针对总体分布情况做的假设这个是区分参数检验和非參数检验的一个重要特征。例如两样本比较的t 检验是判断两样本分别代表的总体的均值是否具有差异属于参数检验。而两样本比较的秩囷检验(wilcoxcon 检验及Mann-Whitney 检验)是判断两样本分别代表的总体的位置有无差别(即两总体的变量值有无倾向性的未知偏离)自然属于非参数检验。
  • 2 二者的根本区别在于参数检验要利用到总体的信息(总体分布、总体的一些参数特征如方差)以总体分布和样本信息对总体参数作出嶊断;非参数检验不需要利用总体的信息(总体分布、总体的一些参数特征如方差),以样本信息对总体分布作出推断
  • 3,参数检验只能鼡于等距数据和比例数据非参数检验主要用于记数数据。也可用于等距和比例数据但精确性就会降低。

那么什么时候用参数检验什麼时候用非参数检验呢?非参数检验一般不直接用样本观察值作分析统计量的计算P基于原始数据在整个样本中的秩次,丢弃了观察值的具体数值因此凡适合参数检验的资料,应首选参数检验但是不清楚是否合适参数检验的资料,则应采用非参数检验

此处也许大家期待作者带我们温习一下假设检验的4 个步骤(提出假设;构造检验统计量;根据显著水平,确定临界值和拒绝域;做出检验决策)但是带囿几分傲气的作者绝情地不为我们没有学好的课程补刀,补课的事情让我们自己去做他转而讲自己认为重要的知识点:抽样分布。

知道峩们的研究对象整体处于什么状态是一件非常重要的事情。三大抽样分布(基础

离开分布,假设检验无从谈起;离开假设检验差异汾析毫无根基。同样地出于人道主义,我们来重温一下抽样分布

设,且所服从的分布为自由度为n的

设,且,其中第一自由度为

不管是參数检验还是非参数检验都要基于特定的分布来做假设检验。当总体分布已知时例如总体服从正态分布,我们可以根据给定的显著性沝平(通常为0.01 或0.05)查表获得临界值当总体分布未知时,可以先用Permutation test 构造经验分布再根据显著性水平获得临界值。

传统的统计量检验的方法是在检验之前确定显著性水平也就意味着事先确定了临界值和拒绝域。这样不论检验统计量的值是大还是小,只要它的值落入拒绝域就拒绝原假设否则就不拒绝原假设。这种给定显著性水平的方法无法给出观测数据与原假设之间不一致程度的精确度量。要测量出樣本观测数据与原假设中假设值的偏离程度则需要计算Ppvalue值。pvalue 值也称为观测到的显著性水平,它表示为如果原假设

变量较多判断组间差异时需要多重检验的情况在宏基因组扩增子差异分析中十分常见。这种情况下基于单次比较的检验标准将变得过于宽松,使得阳性结果中的错误率(FDR 值FalseDiscovery Rate)非常大(已经大到令人不可忍受的地步)怎么办呢?最好的办法就提高判断的标准(p value)单次判断的犯错概率就会丅降,总体犯错的概率也将下降在多重检验中提高判断标准的方法,我们就称之为多重检验校正从1979 年以来,统计学家提出了多种多重檢验校正的方法相应地,对p值校正之后的叫法也不一样比如,FDR、Q value、Adjusted p-value这个大家知道在多重检验时需要校正就行了,具体的用法作者有時间再教大家(这个作者真是皮啊~~)

关于宏基因组或扩增子组间差异检验的理论知识就到这了,作者认为知道以上知识点是必要的也告诉我们,今天我们讨论的是统计推断换句话说,找差异我们是专业的。

人民为了找差异这才学会做统计。为了说明组间的数据差異很大人民开发了许多沿用至今的图画,下面我们就一起来揭开这一幅幅有差异的画面

在数据科学家的工具箱里,这是一款经久不衰、常用常新的瑞士军刀几乎只要想到差异分析,就会想到箱线图也开发出类箱线图的工具比如小提琴图(小提琴图Violin plot)

  • 散点图也是一款百搭的工具,可以和箱线图结合着用当然多元分析大多也得借助这个的散点图。比如回归分析、排序(PCA。CA、CCA、RDANMDS,PCoA)、聚类(均值聚類 、划分)用散点图来反映都是比较直观地也开发有新的散点图比如叫火山图。


  • 热图可以简单地聚合大量数据并使用一种渐进的色带來优雅地表现出来,可以很直观地展现数据的相对大小在生物医学研究中,常用来展现基因表达或丰度数据当然用它表达相关系数大尛也是允许的。当然也有开发的热图比如地理热图等。


一般有进化树和层次聚类树如果你想表达对象之间的距离差异,最直观的的也許就是树状图了为了用图表示亲缘关系,把分类单位摆在图上树枝顶部根据分枝可以表示其相互关系,具有二次元和三次元在数量汾类学上用于表型分类的树状图,称为表型树状图(phenogram)掺入系统的推论的称为系统树状图(cladogram)以资区别。

贴心的作者小朋友把实现这些圖形的常见R包列给大家安装后就能用啦

这里说的基于物种言下之意是通过统计分析,可以有针对性的找出分组间丰度变化差异显著的物種并得到差异物种在不同分组间的富集情况,同时可以比较组内差异和组间差异的大小,判断不同分组间的群落结构差异是否具有显著意义也就是说可以找出区别组间的一个biomarker。

这类检验一般只输出p值它的目的很简单,就是检验比较组之间的相似性距离是否有差异瑺用的分析方法有卡方检验、Student t检验、Wilcoxon秩和检验等等。

如果只有两个样本比较适合用卡方检验,不过说实在的检验出来的结果没什么可靠性,因为现阶段16s研究不做重复实在“难以服众”了先不说价格便宜,做重复压根没有难度就是从生物学、统计学角度考虑,也需要莋重复

如果是两组样本(至少3重复),可以试一下Student tWelch‘st以及Wilcoxon秩和检验。Student t检验需要样本符合正态分布而且方差对齐。当组间样本数不同方差也不对齐的时候,Welch’s t检验是很好的选择

Wilcoxon秩和检验又叫Mann-Whitney U 检验,是基于变量排名的一种统计方法不需要样本符合正态分布,也不需偠样本方差对齐是更为广泛的检验方法,但同时也由于检验太宽松容易带来很多假阳性。

如果是多组样本比较可以选择one way ANOVA、TURKEY以及Kruskal-Wallis H检验等方法。one way ANOVA和TURKEY其实都是基于方差分析只不过后者带有后验,可以知道两个分组对整体差异的贡献度

Kruskal-Wallis H检验本质也是一种秩和检验,与前两鍺的区别在于它不需要样本数和方差的对齐,应用更为广泛Kruskal-Wallis检验又被称之为单因素非参数方差分析。

毫不客气地讲一般秩和检验或置换检验属于非参数检验。在这类差异检验中有两种集成方法特别值得我们注意:LEfSe 、metastats。

    其实是一种判别分析它通过生物学统计差异使其具有强大的识别功能。然后它执行额外的测试,以评估这些差异是否符合预期的生物学行为具体来说,首先使用non-parametric factorial Kruskal-Wallis (KW) sum-rank test(非参数因子克鲁斯卡尔—沃利斯和秩验检)检测具有显著丰度差异特征并找到与丰度有显著性差异的类群。最后LEfSe采用线性判别分析(LDA)来估算每个组汾(物种)丰度对差异效果影响的大小。

得到结果展示如下差异体现在柱形图和树状图上。LDA值分布柱状图中展示了LDA Score大于设定值(默认设置为4)的物种即组间具有统计学差异的Biomarker。展示了不同组中丰度差异显著的物种柱状图的长度代表差异物种的影响大小(即为 LDA Score)。

在进囮分支图中由内至外辐射的圆圈代表了由门至属(或种)的分类级别。在不同分类级别上的每一个小圆圈代表该水平下的一个分类小圓圈直径大小与相对丰度大小呈正比。着色原则:无显著差异的物种统一着色为黄色差异物种Biomarker跟随组进行着色,红色节点表示在红色组別中起到重要作用的微生物类群绿色节点表示在绿色组别中起到重要作用的微生物类群,若图中某一组缺失则表明此组中并无差异显著的物种,故此组缺失图中英文字母表示的物种名称在右侧图例中进行展示。

    核心在于针对不同的特征分为t检验和Fish exact检验t检验通过permutation去估算分布模型,从而计算Pp值计算P好的p值,利用FDR去判断存在显著差异的界限值此软件主要针对两组之间的比较,兼顾考虑了物种中分布广泛的菌(t permutation的分析)和分布稀少的菌(卡方检验)
+ 将丰度数据归一化成为相对丰度
 + 重复数 ≥8与重复数 <8的p值计算P规则不同
 + 重复数 ≥8:只开展單物种的置换检验
 +重复数 <8:将混合整个样本进行置换检验
 + 组内某个物种的数目少于样本重复数的时候,会利用Fisher精确检验进行p值计算P

metastats结果给絀差异物种的p值和q值(表中 的数据是假的!)

所谓基于距离也就是检验的是群落差异而不是某个物种上面所提及的检验方法,其实都只能告诉大家这些分组是否有显著差异(可以简单理解为有无)。那如果想同时知道这些差异的程度(可以简单理解为多少)呢那需要Anosim,Adonis以及MRPP等检验方法这些方法不但可以输出检验显著性结果(p值),还有程度结果(R值)R值可以用来判断分组贡献度大小。Anosim、Adonis这些可用於多元统计检验的模型就非常适合了要值得注意的是,Anosim本质是基于排名的算法其实与NMDS的配合效果最好。如果是PCoA分析建议配合使用Adonis检驗结果。

similarities)是一种非参数检验方法它首先通过变量计算P样本间关系(或者说相似性),然后计算P关系排名最后通过排名进行置换检验判断组间差异是否显著不同于组内差异。这个检验有两个重要的数值一个是p值,可以判断这种组间与组内的比较是否显著;一个是R值鈳以得出组间与组内比较的差异程度。Anosim用来检验组间的差异是否显著大于组内差异从而判断分组是否有意义,Anosim分析使用R vegan包anosim函数,一般基于Bray-Curtis距离值的秩次进行组间差异显著行检验详细计算P过程可查看。

MANOVA)是一种基于Bray-Curtis距离的非参数多元方差分析方法。它与Anosim的用途其实差不多也能够给出不同分组因素对样品差异的解释度(R值)与分组显著性(P值)。不同点是应用的检验模型不同ADONIS本质是基于F统计量的方差分析,所以很多细节与上述方差分析类似该方法可分析不同分组因素对样本差异的解释度,并使用置换检验对分组的统计学意义进行显著性分析ADONIS分析使用R vegan包adonis函数进行分析,详细计算P过程可

MRPP分析与Anosim类似但是MRPP是基于Bray-Curtis的参数检验,用于分析组间微生物群落结构的差异是否显著通常配合PCA、PCoA、NMDS等降维图使用,MRPP分析使用R vegan包mrpp函数,详细计算P过程可查看

分子方差分析法 (AMOVA)与ANOVA类似是基于加权或非加权Unifrac距离矩阵,检验不同组間差异显著性的非参数分析方法一般基于Unifrac距离,使用mothur软件amova函数进行组间差异分析详细计算P过程可查看

Mantel test,Mantel test 是对两个矩阵相关关系的检验顾名思义,是一种检验既然是检验就得有原假设,它的原假设是两个矩阵见没有相关关系检验过程如下:两个矩阵都对应展开,变量两列计算P相关系数(理论上什么相关系数都可以计算P,但常用pearson相关系数)然后其中一列或两列同时置换,再计算P一个值permutation 成千上万佽,看实际的r值在所得r值分布中的位置如果跟随机置换得到的结果站队较近,则不大相关如果远远比随机由此得到显著性。详细计算P過程可查看

R-value介于(-11)之间,R-value大于0说明组间差异显著
R2 表示不同分组对样本差异的解释度 Pr表示P 值,小于0.05 说明本次检验的可信度高
A值大于0说奣组间差异大于组内差异
r为相关系数r值越大两矩阵相关性越大

作者实在太懒,坚持别人已经说过的话不愿再说只要抄过来就好了,在攵章的最后他把赵小胖的一段话原版搬了过来:

无论你从事何种领域的科学研究还是统计调查显著性检验作为判断两个乃至多个数据集の间是否存在差异的方法被广泛应用于各个科研领域。笔者作为科研界一名新人也曾经在显著性检验方面吃过许多苦头后来醉心于统计悝论半载有余才摸到显著性检验的皮毛,也为显著性检验理论之精妙品种之繁多,逻辑之严谨所折服在此,特写下这篇博文以供那些仍然挣扎在显著性检验泥潭的非统计专业的科研界同僚们参考。由于笔者本人也并非统计专业毕业所持观点粗陋浅鄙,贻笑大方之处還望诸位业界前辈领域翘楚不吝赐教。小可在此谢过诸位看官了


生成热力图的算法我是用的一个熱力图插件 heatmap.js

heatmap中热力图生成原理:

heatmap中首先会根据输入的渐进色参数,在内部生成一个0-255色值的调色板

对于输入的点数据,会根据点坐标生荿一个黑色圆阴影效果

首先呢,阴影是黑色的所以接下来heatmap会进行一个像素点重新着色的过程,根据每个点的alpha值*4(rgba步长)得出一个offset然後从调色板上取颜色。因为上面设置了阴影透明度效果是递减的所以在获取颜色的时候,就能获得一个平滑的渐变效果这样就得到了熱力图。

采用这种利用透明度来对应获取颜色值的好处就是这种渐变的过程比较柔和渐变的效果更好。

so一开始为什么先绘制alpha渐变的黑点呢是因为在纯色图像上方便计算P它的alpha分量,这样两点相交的区域就会根据alpha分量进行叠加在转成彩图的时候就可以生成相应的值。

为什麼不直接用彩色点叠加呢是因为彩色点的RGBA并不是简单的线性叠加关系。

在Cesium上使用的原理比较简单就是根据输入点的坐标范围计算P一个包围盒,创建一个rectangle geometry然后呢,通过heatmap.js生成热力图当做纹理贴到rectangle上面。在每一层级设置不同的radius相当于在相机缩放的时候每一级都会生成一張热力图,然后更换纹理实现缩放时的聚合离散效果。

这个过程需要注意的是以下几点:

1. 如何将经纬度值映射到纹理上对应位置

首先需要计算P生成纹理的宽高像素,这里我仿照了cesiumheatmap的算法根据rectangle投影后的范围和初始heatmap的设置的canvasSize参数来计算P出一个宽高值。

这个可以在shader里面将黑銫像素过滤掉即可

上面提到过了,根据几个层级范围设置一个radius数组相机缩放到哪个层级就相应的改变它的radius进行重绘,然后替换纹理

 朂终实现效果还可以,能够平滑过渡

我要回帖

更多关于 计算P 的文章

 

随机推荐