Describing the relationship between the variables in a study domain and modelling the data generating mechanism is a fundamental problem in many empirical sciences. Probabilistic graphical models are one common approach to tackle the problem. Learning the graphical structure for such models is computationally challenging and a fervent area of current research with a plethora of algorithms being developed. To facilitate the benchmarking of different methods, we present a novel Snakemake workflow, called Benchpress for producing scalable, reproducible, and platform-independent benchmarks of structure learning algorithms for probabilistic graphical models. Benchpress is interfaced via a simple JSON-file, which makes it accessible for all users, while the code is designed in a fully modular fashion to enable researchers to contribute additional methodologies. Benchpress currently provides an interface to a large number of state-of-the-art algorithms from libraries such as BDgraph, BiDAG, bnlearn, causal-learn, gCastle, GOBNILP, pcalg, r.blip, scikit-learn, TETRAD, and trilearn as well as a variety of methods for data generating models and performance evaluation. Alongside user-defined models and randomly generated datasets, the workflow also includes a number of standard datasets and graphical models from the literature, which may be included in a benchmarking study. We demonstrate the applicability of this workflow for learning Bayesian networks in five typical data scenarios. The source code and documentation is publicly available from http://benchpressdocs.readthedocs.io.
翻译:描述研究领域中变量之间的关系并建模数据生成机制是许多实证科学的基本问题。概率图模型是解决该问题的常用方法之一。学习此类模型的图结构在计算上具有挑战性,且目前是研究的热点领域,已有大量算法被开发出来。为促进不同方法的基准测试,我们提出了一种名为Benchpress的新型Snakemake工作流,用于对概率图模型的结构学习算法进行可扩展、可重复且平台无关的基准测试。Benchpress通过简单的JSON文件进行交互,方便所有用户使用,同时代码采用完全模块化设计,便于研究人员贡献额外方法。Benchpress目前提供了多个来自BDgraph、BiDAG、bnlearn、causal-learn、gCastle、GOBNILP、pcalg、r.blip、scikit-learn、TETRAD和trilearn等库的最新算法的接口,以及多种数据生成模型和性能评估方法。除用户自定义模型和随机生成数据集外,该工作流还包括文献中的多个标准数据集和图模型,可用于基准测试研究。我们展示了该工作流在五种典型数据场景中学习贝叶斯网络的适用性。源代码和文档可在http://benchpressdocs.readthedocs.io公开获取。