可以这样解释 PCA 图吗?

数据挖掘 机器学习 降维
2021-10-02 09:17:31

我有几个样本(C2、C4、C5)并想检查它们是否处于某个阶段。我包括了一些由另一个实验室在不同阶段生成的已知样本(D0 - D77)。在 PCA 图中,我的样本在左侧聚集在一起,而已知样本分散在右侧。我认为所有样本之间的主要区别是不同的实验协议(PC1),第二个是不同的阶段(PC2)。所以我的样品处于同一阶段。是对的吗?我们可以说我的样本处于 D12 和 D19 之间的阶段(当投影到已知样本时,我的样本位于 D12 和 D19 之间)?我没有很强的数学背景。希望有数学背景的人能给出一些解释。谢谢!

[ UPDATE1 ] 我在 R 中使用prcomp进行了此分析。输入是一个 2D 数字矩阵,有 17436 行和 42 列。每行代表一个基因,每列代表一个样本。该数字是样本中基因的基因表达水平。基因表达水平使用 DESeq2 进行归一化,因此基因(行)和样本(列)之间的数字具有可比性。在 42 列中,18 列来自我的实验,其余来自已发布的数据集。除了不同的协议外,还可能存在其他差异。通常,该表是两个数据源的组合。在我的数据中,C2、C4 和 C5 是我们在实验中并行处理的三个细胞系。在已发布的数据集中,他们在不同时间点(第 0 天到第 77 天)对细胞进行了采样。

[ UPDATE2 ] PCA 和绘图的 R 代码

# normCounts: normalized count from DESeq2, with 17436 rows and 42 columns
normCounts0 <- normCounts[ rowSums(normCounts) > 0, ]
tab <- t(normCounts0)
pca <- prcomp(tab, scale = TRUE)
tmp.x <- as.data.frame(pca$x)
tmp.x$sample<-c(rep("C2_Con",3),rep("C2_KD",3),rep("C5_Con",3),rep("C5_KD",3),rep("C4_Con",3),rep("C4_KD",3), rep("D0",4),rep("D7",4),rep("D12",2),rep("D19",4),rep("D26",2),rep("D33",2),rep("D49",2),rep("D63",2),rep("D77",2))

require("ggplot2")
p <- ggplot(tmp.x, aes(x=PC1, y=PC2, color=sample))
p + geom_point() + scale_color_discrete(breaks=c("C2_Con","C2_KD","C5_Con","C5_KD","C4_Con","C4_KD", "D0","D7", "D12","D19","D26","D33","D49","D63","D77"))

PCA 图

3个回答

鉴于所提供的信息,我认为说您的样品处于 D12 和 D19 阶段之间是不够的。我承认对您的域一无所知,但是根据您所展示的内容,可以想象其他因素导致您的样本从 PC1 上的其他人传播,并且说您的样本“投射”到其他在 D12 和 D19 之间。为什么它必须是与 PC1 描述的轴正交的投影?请记住,PC1 是所有输入的线性组合。也就是说,它描述了一条穿过输入空间的任意线,它可能与任何特定的事物都不对齐。例如,可以为您的问题设想以下所有三个预测: 显示可能预测的 PCA 图

对我来说,另一个危险信号是您说 PC1 与实验协议的差异有关。您还没有发布碎石图或列出不同 PC 的特征值,但显然 PC1 吸收了最大的差异,所以这是一个相当大的问题。如果您说 PC1 与实验协议相关,那么这似乎很好,因为希望实验协议的影响在其他 PC 中最小化。然而,事实并非如此。

同样,不知道您的领域,很难判断实验协议对您的数据在 PC 图中的分布有何影响,但如果您的数据是使用不同的方法生成的,我会非常谨慎地以这种方式比较这些数据实验设计,正如您所指出的,“可能存在其他差异。”

我的预感是,在您真正使用这种类型的分析之前,您需要继续最小化您的实验和已发布实验之间的协议差异。其他人可能不同意,但如果您发布了数据的来源、特征向量以及可能的数据子集,您所在领域的专家可能会加入这种方法。

简短的回答是:您的解释可能是正确的,但在这一点上,您没有足够的证据表明您的样本就阶段而言“介于”D12 和 D19 之间。而且我担心方法上的差异会完全淹没你以这种方式解释事物的能力。

不要只是混合两个不同来源的数据。

看起来这两个来源可能只是使用不同的比例。但这使得整个 PCA 分析毫无意义。

您的所有情节可能都是可视化的,其他样本使用不同的测量方式。似乎所有的差异都在其他样本中这尤其意味着您无法就您的样本与参考样本之间的关系得出任何结论

我想说的是,你很可能是对的!

您的情节与您对数据的解释兼容,因此很可能就是这种情况。我假设您知道要使用哪些功能(参见示例),但最好发布一些有关输入数据的信息 - 例如数据的维度 - 以确保一切都在那里。我破坏解释的唯一原因是混杂因素的存在。

  • 例子

我不是您所在领域的专家,但想象一下您和其他实验室用于获取数据的材料之间存在差异。那我问你,你怎么知道PC1上的区别不是材料的不同,而是协议的不同?如果您确定没有其他影响它,您可以自信地说 PC1 正在捕获协议的差异。

希望它有所帮助!