高维微生物组降维(representation learning)的问题

最后发布时间 : 2026-07-03 17:56:50 浏览量 :

你提到的这篇文章(Impacts of host genetics on gut microbiome composition in Alzheimer's disease)确实采用了 topic 的思想:将数百甚至上千个菌的丰度表示压缩为少数几个 latent topics(潜在菌群模块),每个样本对应一个 topic score,再用 topic score 做 GWAS、MR、ROC、回归分析等。(Springer)

实际上,这属于**高维微生物组降维(representation learning)**的问题,目前有不少方法。

下面按照近年来微生物组分析中的主流程度排序。

方法输出是否可解释推荐程度
Topic Model (LDA/STM)Topic score★★★★★★★★★★
NMFModule score★★★★★★★★★★
PCAPC score★★★★★★★
PLSLatent component★★★★★★★★★(有表型)
AutoEncoderEmbedding★★★★
VAELatent embedding★★★★★★
MOFALatent factor★★★★★★★★★★(多组学)
WGCNAModule eigengene★★★★★★★★★★
sPLS / DIABLOComponent★★★★★★★★★
Factor AnalysisFactor score★★★★★★★

1. Topic Model(LDA、STM)⭐⭐⭐⭐⭐

这就是这篇文章采用的方法。

思想类似文本分析:

Sample
   ↓
Topic1 0.15
Topic2 0.72
Topic3 0.05
...

每个 Topic 是

Topic 3

Prevotella
Faecalibacterium
Roseburia
Blautia
...

一个菌可以属于多个 topic。

优点:

  • 非负
  • 稀疏
  • 非常容易解释
  • 很适合菌群生态

这是目前 microbiome 中越来越流行的方法。(OUP Academic)


2. NMF(Non-negative Matrix Factorization)⭐⭐⭐⭐⭐

实际上很多文章认为:

Topic model ≈ Bayesian NMF

NMF把矩阵

Samples × Species

分解成

Samples × K

以及

K × Species

得到

Module1
Module2
Module3
...

最后每个样本得到

Module score

优点:

  • 完全非负
  • 易解释
  • 比 PCA 更符合菌丰度特点

微生物组中应用非常广泛。(OUP Academic)


3. PCA

最经典。

得到

PC1
PC2
PC3
...

优点

  • 简单

缺点

PC 是

+0.31 A
-0.27 B
+0.11 C
...

存在正负载荷,

生态学解释通常没有 Topic/NMF 好。


4. PLS(Partial Least Squares)

如果你的目标是

菌
↓

预测 phenotype

PLS 比 PCA 更适合。

因为 PCA

只解释 X 的方差。

PLS

直接寻找

菌 ←→ phenotype

共同变化最大的方向。

如果最终是 ROC、Logistic、GWAS,

PLS 往往比 PCA 更有效。


5. AutoEncoder / DeepMicro

近年来很多文章开始采用

Species

↓

Encoder

↓

32维 embedding

↓

预测疾病

例如

500菌

↓

32维

↓

Logistic

这就是 DeepMicro 的思路。(PMC)

优点

  • 能学习非线性关系
  • 表达能力强

缺点

解释性差。


6. Variational AutoEncoder (VAE)

相比普通 AE

加入概率建模

得到

z1
z2
...
z16

可以理解为

latent microbiome space。

很多近年的深度学习文章都采用这种方式。(PMC)


7. WGCNA ⭐⭐⭐⭐⭐(非常推荐)

很多人只知道它用于 RNA-seq。

其实菌群也完全可以。

流程:

菌

↓

共丰度网络

↓

Module

↓

Module eigengene

最后得到

MEblue
MEgreen
MEbrown
...

这些 eigengene 本质就是

每个样本一个连续变量。

然后直接

MEblue

↓

GWAS

↓

ROC

↓

Logistic

解释性非常强。


8. MOFA(多组学)

如果以后你有

Microbiome

Metabolomics

Transcriptome

Proteomics

MOFA 可以统一得到

Factor1

Factor2

Factor3

这些 factor 可以直接关联疾病。


9. CLR + PCA

目前 microbiome 最经典流程之一:

Relative abundance

↓

CLR transformation

↓

PCA

因为菌丰度属于组成型数据(Compositional Data),CLR 后再做 PCA 更符合统计假设。


10. Supervised Topic / STM

比 LDA 更进一步。

例如加入

Disease

Age

Sex

BMI

让 topic 与 phenotype 联合学习。

最后得到

Disease-associated Topic

比普通 LDA 更适合寻找疾病相关菌群。


如果你的目标是"一个菌群指数"

例如最终希望得到

Topic Score

↓

ROC

↓

AUC

或者

Topic Score

↓

GWAS

我建议优先考虑以下几种方案:

  1. STM/LDA —— 当前微生物组热点方法,可解释性最好。
  2. NMF —— 与 Topic 思想接近,实现简单、稳定。
  3. WGCNA Module Eigengene —— 非常适合寻找共丰度菌群模块。
  4. PLS —— 如果目标是预测特定表型,通常优于 PCA。
  5. AutoEncoder/VAE —— 样本量较大(如 >1000)时,可获得更强的非线性表示,但解释性较弱。

如果你的数据规模在 1000–10000 个样本、数百到上千个菌,并且后续还要做 GWAS、PRS、MR,我通常会推荐 STM(或 LDA)+ NMF + WGCNA 三种方法进行对比,因为它们都能生成每个样本的一维或少数几个连续变量,同时具有较好的生物学解释性,也越来越多地出现在高水平微生物组研究中。(PMC)