查看原文
其他

三文读懂PCA和PCoA(一)

Baicun 宏基因组 2019-04-30

本文转载自“金唯智生物科技”,已获授权。

在微生物NGS测序领域的高分文章中,PCA(主成分分析)和PCoA(主坐标分析)会很常见。甚至在RNA分析领域,很多研究和文章也会依据基因的表达量作PCA和PCoA分析。

常见的PCA和PCoA分析以下图的形式呈现:

国际空间站与喷气推进实验室依据种群多样性进行的PCoA分析[1]

不同培养条件马铃薯浆发酵液的菌群差异[2]

很明显,我们可以通过分析坐标轴中样本和样本之间的距离直观地看到2个样本或2组样本之间的菌群差异性。若2个样本或2组样本之间的直线距离较近,则表示这2个样本或2组样本的菌群差异性较小;相反,若2个样本或2组样本之间的直线距离较远,则表示它们之间菌群差异性较大。所以,PCA和PCoA所呈现的结果,具有直观性(直接看两点之间的距离)和完整性(呈现所有样本),且数据易于分析和解读(大家都看得懂)。

那么,PCA和PCoA是如何定义的?PCA和PCoA之间是否有区别?何时该选用PCA或何时该选用PCoA?PCA和PCoA背后的分析原理如何?相信这些问题是比较困扰读者的。

PCA和PCoA的定义

PCA(Principal Components Analysis)即主成分分析,也称主分量分析或主成分回归分析法,首先利用线性变换,将数据变换到一个新的坐标系统中;然后再利用降维的思想,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上。这种降维的思想首先减少数据集的维数,同时还保持数据集的对方差贡献最大的特征,最终使数据直观呈现在二维坐标系[3]

PCoA(Principal Co-ordinates Analysis)分析即主坐标分析,可呈现研究数据相似性或差异性的可视化坐标,是一种非约束性的数据降维分析方法,可用来研究样本群落组成的相似性或相异性。它与PCA类似,通过一系列的特征值和特征向量进行排序后,选择主要排在前几位的特征值,找到距离矩阵中最主要的坐标,结果是数据矩阵的一个旋转,它没有改变样本点之间的相互位置关系,只是改变了坐标系统。两者的区别为PCA是基于样本的相似系数矩阵(如欧式距离)来寻找主成分,而PCoA是基于距离矩阵(常用bray, jaccard, unifrac)来寻找主坐标[4]

好吧,定义比较抽象,我们还是无法看懂看透PCA和PCoA。不急,下面的文字很重要~~~

PCA和PCoA的区别


1.PCA的理解

a. 假如有3个实验样本,它们共有1个物种x,那么我们其实可以用物种x的相对丰度来表示样本和样本之间的差异。这样我们就可以画一个一维坐标轴,将这3个样本的物种x的丰度表示在一维轴线上,如下图所示:

物种x在A, B, C三个样本中的相对丰度

(上部分为物种组成矩阵,下部分为样本的坐标系呈现)


此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异(实际上样本A和B间的距离即为A中的物种x的丰度与B中物种x的丰度的差值)。

b. 假如有3个实验样本,它们共有2个物种:x和y。那么我们其实可以用物种x和物种y的相对丰度来在二维坐标系中定位样本。A=(x1,y1), B=(x2,y2),C=(x3,y3),如下图所示:

物种x和y在A, B, C三个样本中的相对丰度

(上部分为物种组成矩阵,下部分为样本的坐标系呈现)


此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。

c. 假如有3个实验样本,它们共有k个物种: x, y, z…………k。那么我们其实可以用物种x, y, z…………k的丰度来定位样本A=(x1,y1,z1……………k1)。同理,样本B与C也可以用这种形式表示。细心的同学可以发现,其实A=(x1,y1,z1……………k1)是一组向量,而且是k维向量(A=(x1)是一维向量,A=(x1,y1)是二维向量,A=(x1,y1,z1)是三维向量)。但是k维向量无法在二维坐标系(平面)中表示(一维和二维向量可以,如上a和b两种情况)。此时我们要么将K维向量作出一些取舍,如削去一些不重要的向量仅保留2个关键向量(削去一些不重要的物种仅保留2个关键物种);要么将K维向量投射到二维坐标系中(降维),但是此时数据便会损失,例如下图,我们将二维坐标系中的数据投射到一维坐标系中,实际数据会折扣掉一部分(A和B的直线距离为5,投射到x轴的一维距离为4,投射到y轴的一维距离为3。从第一维坐标轴上观察A和B的距离只有4,从第二维坐标轴上观察A和B的距离只有3。)。

将二维空间数据投射到一维空间中存在数据损失


因此将k维空间的数据投射到二维空间上(降维),就会产生数据损失,此时坐标轴的贡献率就不再是100%,而是小于100%(而a和b两种情况无需降维处理,因此贡献率为100%)。此时数据如下图所示:

将k维空间数据投射到二维空间中

(上部分为物种组成矩阵,下部分为样本的坐标系呈现)


因降维处理,数据发生损失,样本和样本之间的距离代表样本之间的物种丰度差异。

那么如何来选择投影?这就是定义当中所提到的“使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上”。

2.PCoA的理解


a. 假如有2个实验样本,它们都有很多物种,那么我们可以用Bray-Curtis或UniFrac(或其他算法)计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了2个样本的物种相对丰度的差异。这样我们就可以画一个一维坐标轴,将这2个样本表示在一维轴线上,如下图所示:

2个样本在一维坐标系中呈现

(上部分为物种组成矩阵,下部分为样本的坐标系呈现)


此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。

b. 假如有3个实验样本,同样可以用Bray-Curtis或UniFrac(或其他算法)计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了每2个样本的物种相对丰度的差异。这样我们就可以画一个二维坐标轴(三点组成一个面),将这3个样本表示在二维轴线上,如下图所示:

3个样本在二维坐标系中呈现

(上部分为物种组成矩阵,下部分为样本的坐标系呈现)


此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。

c. 以此类推,假如有n个实验样本,同样可以用Bray-Curtis或UniFrac(或其他算法)计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了每2个样本的物种相对丰度的差异。这样我们就可以画一个n-1维坐标轴,将这n个样本表示在n-1维空间中。但是n-1维空间无法在平面上表示(一维和二维除外,三维勉强可以),因此只能利用矩阵呈现,如下图所示:

n个样本的矩阵示意图


若要将n-1维的数据在二维坐标系中呈现,需降维处理,即将n-1维的数据投影到二维空间当中,方法与思路同PCA类似。此时,2个坐标轴的贡献率均小于100%,如下图所示:

n个样本在二维空间中呈现(只展示了3个样本)


因降维处理,数据发生损失,样本和样本之间的距离代表样本之间的物种丰度差异。

这个时候, PCA和PCoA就好理解了。我们再回过头看定义“PCA是基于样本的相似系数矩阵(如欧式距离)来寻找主成分,而PCoA是基于距离矩阵(欧式距离以外的其他距离)来寻找主坐标”,其实浅显地来理解,就是上面这么回事。

我们知道了PCA和PCoA的定义,也理解了PCA和PCoA的区别,那么它们该何时选用,以及背后的算法如何?欲知后事如何,且听下回分解。

特此声明:

1、 本文仅供读者理解,不涉及专业学术论证;

2、 本文为小编的一点感悟心得,非常欢迎各位业界同行的讨论与交流,同时也非常欢迎各位专家老师的指正,您的一个问题会使我们共同进步!


参考文献:

[1] Aleksandra Checinska et al., Microbiomes of the dust particles collected from the International Space Station and Spacecraft Assembly Facilities. Microbiome. 2015

[2] Zhiman Yang et al., Enhanced methane production via repeated batch bioaugmentation pattern of enriched microbial consortia. Bioresource Technology. 2016

[3] https://baike.baidu.com/item/主成分分析/829840?fr=aladdin

[4] http://blog.sina.com.cn/s/blog_49e55e450102uzj8.html

猜你喜欢

10000+:肠道细菌 人体上的生命 宝宝与猫狗 梅毒狂想曲 提DNA发Nature 实验分析谁对结果影响大  Cell微生物专刊

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:生信宝典 学术图表 高分文章 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板 Shell  R Perl

生物科普  生命大跃进  细胞暗战 人体奥秘  

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外150+ PI,1500+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存