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