[论文解读] Blockmodels: A R-package for estimating in Latent Block Model and Stochastic Block Model, with various probability functions, with or without covariates
本论文介绍了 Blockmodels R 包,用于估计具有多种概率分布(伯努利、高斯和泊松)的潜在块模型(LBM)和随机块模型(SBM),支持带协变量与不带协变量的建模。该包通过 RcppArmadillo 在 C++ 中实现变分期望最大化(EM)算法,以实现高效计算,支持使用 ICL 准则自动选择聚类数量,并通过并行化和向量化操作实现对大规模网络(最多数千个节点)的可扩展分析。
Analysis of the topology of a graph, regular or bipartite one, can be done by clustering for regular ones or co-clustering for bipartite ones. The Stochastic Block Model and the Latent Block Model are two models, which are very similar for respectively regular and bipartite graphs, based on probabilistic models. Initially developed for binary graphs, these models have been extended to valued networks with optional covariates on the edges. This paper present a implementation of a Variational EM algorithm for Stochastic Block Model and Latent Block Model for some common probability functions, Bernoulli, Gaussian and Poisson, without or with covariates, with some standard flavors, like multivariate extensions. This implementation allow automatic group number exploration and selection via the ICL criterion, and allow analyze networks with thousands of nodes in a reasonable amount of time.
研究动机与目标
- 开发一个灵活且高效的 R 包,用于拟合复杂网络的随机块模型(SBM)和潜在块模型(LBM)。
- 支持多种概率分布(伯努利、高斯、泊松),并可在边中引入协变量,以更好地建模现实世界网络数据。
- 通过 ICL 准则实现聚类数量的自动选择,提升模型的稳健性和可解释性。
- 通过优化的 C++ 计算、向量化操作和 R 中的并行执行,确保大规模网络(数千个节点)的可扩展性。
- 提供用户友好的 R 接口,将非计算密集型任务完整集成在 R 中,同时将计算密集型操作卸载至 C++。
提出的方法
- 实现 SBM 和 LBM 的变分 EM 算法,利用平均场近似简化难以计算的后验概率。
- 使用 RcppArmadillo 将 C++ 代码与 R 接口连接,加速大规模网络估计中关键的矩阵运算。
- 支持多种似然族:伯努利(二值)、高斯(连续)和泊松(计数)网络,均支持带协变量与不带协变量的情形。
- 应用向量化 E 步骤和 M 步骤计算以提高效率,尤其在 M 步骤中,当存在闭式解时优先使用。
- 通过 ICL 准则实现聚类数量的自动探索,并采用重新初始化策略以提高收敛至全局最优解的稳定性。
- 利用 R 的 parallel 包实现并行化,同时运行多个初始化,提升结果的可靠性与计算速度。
实验结果
研究问题
- RQ1如何高效估计具有多样化边分布的大规模网络的随机块模型和潜在块模型?
- RQ2在现实世界网络中,协变量的引入在多大程度上提升了 SBM 和 LBM 的模型拟合度与可解释性?
- RQ3通过 ICL 准则实现的自动聚类数量选择是否能可靠地识别出 SBM 和 LBM 的最优聚类数,而无需先验知识?
- RQ4所提出的实现方案在具有数千个节点的网络上的计算性能如何?其随模型复杂度的扩展性如何?
- RQ5不同似然族(伯努利、高斯、泊松)及其含协变量的变体在估计速度和准确性方面表现如何?
主要发现
- Blockmodels 包成功实现了在多种概率分布(包括伯努利、高斯和泊松)下对 SBM 和 LBM 的估计,支持带协变量与不带协变量的情形。
- 执行时间根据模型复杂度从数秒到数小时不等:例如,在 200 个节点、10 个聚类的泊松模型中加入协变量,平均耗时约 3 小时 49 分钟。
- 具有独立分量的高斯多元模型估计速度最快(100 个节点耗时 5 秒,200 个节点耗时 1 分 3 秒),表现出极高的效率。
- 该实现支持高达数千个节点的网络,并得益于向量化操作和并行化,能良好地随模型复杂度扩展。
- 使用 ICL 准则进行自动聚类数量选择是有效的,且重新初始化策略显著提升了收敛稳定性。
- 通过 C++ 加速和高效的内存管理,该包实现了高性能,优于以往仅使用 C++ 的实现,在灵活性和模型可用性方面更具优势。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。