Given a sequence of states arising from a stationary state, it fits the underlying Markov chain distribution with higher order.
fitHigherOrder(sequence, order = 2)
seq2freqProb(sequence)
seq2matHigh(sequence, order)
A list containing lambda, Q, and X.
Ching, W. K., Huang, X., Ng, M. K., & Siu, T. K. (2013). Higher-order markov chains. In Markov Chains (pp. 141-176). Springer US.
Ching, W. K., Ng, M. K., & Fung, E. S. (2008). Higher-order multivariate Markov chains and their applications. Linear Algebra and its Applications, 428(2), 492-507.
sequence<-c("a", "a", "b", "b", "a", "c", "b", "a", "b", "c", "a", "b",
"c", "a", "b", "c", "a", "b", "a", "b")
fitHigherOrder(sequence)
#> $lambda
#> [1] 1.000000e+00 1.626303e-08
#>
#> $Q
#> $Q[[1]]
#> a b c
#> a 0.125 0.4285714 0.75
#> b 0.750 0.1428571 0.25
#> c 0.125 0.4285714 0.00
#>
#> $Q[[2]]
#> a b c
#> a 0.1428571 0.5714286 0.25
#> b 0.4285714 0.2857143 0.75
#> c 0.4285714 0.1428571 0.00
#>
#>
#> $X
#> a b c
#> 0.4 0.4 0.2
#>