Gibbs-Stichprobe für das Ising-Modell

11

Hausaufgabenfrage:

Betrachten Sie das 1-d-Ising-Modell.

Let x=(x1,...xd) . xi ist entweder -1 oder +1

π(x)ei=139xixi+1

Entwerfen Sie einen Gibbs-Abtastalgorithmus, um Abtastwerte ungefähr aus der Zielverteilung zu generieren.π(x) .

Mein Versuch:

Wählen Sie zufällig Werte (entweder -1 oder 1), um den Vektor zu füllen . Also vielleicht . Das ist also .x = ( - 1 , - 1 , 1 , 1 , 1 , - 1 , 1 , 1 , . . . , 1 ) , x 0x=(x1,...x40)x=(1,1,1,1,1,1,1,1,...,1)x0

Jetzt müssen wir also weitermachen und die erste Iteration durchführen. Wir müssen die 40 verschiedenen x für zeichnenx1 separat . So...

Zeichnen Sie von π ( x 1 | x 0 2 , . . . , X 0 40 )x11π(x1|x20,...,x400)

Zeichnen Sie von π ( x 2 | x 1 1 , x 0 3 , . . . , X 0 40 )x21π(x2|x11,x30,...,x400)

Zeichnen von π ( x 3 | x 1 1 , x 1 2 , x 0 4 , . . . , X 0 40 )x31π(x3|x11,x21,x40,...,x400)

Etc..

Der Teil, der mich auslöst, ist also, wie wir tatsächlich aus der bedingten Verteilung ziehen. Wie kommt ins Spiel? Vielleicht würde ein Beispiel für ein Unentschieden die Dinge klären.π(x)ei=139xixi+1

Collin
quelle

Antworten:

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)))

Generalize it to x2,,x40 (take notice of the differences; see Ilmari's comment bellow).

Can you use Ising's analytic results to check your simulation?

Zen
quelle
So, it ends up only being dependent on the value immediately before it in the vector i.e. the only term that depends on x1 is x2, the only term that depends on x23 is x24, etc. What about the case of x40? How do we draw it since the conditional distribution only seems to apply for i=1 through 39?
Collin
1
@user2079802: No, for x2 through x39 you get two terms in the exponent: π(xix1,,xi1;xi+1,,xd) exp(xi1xi+xixi+1). But it's still easy enough to evaluate that for xi=±1.
Ilmari Karonen