使用连续时间马尔可夫链模拟样品路径

时间:2018-11-20 19:25:48

标签: r markov-chains

我正在尝试使用连续时间markov链来模拟样本路径。这就是我所做的:

set.seed(183427)
require(ECctmc)

# rates
r1 <- 1 # 1->2
r2 <- 0.75 # 2->3
r3 <- 0.5 # 3->1
r4 <- 0.5 # 3-> 2
Q <- matrix(c(-r1, r1, 0, 0, -r2, r2, r3, r4, -(r3+r4)),nrow = 3, byrow = TRUE)

# sample path
path <- sample_path(a=1, b = 3,t0=0, t1=5, Q=Q)


plot(stepfun(x=path[1:(nrow(path)-1),"time"], y = path[,"state"]), xlim = c(0,5), xlab = "Time", ylab = "State", main = "Sample path")

这工作正常,我得到一个图形作为输出,其中在y轴上有状态,在x轴上有时间。但是,在这种情况下,我必须指定结束状态b。我想修改此代码,以使我不必指定结束状态,而只需给出一个速率矩阵,初始分布和时间间隔T的长度作为输入。但是我不知道该怎么做。帮助将不胜感激。

0 个答案:

没有答案