单细胞数据分析之PCA再认识与ScaleData函数

我们首先再认识一下PCA

数据做PCA分析的前提是
1、主成分分析认为主元之间彼此正交,样本呈高斯分布;
2、主成分分析假设源信号间彼此非相关;
那么这里我们需要讨论一下,我们的单细胞或者空间转录组数据是呈现高斯分布的么?
验证数据是否高斯分布的方法很简单,大家可以参考这篇文章,检验数据是否呈现高斯分布。这里我们只说结果,很显然用count矩阵,不是高斯分布。
Seurat 有一系列的数据预处理的过程,我们来一步一步分析,首先是
NormalizeData
这一步是消除测序文库的差异,平衡文库,得到的矩阵仍然是非高斯分布的,接下来的数据处理用到了ScaleData函数,之后的分析就开始跑RunPCA,也就是说,我们所要的答案就在这个函数里面,我们首先来看一看这个函数

Description:

     Scales and centers features in the dataset. If variables are
     provided in vars.to.regress, they are individually regressed
     against each feature, and the resulting residuals are then scaled
     and centered.
(对数据进行标准化和中心化,vars.to.regress参数用来消除指定类型的影响)

这个地方我们需要注意一下,数据标准化我们都明白,稍微说一下什么是数据中心化
数据中心化或者去均值(Zero-centered或者Mean-subtraction)。其目的是让数据通过中心化处理,得到均值为0的数据。同时中心化后的数据对向量来说也容易描述,因为是以原点为基准的。

2.png

也就是说,这个函数对数据做了标准化和中心化,我们来看看其中的参数:

features: Vector of features names to scale/center. Default is variable
          features.
这个地方可以指定基因,也可以用算法算出来的高变基因
vars.to.regress: Variables to regress out (previously latent.vars in
          RegressOut). For example, nUMI, or percent.mito.
         消除指定因素的影响,这里也可以指定为样本,消除批次效应。
model.use: Use a linear model or generalized linear model (poisson,
          negative binomial) for the regression. Options are 'linear'
          (default), 'poisson', and 'negbinom'
这个参数用来决定回归的方式
do.scale: Whether to scale the data.
标准化
do.center: Whether to center the data.
中心化

这列列举了几个重要的参数,大家可以再原函数中查看,我们要说明的是,我们的测序数据经过这一步的分析处理,中心化后,我们的数据结果很接近于高斯分布,(大家可以验证),所以开始了PCA分析。

你可能感兴趣的:(单细胞数据分析之PCA再认识与ScaleData函数)