用求和法求马尔可夫链的方法

时间:2018-10-11 13:12:39

标签: r

您好,我现在正在使用R编程来查找马尔可夫链的均值,以便确定链间方差。

问题被解释为“从变化的起始值开始运行长度为L的J链,并丢弃第一个D”。然后给了我以下信息:

Chain 1= x_1^(0),...,x_1^(D),x_1^(D+1),...,x_1^(D+L-1)
....
Chain J= x_J^(0),...,x_J^(D),x_J^(D+1),...,x_J^(D+L-1)

第j条链的均值显示为:

eq1

均值的平均值显示为:

eq2

要求我找到链间差异:

eq3

这是我对它进行编码的尝试:

L=5
D=50
chain1=c(1,2,3,4,6)
chain2=c(2,3,4,5,7)
t=D
for(t in 1:(D+L-1)){
  xbar1=1/L*sum(chain1)
  xbar2=1/L*sum(chain2)
}

xbarj=xbar1+xbar2
J=2
for(j in 1:J){
  overallmean=1/J*sum(xbarj)
}
for(j in 1:J){
  B=L/(J-1)*sum(xbarj-overallmean)^2
}

我得到了答案,但是我不确定这是否是显示答案的正确方法。 我的代码是R编程的,但是如果对学习有帮助,您可以用任何一种编程语言来显示它。

0 个答案:

没有答案