Próbkowanie Gibbsa dla modelu Isinga

11

Pytanie do pracy domowej:

Rozważ model 1-d Isinga.

Niech . wynosi -1 lub +1x=(x1,...xd)xi

π(x)ei=139xixi+1

Zaprojektuj algorytm próbkowania Gibbs do generowania próbek w przybliżeniu z rozkładu docelowego .π(x)

Moja próba:

Losowo wybierz wartości (-1 lub 1), aby wypełnić wektor . Więc może . To jest .x=(x1,...x40)x=(1,1,1,1,1,1,1,1,...,1)x0

Teraz musimy przejść do pierwszej iteracji. Musimy narysować 40 różnych x dla osobno. Więc...x1

Narysuj z π ( x 1 | x 0 2 , . . . , x 0 40 )x11π(x1|x20,...,x400)

Narysuj z π ( x 2 | x 1 1 , x 0 3 , . . . , x 0 40 )x21π(x2|x11,x30,...,x400)

Narysuj z π ( x 3 | x 1 1 , x 1 2 , x 0 4 , . . . , x 0 40 )x31π(x3|x11,x21,x40,...,x400)

Itp..

Więc to, co mnie potyka, to sposób, w jaki czerpiemy z rozkładu warunkowego. Jak wchodzi w grę ? Może przykład jednego losowania wyjaśni wszystko.π(x)ei=139xixi+1

Collin
źródło

Odpowiedzi:

11

Najpierw spójrz na tę skrzynkę. Usuwamy warunki, które nie zależą od , mamy. π ( x 1x 2 , , x d ) = π ( x 1 , x 2 , , x d )x1P(X1=-1X2=x2,,Xn=xn)=e - x 2

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

Uogólnij to na (zwróć uwagę na różnice; patrz komentarz Ilmari poniżej).x2,,x40

Czy możesz użyć wyników analitycznych Isinga do sprawdzenia swojej symulacji?

Zen
źródło
Tak więc kończy się to tylko zależnością od wartości bezpośrednio przed nim w wektorze, tj. Jedynym terminem zależnym od jest , jedynym terminem zależnym od jest itd. Co z przypadkiem z ? Jak go narysować, skoro rozkład warunkowy wydaje się mieć zastosowanie tylko dla do 39? x1x2x23x24x40i=1
Collin,
1
@ user2079802: Nie, dla do otrzymujesz dwa wykładniki w wykładniku: . Ale nadal łatwo jest to ocenić dla . x 39 π ( x ix 1 , , x i - 1 ; x i + 1 , , x d ) exp ( x i - 1 x i + x i x i + 1 ) x i = ± 1x2x39π(xix1,,xi1;xi+1,,xd) exp(xi1xi+xixi+1)xi=±1
Ilmari Karonen