1
import random,math
def gibbs(N=50000,thin=1000):
x=0
y=0
print "Iter x y"
for i in range(N):
for j in range(thin):
x=random.gammavariate(3,1.0/(y*y+4))
y=random.gauss(1.0/(x+1),1.0/math.sqrt(2*x+2))
print i,x,y
gibbs()
上面的python代码是吉布斯采样和下面的行混淆了我。忽略Gibbs采样中的样本
for j in range(thin):
那个额外的内循环的意义是什么?
重复'for'循环'thin'次的主体? (请注意'x'和'y'都是在主体中读取和分配的) –
我知道。但是动机是什么? – Wyatt