R: Various function to perform structural analysis of DTMC

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 `markovchain` object.

### 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 classes

`transientClasses`

  analogously to `communicatingClasses`, but with transient classes

`transientStates`

  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

`markovchain`

### 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)

[Package markovchain version 0.8.6 Index]