.. index:: Dynamic Bayesian Network

.. _Dynamic_Bayesian_Network:

Dynamic Bayesian Network
========================

Dynamic Bayesian (or Belief) Networks (DBNs) are used to model systems that evolve over time. The state of the system at a single time instant is modeled using an ordinary static Bayesian network. By linking together a number of these networks, a dynamic model is obtained. The part of the network corresponding to a single time instant is called a time slice.

When modeling a system that evolves over time, random variables at a given time instant typically depend on the state of the system at past time instants. In order to specify time dependencies, :ref:`temporal clones<temporal_clone>` can be constructed for the regular nodes.

Time window
-----------

In runmode the DBN is unfolded and the time slices can be navigated through the :ref:`node list pane<node_list_pane>`.

.. figure:: images/DBN1.png

	Figure 1: Dynamic Bayesian Network in Runmode, time window representing three time slices (T1-T3), node *Condition_prev* is :ref:`temporal clone<temporal_clone>` of *Condition*.

T1-n represents the time slices. T0 represents the temporal nodes prior to T1.

Moving the time window
----------------------

To move the time window one step forward, click the clock icon inside the move time window button |figurehere1|.

.. |figurehere1| image:: images/DBN2.png

It is possible to move the time window an arbitrary number of steps forward. To do this type a number inside the white text area next to the move time window button, eg. |figurehere2|. The mouse pointer must hover over the text field while editing the number. The maximum possible number of steps is 231-1 but to use numbers larger than a few thousands is not advisable due to long response times. If the text field is left empty or illegal values are entered, the default behavior is to move ahead one step.

.. |figurehere2| image:: images/DBN3.png

Evidence for nodes that disappear from the time window become "frozen" (i.e., it cannot be retracted or altered). But the evidence is not forgotten - it is "incorporated" in the beliefs of nodes in future time slices.

To compute beliefs for nodes in time slices that lie beyond the time window use the DBN :ref:`prediction<prediction>` function.

Dynamic Bayesian Networks with Mixed Variables
----------------------------------------------

All kinds of nodes are allowed in HUGIN DBNs. The DBN may include both discrete and continuous chance nodes as well as have temporal clones. In this case, the continuous nodes must follow a conditional linear Gaussian distribution, while both discrete and continuous nodes can have :ref:`temporal clones<temporal_clone>` as demonstrated in the figure below.

.. figure:: images/DBN4.png

	Figure 2: Dynamic Bayesian Network with both discrete and continuous nodes.

However, in the case of mixed discrete and continuous nodes, the model can only be compiled using partial Boyen-Koller approximation, see DBN network properties.