Échantillonnage de Gibbs pour le modèle d'Ising

11

Question de devoirs:

Prenons le modèle d'Ising 1-d.

Soit . vaut -1 ou +1x=(x1,...xd)xi

π(x)ei=139xixi+1

Concevez un algorithme d'échantillonnage gibbs pour générer des échantillons approximativement à partir de la distribution cible π(x) .

Ma tentative:

Choisissez au hasard des valeurs (-1 ou 1) pour remplir le vecteur x=(x1,...x40) . Alors peut-être x=(1,1,1,1,1,1,1,1,...,1) . C'est donc x0 .

Alors maintenant, nous devons continuer et faire la première itération. Nous devons dessiner séparément les 40 x différents pour x1 . Donc...

Dessinez x11 partir de π(x1|x20,...,x400)

Dessinez x21 partir de π(x2|x11,x30,...,x400)

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

Etc..

Donc, la partie qui me fait trébucher est de savoir comment puiser dans la distribution conditionnelle. Comment π(x)ei=139xixi+1 entre en jeu? Peut-être qu'un exemple d'un tirage au sort clarifierait les choses.

Collin
la source

Réponses:

11

Regardez d'abord ce cas. Suppression de termes qui ne dépendent pas de , nous l'avons. 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)))

Généralisez-le à (prenez note des différences; voir le commentaire d'Ilmari ci-dessous).x2,,x40

Pouvez-vous utiliser les résultats analytiques d'Ising pour vérifier votre simulation?

Zen
la source
Ainsi, il finit par ne dépendre que de la valeur immédiatement antérieure dans le vecteur, c'est-à-dire que le seul terme qui dépend de est , le seul terme qui dépend de est , etc. de ? Comment la dessiner puisque la distribution conditionnelle ne semble s'appliquer que pour à 39? x1x2x23x24x40i=1
Collin
1
@ user2079802: Non, pour à vous obtenez deux termes dans l'exposant: . Mais il est encore assez facile d'évaluer cela pour . x2x39π(xix1,,xi1;xi+1,,xd) exp(xi1xi+xixi+1)xi=±1
Ilmari Karonen