R中的马尔可夫链

R中的马尔可夫链,r,markov-chains,markov,stochastic,stochastic-process,R,Markov Chains,Markov,Stochastic,Stochastic Process,假设我们有一个十态系统,其中一个观测值可以以相同的概率进入系统的十个状态中的任何一个,并以相同的概率从给定状态移动到一个新状态(观测值的新状态不以其先前状态为条件,观测值可以保持在其当前状态)。此外,一个人可以在任何时候(包括其当前状态)在给定的十种状态中的任何一种状态下“死亡”。这究竟是如何在R中设置的,还是在R中甚至不可能 这听起来像是一个分区建模问题。您可以使用SimInf包来解决此问题: library(SimInf) 定义10个隔间的名称: compartments <- le

假设我们有一个十态系统,其中一个观测值可以以相同的概率进入系统的十个状态中的任何一个,并以相同的概率从给定状态移动到一个新状态(观测值的新状态不以其先前状态为条件,观测值可以保持在其当前状态)。此外,一个人可以在任何时候(包括其当前状态)在给定的十种状态中的任何一种状态下“死亡”。这究竟是如何在R中设置的,还是在R中甚至不可能

这听起来像是一个分区建模问题。您可以使用
SimInf
包来解决此问题:

library(SimInf)
定义10个隔间的名称:

compartments <- letters[1:10]
初始化模型:

model <- mparse(transitions = c(enterexit, transitions),
                compartments = compartments,
                k1 = 0.5,
                k2 = 0.5,
                k3 = 0.5)
model <- init(model, u0, tspan)
获取每个时间步每个隔室中单元数的数据帧

df <- trajectory(ob)

df为什么
markovchain
软件包不适合您?或者,您已经尝试一步一步地实现它:?非常感谢您的示例!但是,如果我想知道与每种状态相关的衰减,即观测值在当前状态下停留x天的概率,该怎么办?上面的例子使用了。个体在每个隔间内花费的平均时间与导致其离开隔间的速率之和成反比。在这种情况下:1/(k2+k3),即1/(死亡率+移动率)。到下一个事件的时间呈指数分布。
u0 <-  data.frame(a = 0,
                  b = 0,
                  c = 0,
                  d = 0,
                  e = 0,
                  f = 0,
                  g = 0,
                  h = 0,
                  i = 0,
                  j = 0)
tspan = 1:100
model <- mparse(transitions = c(enterexit, transitions),
                compartments = compartments,
                k1 = 0.5,
                k2 = 0.5,
                k3 = 0.5)
model <- init(model, u0, tspan)
ob <- run(model)
plot(ob, N = TRUE)
df <- trajectory(ob)