4. 两种算法核心假设对比分析

说实话,选算法前,你得先弄明白它们各自的“底牌”。BayesSpace和SpaGCN,一个是从贝叶斯派出来的,一个是图神经网络拥趸,核心假设完全不同。我在项目里吃过这个亏——照搬参数跑SpaGCN,结果空间连续性很差;换BayesSpace一跑,反而更贴切片形态。今天我就把这两套假设拆开揉碎了讲。

4.1 空间依赖性的建模方式

这是最根本的分歧点。

BayesSpace 假设:空间上相邻的spot(或细胞),其表达模式应该相似。它用一个马尔可夫随机场(MRF)先验来模拟这种依赖。你想想看,每个spot的隐藏状态,只取决于它周围紧邻的几个邻居。这种“近邻影响”假设,在组织切片上确实很自然——细胞组团嘛,功能相似的细胞通常待在一块。

SpaGCN 则用了图卷积网络(GCN)。它把每个spot看成图上的节点,根据物理距离或表达相似性构建边。然后通过多层图卷积,聚合邻居节点的特征信息。它没有显式假设“只受邻居影响”,而是通过注意力机制或固定权重,学到邻居贡献的权重。

我个人的习惯是:如果切片结构清晰(比如大脑皮层分层),BayesSpace的MRF假设更稳;如果组织边界模糊、或者你想捕捉长距离的空间交流,SpaGCN的图结构更灵活。

维度BayesSpaceSpaGCN
空间依赖形式马尔可夫随机场(MRF)图卷积网络(GCN)
邻居定义固定半径内的K个近邻可学习或预定义的图边
参数共享方式所有邻居共享相同平滑参数不同边可以学习不同权重
空间范围局部(仅直接邻域)可通过多层图卷积捕获更大范围

4.2 先验分布与概率解释

BayesSpace是纯正的贝叶斯路子。它对每个聚类标签和空间平滑参数都设置了先验分布,然后通过MCMC抽样得到后验分布。说白了,它能告诉你“这个spot属于该聚类的置信度”,而不仅仅是一个硬分类。

SpaGCN没有显式的先验。它把空间关系编码在图结构中,通过优化一个交叉熵损失来学习聚类分配。它的输出是softmax概率,但那个概率不是后验,只是神经网络最后一层的激活值。我遇到过学生问“为什么SpaGCN的概率比BayesSpace高?”,其实是因为BayesSpace的MCMC会给不确定性留空间,概率通常更“保守”。

注意: BayesSpace的MCMC可能跑得慢,但它在样本量小或噪声大时,鲁棒性明显强于SpaGCN。我之前处理一个只有两万个spot的样本,BayesSpace跑完一次要40分钟,SpaGCN只要5分钟,但BayesSpace的结果可靠性更好,尤其是在边缘区域。

4.3 图像与空间坐标的利用

BayesSpace有个很妙的假设:它认为组织切片上H&E图像的亮度或染色密度,也能反映空间结构。它引入了一个比例因子,将图像特征转化为空间权重。如果某个spot周围图像亮度突变,BayesSpace会认为那里可能是一个组织边界,从而降低空间平滑强度。

SpaGCN就纯粹多了,只吃空间坐标(x,y)和基因表达矩阵。它不碰任何图像信息。这种做法让SpaGCN更“干净”,不受图像染色质量的影响,但同时也丢失了组织形态学信息。在我处理肿瘤异质性样本时,图像信息其实非常重要——坏死区、纤维区在图像上一眼就能看出来,BayesSpace能利用这点,SpaGCN则完全依赖坐标距离。

4.4 数据预处理与归一化策略

这部分有坑,我掉进去过好几次。

BayesSpace 默认要求数据经过log-transformation 和缩放,因为它假设表达值符合泊松或负二项分布,但实际代码里为了简化,用了对数归一化后的高斯似然。如果你的原始数据没有归一化,bayesSpace会报奇怪的错误。

SpaGCN 对数据预处理容忍度更高。它内部会自己做一个简单的标准化(按spot的总count缩放),然后还能接受原始counts作为输入。我建议:如果数据量很小(比如只有1000个spot),保留原始counts用SpaGCN,能避免很多归一化带来的伪信号。

核心差异速查
· BayesSpace:需要log-normalized counts,推荐使用Seurat或SCTransform预处理。
· SpaGCN:可直接使用raw counts,但建议结合scale_factor参数调整。

4.5 一个简单的选择决策图

下面这张图,是我自己动手画的,帮你理清两种算法各自的假设路径。注意,这张图只反映核心假设差异,不是完整的算法流程图。

BayesSpace vs SpaGCN:核心假设对比 空间转录组数据 BayesSpace MRF先验(邻居影响) 贝叶斯后验推断 (MCMC) 输出聚类 + 置信区间 SpaGCN 图卷积 (GCN) 端到端优化 (交叉熵) 输出聚类 + 概率软分配 关键假设差异: BayesSpace依赖显式空间先验;SpaGCN依赖图结构隐式编码

4.6 归纳总结:什么时候选谁

我做了张对比表,把两个算法的核心假设和适用场景彻底列清楚。你在项目立项时,先花5分钟对照这张表,就能避掉80%的坑。

决策维度偏好BayesSpace偏好SpaGCN
数据规模单样本切片(1万~5万spot)多样本合并或大规模(>10万spot)
组织形态清晰度有H&E图像,并且染色质量好只依赖坐标,不在乎图像
需要的输出类型聚类好需要不确定性度量只要求硬聚类,不关心后验
计算资源可接受MCMC耗时(30min+)GPU加速,通常几分钟完成
空间连续性要求组织边界明显,希望分割清晰无严格边界,追求全局分组
个人经验小贴士: 如果你刚接触空间转录组,我建议先用SpaGCN快速跑出初版聚类,看看组织的主要分区。然后再用BayesSpace在感兴趣的区域做精细化调整。两个算法不冲突,可以组合使用。