Abstract

Bayesian networks are models to represent dependence structures among variables through a directed acyclic graph (DAG). A challenge in structural learning is that the number of possible DAG grows super-exponentially as the number of variables increases. Most existing works discover structures over either the DAG space or the topological order space. We propose an algorithm that uses Markov chain Monte Carlo (MCMC) to learn Bayesian networks from data, making use of both the DAG space and the topological order space. We first partition the variables of similar topological orders into blocks. The structure search is then conducted over the DAG space within each block to promote more targeted edge moves. Across-block search is also done to ensure the ergodicity of the Markov chain. Both simulation and empirical results suggest that the proposed algorithm enhances efficiency in structural learning.