🧬 案例背景:乳腺癌表达数据聚类(小型)

  • 样本数:15 个乳腺癌样本
  • 基因数:1000 个变异度最高的基因(如表达标准差最大)

目标:识别潜在的分子亚型(如 Basal, Luminal, HER2)

📊 输入数据矩阵(简化表示)

Gene/SampleS1S2S3S4S5…S15
G157610…3
G201289…4
……………………
G100042671…3

所有值均为非负,经过 log2(TPM+1) 转换。


🧮 步骤一:运行 NMF 分解

我们设定 rank = 3,表示我们假设数据可被分为 3 个亚型。

NMF 分解:

V ≈ W × H
  • W:1000(基因) × 3(特征)
  • H:3(特征) × 15(样本)

🔍 步骤二:解读 H 矩阵(样本聚类)

H 矩阵如下(示例,前三列):

S1S2S3
Topic10.800.780.82
Topic20.100.150.05
Topic30.100.070.13

归属判断:哪个 topic 得分最高 → 属于哪个亚型

  • S1~S5 属于 Topic1 → 聚类1
  • S6~S10 属于 Topic2 → 聚类2
  • S11~S15 属于 Topic3 → 聚类3

🧬 步骤三:生物学解读

Cluster 1(Topic1)样本:

  • 表达高的基因:ESR1, PGR, FOXA1(典型的 Luminal 标志)
  • 富集路径:雌激素信号通路

👉 推测为 Luminal A 型


Cluster 2(Topic2)样本:

  • 表达高的基因:ERBB2, GRB7
  • 富集:HER2 放大通路、MAPK 信号活跃

👉 推测为 HER2-enriched

通过 NMF 聚类,我们:

  1. 从无监督角度将乳腺癌样本分为 3 个亚型
  2. 每个亚型与已知分子特征高度吻合(Luminal, HER2, Basal)
  3. 可为后续差异分析、生存分析或药物响应研究提供基础

在 NMF 中:

  • H 的每一列是样本在每个因子/主题(即“簇”)上的权重
  • 直接可以根据最大得分确定它属于哪个亚型,无需额外聚类算法

例如:

SampleTopic1Topic2Topic3→ 聚类归属
S10.90.050.05Cluster 1
S20.10.850.05Cluster 2
S30.10.10.8Cluster 3
维度PCANMF
是否可解释基因贡献✅ 有 loadings(基因对 PC 的贡献)✅ 有 W 矩阵(基因对因子的贡献)
是否能直接给出样本分型❌ 不能,需额外聚类✅ 可以直接由 H 判断归属
样本归属含义空间坐标,仅方向概率/权重,更接近“软分型”
特征可负值是的,主成分可以为正负否,只允许非负(表达更符合生物解释)
生物解释性❌ 较差,主成分线性组合难以解释✅ 强,模块化表达、富集分析清晰

NFM(Non-negative Matrix Factorization,非负矩阵分解)、Mfuzz(模糊聚类算法的一种,在生物信息学中常用于时间序列数据聚类)以及一致性聚类(Consensus Clustering)都是聚类或降维相关的方法,但各自适用的场景、数学基础、优缺点等都不同。下面逐一对比它们,并探讨 NFM 和 Mfuzz 是否可以互相替代。


✅ 一、NFM(Non-negative Matrix Factorization)

NMF 是一种将原始非负数据矩阵 分解为两个非负矩阵 和 的方法,常用于降维、特征提取和聚类(通过 或 中的值可进行聚类)。

优点:

  • 解释性强:因为非负性,分解后的特征更容易解释(尤其是生物数据)。
  • 可用于聚类:通过矩阵 中的最大值位置作为聚类分配。
  • 适用于高维稀疏数据:如基因表达、图像、文档等。

缺点: 不太稳定 需要跑多个

  • 对初始化敏感:不同的初始化可能导致不同结果。
  • 本身不一定稳定:有时结果变化较大。
  • 结果维度需提前设定:聚类数 需要先给定。

✅ 二、Mfuzz(模糊聚类)

Mfuzz 是基于 Fuzzy C-Means(FCM)算法的一种实现,特别适合于时间序列或连续表达数据的聚类(如基因表达随时间变化)。每个数据点对所有簇都有一个“隶属度”值(membership)。

优点:

  • 适合时间序列数据:可揭示模式变化趋势。
  • 提供模糊隶属度:可反映数据点的模糊归属情况。
  • 在生物学中非常常用:如基因表达聚类。

缺点:

  • 需指定聚类数和模糊系数 :不易选取。
  • 对噪声敏感:特别是在不归一化时。
  • 不适合非时间序列或离散数据

✅ 三、一致性聚类(Consensus Clustering)

简介:

一致性聚类是一种集成聚类方法,评估聚类的稳定性。通过多次聚类(不同子样本或初始化),统计每对样本被分到同一簇的频率,形成一致性矩阵,从而评估最佳聚类数和聚类稳定性。

优点:

  • 稳定性高:通过多次重复聚类获得可靠结果。
  • 可评估聚类数选择的合理性。
  • 适用于不同聚类方法的集成评估。

缺点:

  • 计算成本高:尤其在数据量大、聚类算法复杂时。
  • 本身不是聚类算法:而是一种评估方法。
  • 依赖底层聚类算法的性能。

✅ 四、NMF vs Mfuzz:能否互相替代?

共同点:

  • 都有“隶属度”概念:

    • Mfuzz 明确返回每个点属于每个簇的隶属度矩阵(模糊聚类矩阵)。
    • NMF 中的 矩阵的每列可以解释为属于各聚类的“贡献”或“隶属度”(非归一化的)。

区别与替代性分析:

方面NMFMfuzz
数据要求非负数据(如表达矩阵)连续数据,适合时间序列
聚类类型通常为硬聚类或概率近似明确为模糊聚类
隶属度定义数值解释为“特征贡献”数学上定义明确的隶属度
替代性可勉强用于模糊聚类分析无法替代 NMF 的降维能力
推荐使用场景特征提取+聚类时间序列趋势挖掘

🔁 能否替代?

  • 部分替代(仅限用于聚类):若仅用作聚类,且关心的是“模糊分配”或软聚类结果,NMF 可以近似替代 Mfuzz,但需要手动归一化并解释其“隶属度”。

  • 不可完全替代:

    • Mfuzz 是专门的模糊聚类方法,理论基础不同。
    • NMF 更偏向降维和数据分解,输出不等价于模糊隶属度的严格定义。

✅ 总结

方法优点缺点最佳使用场景
NMF可解释性强、适用于高维非负数据、降维初始化敏感、需指定簇数非负矩阵降维、聚类
Mfuzz模糊分配、适合时间序列、生物学常用参数难选、对噪声敏感基因表达时间序列聚类
一致性聚类评估稳定性、选簇数依据慢、依赖其他算法聚类数选择与稳定性分析

如你在做基因表达分析或时间序列聚类,推荐用 Mfuzz;如果关注的是特征抽取或希望从数据中找出“构成模块”,建议用 NMF。而若你希望评估聚类是否稳定,建议在这两者之上加用 一致性聚类。

如需示例代码或应用场景比较,也可以继续告诉我!