sim_markov_backward: Simulate Markov chain backwards in time.

Description Usage Arguments Value See Also Examples

Description

sim_markov_backward returns a simulated realisation of a Markov chain backwards in time from a known value and time.

Usage

1
sim_markov_backward(num_states, fixed_values, behav_params)

Arguments

num_states

Numeric, number of (behavioural) states in the Markov chain.

fixed_values

List with components:

inc_times

Vector of length two, start and end times of the simulation.

inc_behav

Vector of length one, end known value (behaviour) of the simulation.

behav_params

List with components:

lambda

Vector of length num_states, switching rates out of each state.

q

Sqaure matrix size num_states, probability of switching from (row) each state to (column) another. Diagonal elements are NA.

Value

List with the components:

times

Vector, switching times of the simulation. Includes the fixed end points.

states

Vector, states at switching times of the simulation. Includes the fixed end points.

See Also

calc_markov_steady_state and calc_reverse_markov_gen for calculating Markov steady state/equilibrium distribution and reverse-time generator matrices, respectively.

Other Markov chain simulations: calc_markov_steady_state, sim_markov_bridge, sim_markov_forward

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
end_points <- list(inc_times = c(0,10),
                   inc_behav = c(3))
param <- list(lambda = c(0.1,0.2,0.3),
              q = matrix(c(NA,0.5,0.3,0.35,NA,0.7,0.65,0.5,NA),nrow=3))

set.seed(123)
sim_markov_backward(3, end_points, param)
# $times
# [1]  0.000000  7.188476 10.000000
#
# $states
# [1] 1 3 3

set.seed(2712)
sim_markov_backward(3, end_points, param)
# $times
# [1]  0.000000  4.467302  4.691276  8.101915 10.000000
#
# $states
# [1] 2 3 1 3 3

a-parton/CTStepTurn documentation built on May 14, 2019, 4:17 p.m.