Dynamic Bayesian Networks – Inference Techniques and Applications

bayesian networkstate-space-modelstime series

I have a lot of time-series data for physical systems, where the underlying state-space model is quite complex and definitely not linear, so a Kalman Filter is out of the question. Following the ideas in the paper Bayesian networks for mathematical models: Techniques for automatic construction and efficient inference, I would like to use Dynamic Bayesian Networks (DBN) to model these problems. What are the most common approaches to define these DBN, and subsequently perform inference? I'd prefer methods for which libraries/packages in R or Python are available, to avoid reinventing the wheel.

Note: I don't expect to learn the topology of the network from data (at least not right at the start of the activity!). For now I'm with deriving the network structure from domain knowledge (physical laws). However, I need a flexible framework for inference, because I will apply it to many different DBN, not to just one fixed topology.

Best Answer

I personally think the question is too broad to be answered well, But I still want to give some suggestions.

I feel Murphy's introduction to graphical models is very useful and it covers Bayesian Network with discrete time very well. If you have not checked this, I would recommend to read this first.

A Brief Introduction to Graphical Models and Bayesian Networks


To build a Bayesian network (with discrete time or dynamic bayesian network), there are two parts, specify or learn the structure and specify or learn parameter.

To my experience, it is not common to learn both structure and parameter from data.

  • People often use the domain knowledge plus assumptions to make the structure
  • And learn the parameters from data.

A useful R library can be found in BNLearn, it supports both structure and parameter learning.


Finally I may suggest you to check some Recurrent Neural Network literatures. The deep learning book chapter 10 gives very nice explanation on the relationship between dynamic bayesian network and recurrent neural network. Deep learning is a really hot area recently, and there are more resources there.

Related Question