rfmc {smfsb} | R Documentation |
Simulate a finite state space Markov chain
Description
This function simulates a single realisation from a discrete time Markov chain having a finite state space based on a given transition matrix.
Usage
rfmc(n,P,pi0)
Arguments
n |
The number of states to be sampled from the Markov chain, including the initial state, which will be sampled using |
P |
The transition matrix of the Markov chain. This is assumed to be a stochastic matrix, having non-negative elements and rows summing to one, though in fact, the rows will in any case be normalised by the sampling procedure. |
pi0 |
A vector representing the probability distribution of the initial state of the Markov chain. If this vector is of length |
Value
An R ts
object containing the sampled values from the Markov chain.
See Also
Examples
# example for sampling a finite Markov chain
P = matrix(c(0.9,0.1,0.2,0.8),ncol=2,byrow=TRUE)
pi0 = c(0.5,0.5)
samplepath = rfmc(200,P,pi0)
plot(samplepath)
summary(samplepath)
table(samplepath)
table(samplepath)/length(samplepath) # empirical distribution
# now compute the exact stationary distribution...
e = eigen(t(P))$vectors[,1]
e/sum(e)