period {markovchain} | R Documentation |
Various function to perform structural analysis of DTMC
Description
These functions return absorbing and transient states of the markovchain
objects.
Usage
period(object)
communicatingClasses(object)
recurrentClasses(object)
transientClasses(object)
transientStates(object)
recurrentStates(object)
absorbingStates(object)
canonicForm(object)
Arguments
object |
A |
Value
period
returns a integer number corresponding to the periodicity of the Markov chain (if it is irreducible)
absorbingStates
returns a character vector with the names of the absorbing states in the Markov chain
communicatingClasses
returns a list in which each slot contains the names of the states that are in that communicating class
recurrentClasses
analogously to
communicatingClasses
, but with recurrent classestransientClasses
analogously to
communicatingClasses
, but with transient classestransientStates
returns a character vector with all the transient states for the Markov chain
recurrentStates
returns a character vector with all the recurrent states for the Markov chain
canonicForm
returns the Markov chain reordered by a permutation of states so that we have blocks submatrices for each of the recurrent classes and a collection of rows in the end for the transient states
Author(s)
Giorgio Alfredo Spedicato, Ignacio Cordón
References
Feres, Matlab listing for markov chain.
See Also
Examples
statesNames <- c("a", "b", "c")
mc <- new("markovchain", states = statesNames, transitionMatrix =
matrix(c(0.2, 0.5, 0.3,
0, 1, 0,
0.1, 0.8, 0.1), nrow = 3, byrow = TRUE,
dimnames = list(statesNames, statesNames))
)
communicatingClasses(mc)
recurrentClasses(mc)
recurrentClasses(mc)
absorbingStates(mc)
transientStates(mc)
recurrentStates(mc)
canonicForm(mc)
# periodicity analysis
A <- matrix(c(0, 1, 0, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0, 0.5, 0, 0, 1, 0),
nrow = 4, ncol = 4, byrow = TRUE)
mcA <- new("markovchain", states = c("a", "b", "c", "d"),
transitionMatrix = A,
name = "A")
is.irreducible(mcA) #true
period(mcA) #2
# periodicity analysis
B <- matrix(c(0, 0, 1/2, 1/4, 1/4, 0, 0,
0, 0, 1/3, 0, 2/3, 0, 0,
0, 0, 0, 0, 0, 1/3, 2/3,
0, 0, 0, 0, 0, 1/2, 1/2,
0, 0, 0, 0, 0, 3/4, 1/4,
1/2, 1/2, 0, 0, 0, 0, 0,
1/4, 3/4, 0, 0, 0, 0, 0), byrow = TRUE, ncol = 7)
mcB <- new("markovchain", transitionMatrix = B)
period(mcB)