大阳城贵宾会(2017-VIP认证)-www.2017.com|官方网站-Made in China

 
English
新闻中心  
当前网站位置:

走进单细胞测序系列--数据降维之PCA原理
来源:大分子生物 | 作者:Neoline | 发布时间: 2021-06-11 | 4504 次浏览 | 分享到:
随着单细胞测序技术的发展,每个研究或实验中测定的细胞数量在显著增加,少则产生几百,多则产生几十万的细胞数量,甚至更多。其中,细胞亚型(cell subtype or cell subpopulations)的鉴定是单细胞测序技术一个非常重要的基础应用。但由于单细胞测序数据通常涉及到很多细胞,而每个细胞中的基因数量又可能是几万个,所以,单细胞测序数据是一个高维的复杂数据,为了有效地对单细胞测序数据进行各种处理分析,特别是细胞亚型的鉴定,通常需要首先对单细胞测序数据进行降维。

  前言:

  随着单细胞测序技术的发展,每个研究或实验中测定的细胞数量在显著增加,少则产生几百,多则产生几十万的细胞数量,甚至更多。其中,细胞亚型(cell subtype or cell subpopulations)的鉴定是单细胞测序技术一个非常重要的基础应用。但由于单细胞测序数据通常涉及到很多细胞,而每个细胞中的基因数量又可能是几万个,所以,单细胞测序数据是一个高维的复杂数据,为了有效地对单细胞测序数据进行各种处理分析,特别是细胞亚型的鉴定,通常需要首先对单细胞测序数据进行降维,常用的数据降维方有:PCA、t-SNE、UMAP。你在文章中会经常见到这三个图,但对其所涉及的原理可能知之甚少,前段时间无意中看到了一个叫StatQuest的视频系列,作者是北卡罗莱纳大学教堂山分校遗传学系的一位叫Josh Starmer的大佬制作的系列统计学视频,用非常通俗的语言和模型来讲述一些统计学、高通量测序等教学视频,强烈推荐给大家。根据他讲解的内容,我和王熠共同为大家整理了这次分享的内容---PCA背后的原理,好了,让我们开始吧!

  正文:

  主成分分析(Principal Component Analysis,PCA)是常用的数据降维方法,广泛运用在高维数据的处理和可视化展示中。日常生活中我们经常遇见高维数据,比如说日常体检,会获得大家的身高、体重、腰围、胸围等数据。对体检数据进行汇总,就得到了一张4维的表,但即便只有4个维度,也是无法直接在直角坐标系种进行展示的,那么我们能否找到一个变量,能够直接代替其中一两个变量的特征?这样数据就降低了维度,方便展示。

  比方说反应一个人的健康状况,我们不会直接看身高和体重,会将体重除以身高的平方,得到体重指数来反应一个人的肥胖状况。这样我们不仅把4维的数据就降低到了3维,还把握到了体重指数这一最主要的评价标准。同时我们还会意识到,有的健身达人肌肉较多,他们的体重指数可能比较高,但是依然看上去比较瘦也很健康,这时候我们再考察腰围和胸围,确定他是不是健身达人,就能粗略地对一个人地健康状况进行评价。类似地利用这种思想,PCA通过构建新变量,把握住能够反应一组高维数据差异的最主要的几个变量,从而达到对数据进行降维的目的。

  今天就和大家分享一下PCA降维原理在单细胞测序数据处理中的应用。

  首先如下图所示:假设我们面对一团组织,通过单细胞测序我们能够汇总出一张基因表达表。从而通过生信分析了解到细胞之间的区别。

  以Gene1为X轴,Gene2为Y轴,每个点表示一个细胞,我们可以直观地看到细胞之间的异同。

  同样,如果基因数增加到3个,我们能两两基因绘图,也能绘制一个三维坐标图来看出各个细胞之间的关系。

  可是单细胞测序的基因数动辄几千个。通过两两绘图完全不现实,如此高维的数据也很难直接呈现。这时候就需要我们可以对数据进行一些处理,在不损失区分度的情况下,降低数据维度,方便可视化展示。PCA就是其中一个方法。PCA通过重新构建变量,将原来的Gene1-Genen的n个变量,转换为PC1-PCn的n个新变量。这些新变量称为主成分。其中每一个主成分都是原来的变量Gene1到Genen的线性组合。翻译成理工科同学熟悉的语言就是:PC1=A1Gene1+A2Gene2+A3Gene3+……+AnGenen

  此时还没完,如果随便构建变量是没有意义的,因为有N个变量就能构造出N个主成分,数据的维度没有变。这时候我们就需要对主成分提出要求,即前几个主成分能够解释绝大部分数据的方差,体现最多的差异。这样我们就能够只针对前几个主成分进行绘图,从而展示各个细胞之间的差异。那么主成分是如何构建的呢?下面将通过几张图来和大家分享一下构建过程。同样从简单的二维数据开始,我们找到这组数据的中心,将他设为新的原点。接下来准备确定新的坐标轴,即PC1。

  回顾之前的要求,前几个主成分需要尽可能解释数据的差异。所以表现在图形上,就是我们通过不断旋转PC1,使得原来的点在新坐标轴上的投影,到原点的距离之和最大。我们将d12+d22+d32+…d62称为PC1的距离平方和(Sum of squared distances),SS(distances)表示。而拟合度最好,即最大的SS(distances)成为PC1的特征值(Eigenvalue)。特征值的平方根称为PC1的奇异值(Singular Value)。

  假设找到的新坐标轴PC1在原坐标系里的斜率是0.25,那么PC1=4×Gene1+1×Gene 2。但这还不够,确定了原点、坐标轴之后,我们还需要确定单位距离。我们只需要将单位距离从 调整为1,那么单位PC1=0.97×Gene1+0.242×Gene2,这个单位长度的PC1称为PC1的特征向量。此时我们将主成分中每个基因的比例(0.97和0.242)称为成分载荷(Loading score)。由于是二维数据,因此PC2只需要过原点做PC1的垂线就能得到。那么PC2=-0.242×Gene1+0.97×Gene2。那么PC1和PC2到底解释了多少方差呢?这个时候我们需要回顾之前定义的特征值。用主成分各自的特征值除以样本量减一就得到了各自的方差。假设PC1方差为15,PC2方差为3。那么总方差为18,PC1解释了83%,PC2解释了17%。用碎石图(Scree plot)表示如下图。

  至此我们已经基本理解了主成分的构建过程,下面开始挑战一下三维的数据。

  首先同样找到数据的中心,设定为原点。然后在空间中确定一条PC1,使得各个点到PC1的距离平方和最大,然后再过原点,垂直于PC1做一条PC2,不断调整角度使得各个点到PC2的距离平方和最大,最后再过原点,垂直于PC1和PC2确定的平面,做出PC3就完成了三维数据的主成分构建。此时各主成分分别解释了79%、15%和6%的变异。因此我们即使只考量PC1和PC2,也能解释94%的方差。从而成功将三维数据降维成二维。

  同理,当Gene数成百上千的增加时,只要提取前两个或前三个能解释绝大多数变异的主成分,就能达到降维的目的。

  看了这么多,也许你还是会搞不清楚,没关系,耐心看完这个视频,你就会明白了,视频地址:https://www.bilibili.com/video/av54898704


相关文章