Amostragem de Gibbs para o modelo Ising

11

Pergunta de lição de casa:

Considere o modelo Ising 1-d.

Vamos . x i é -1 ou +1x=(x1,...xd)xi

π(x)ei=139xixi+1

Crie um algoritmo de amostragem de gibbs para gerar amostras aproximadamente a partir da distribuição alvo .π(x)

Minha tentativa:

Aleatoriamente escolher valores (ou -1 ou 1) para enchimento do vetor . Então talvez x = ( - 1 , - 1 , 1 , 1 , 1 , - 1 , 1 , 1 , . . . , 1 ) . Então isso é x 0 .x=(x1,...x40)x=(1,1,1,1,1,1,1,1,...,1)x0

Então agora precisamos seguir em frente e fazer a primeira iteração. Temos que desenhar os 40 x diferentes para separadamente. Assim...x1

Desenhar de π ( x 1 | x 0 2 , . . . , X 0 40 )x11π(x1|x20,...,x400)

Desenhar de π ( x 2 | x 1 1 , x 0 3 , . . . , X 0 40 )x21π(x2|x11,x30,...,x400)

x31π(x3|x11,x21,x40,...,x400)

Etc ..

π(x)ei=139xixi+1

Collin
fonte

Respostas:

11

x1

π(x1x2,,xd)=π(x1,x2,,xd)π(x2,,xd)ex1x2
P(X1=1X2=x2,,Xn=xn)=ex2C
P(X1=1X2=x2,,Xn=xn)=ex2C
ex2C+ex2C=1C=2coshx2
x_1 <- sample(c(-1, 1), 1, prob = c(exp(-x_2), exp(x_2)) / (2*cosh(x_2)))

x2,,x40

Você pode usar os resultados analíticos da Ising para verificar sua simulação?

zen
fonte
x1x2x23x24x40i=1
1
x2x39π(xix1,,xi1;xi+1,,xd) exp(xi1xi+xixi+1)xi=±1