Skip to content


abstract class MarkovModel<Parameter, State> < Model

Markov model.


MarkovModel is deprecated. The preferred design now is to inherit directly from Model and override the simulate() and simulate(Integer) functions to define a Markov model.

classDiagram Model <|-- MarkovModel MarkovModel <|-- HiddenMarkovModel HiddenMarkovModel -- StateSpaceModel link Model "../Model/" link MarkovModel "../MarkovModel/" link HiddenMarkovModel "../HiddenMarkovModel/" link StateSpaceModel "../StateSpaceModel/"

The joint distribution is:

\underbrace{p(\mathrm{d}\theta, \mathrm{d}x_{1:T})}_{\text{joint}} = \underbrace{p(\mathrm{d}\theta)}_{\text{parameter}} \underbrace{p(\mathrm{d}x_1 \mid \theta)}_{\text{initial}} \prod_{t=2}^T \underbrace{p(\mathrm{d}x_t \mid x_{t-1}, \theta)}_{\text{transition}}.

A model derived from MarkovModel overrides the parameter(), initial() and transition() member functions to specify the individual components of the joint distribution. The MarkovModel class itself overrides the simulate() and simulate(t) member functions of Model to call these more specific functions internally.

Member Variables

Name Description
θ:Parameter Parameter.
x:Tape<State> States.

Member Functions

Name Description
parameter Parameter model.
initial Initial model.
transition Transition model.

Member Function Details


function initial(x:State, θ:Parameter)

Initial model.

  • x: The initial state, to be set.
  • θ: The parameters.


function parameter(θ:Parameter)

Parameter model.

  • θ: The parameters, to be set.


function transition(x:State, u:State, θ:Parameter)

Transition model.

  • x: The current state, to be set.
  • u: The previous state.
  • θ: The parameters.