为什么 RNA-seq 数据的对数转换会减少 PCA 中解释方差的数量?
根据您的数据集的大小,我怀疑您正在使用单细胞 RNA-seq 数据。
如果是这样,我可以确认您的观察:使用 scRNA-seq 数据,对数变换后 PCA 解释的方差通常比之前低得多。这是您与Tasic 等人的发现的复制。我手头的2016 年数据集:
这里我使用因为精确的零。请注意,对数转换数据产生的解释方差与标准化数据大致相似(当每个变量居中并缩放以具有单位方差时)。
原因是不同的变量(基因)具有非常不同的方差。RNA-seq 数据最终是 RNA 分子的计数,方差随均值单调增长(想想泊松分布)。因此,高度表达的基因将具有高方差,而几乎没有表达或检测到的基因将具有几乎为零的方差:
在没有任何转换的情况下,只有一个基因可以解释超过 40% 的方差(即其方差高于总方差的 40%)。在这个数据集中,恰好是这个基因:https : //en.wikipedia.org/wiki/Neuropeptide_Y,它在某些细胞中高度表达(RPKM 值超过 100000),而在其他一些细胞中表达为零。当你对原始数据做 PCA 时,PC1 基本上会与这个单一基因重合。
这类似于PCA 关于相关性或协方差的公认答案中发生的情况?:
请注意,协方差上的 PCA 由
run800m
和主导javelin
:PC1 几乎等于run800m
(并解释了 82% 的方差),而 PC2 几乎等于javelin
(它们一起解释了 97%)。关于相关性的 PCA 提供的信息要多得多,并揭示了数据中的一些结构和变量之间的关系(但请注意,解释的方差下降到 64% 和 71%)。
更新
在评论中,@An-old-man-in-the-sea 提出了方差稳定转换的问题。RNA-seq 计数通常使用负二项分布建模,该分布具有以下均值-方差关系:
如果我们忽略第一项(这在假设高表达基因携带 PCA 的最多信息的情况下是有道理的),那么剩余的均值-方差关系变为二次方,与对数正态分布一致,并且具有对数作为方差稳定变换:
或者,具有例如左右的小幂也可能是有意义将是方差稳定的,所以介于两者之间线性和二次均值-方差关系。
另一种选择是使用可能与Anscombe 的修正为显然对于大所有这些公式都减少到。
请参阅Harrison,2015,Anscombe 的 1948 年负二项式分布的方差稳定转换非常适合 RNA-Seq 表达数据和Anscombe,1948 年,泊松、二项式和负二项式数据的转换。
PCA 仅使用线性代数来寻找“最佳”分量来解释方差。有关PCA 的详细说明,请参阅此答案。因此,如果您的数据集的变量之间已经存在线性关系,您将获得最佳线性模型,而无需对原始数据进行任何非线性转换。
exp
您可以使用ortanh
或任何非线性函数而不是再次提出您的问题,log
并且您可以期待类似的效果。当您对变量应用对数(或任何函数)时,您基本上会恶化变量之间的线性关系。通常最好有一些理论基础来对变量进行对数转换。