• Aucun résultat trouvé

2.3 Simulations Monte Carlo

2.3.2 L’algorithme de Metropolis-Hastings

La méthode Monte Carlo présentée à la section précédente n’est pas tou- jours applicable. Dans le contexte des modèles sur réseau, on cherche à approximer la valeur moyenne d’une observable O,

hOi = Z−1X x∈ χ

Oxpx, (2.3.3)

où χ est un ensemble fini de points (les configurations du modèle sur ré- seau), px est le poids statistique (de Boltzmann) attribué à x, Z = Px∈χpx est la fonction de partition et Ox = O(x) la valeur de l’observable pour la configuration x. Cette expression est la version discrète de (2.3.1), avec g(x) = Z−1Oxpx, pour tout x ∈ χ. Dans l’article au prochain chapitre, on

cherche à approximer certaines valeurs moyennes d’observables dans la li- mite thermodynamique, lorsque le réseau comprend une infinité de sites3.

On réalise cela en extrapolant à partir d’un ensemble de valeurs moyennes approximées (éq. (2.3.3)) obtenues pour des réseaux ne comportant pas la même quantité de sites. Même pour les réseaux comprenant peu de sites, l’ensemble χ associé comprend un nombre considérable de configurations et il n’est pas possible de déterminer Z explicitement ; ainsi la fonction g(x) demeure partiellement inconnue. Par conséquent, la méthode de la section précédente est inutilisable ici.

L’algorithme de Metropolis-Hastings (MH), une méthode Monte Carlo par chaîne de Markov (MCMC), est spécialement conçu afin d’approximer ef- ficacement (2.3.3). Largement employé en physique statistique, cet algo- rithme, dévoilé en 1953, est le fruit du travail de Metropolis, Rosenbluth, Rosenbluth, Teller et Teller [81]. La version plus générale présentée ici a été développée par Hastings [50] en 1970. Comme nous le constaterons plus loin, l’algorithme MH est attrayant puisqu’il permet, entre autres, d’ap- proximer hOi sans devoir connaître explicitement la densité πx = px/Z : seul le rapport πx/πy = px/py, pour x, y ∈ χ, est nécessaire.

L’idée derrière les méthodes MCMC est la suivante. Plutôt que de choi- sir aléatoirement des points en respectant une densité ω, on définit une suite de variables aléatoires dépendantes,

{Xi, i ∈ N}, (2.3.4)

à valeurs dans χ. L’indice i des v.a. Xidoit être interprété comme un temps discret : X0est déterminée en premier, X1en deuxième, etc. Cette suite doit respecter certaines conditions afin de permettre l’approximation de (2.3.3).

3Ou de cellules, s’il s’agit d’un modèle de boucles comme LM(p, p0)(section2.1) ou

Définition 2.3.1 (Propriété de Markov). Une suite de variables aléatoires {Xi, i ∈ N} est appelée chaîne de Markov si l’égalité des probabilités condi- tionnelles suivantes est vérifiée :

P[Xi+1 = x| X0 = x0, X1= x1, . . . , Xi = xi] =P[Xi+1 = x| Xi = xi]. Pour une telle chaîne, la valeur de Xi+1est déterminée aléatoirement à par- tir de celle de Xi(Xiet Xi+1sont dépendants), sans tenir compte des valeurs obtenues auparavant. La probabilité de passer du point x au point y, à un instant i quelconque, est définie par le coefficient Pxy de la matrice de Mar- kov P :

Pxy =P[Xi+1 = y| Xi = x].

Si les coefficients sont indépendants de i, donc du temps, on dira que la chaîne associée à P est stationnaire. Par cohérence, il faut s’assurer de la

normalisation X

y∈ χ

Pxy = 1. (2.3.5)

Ainsi, la probabilité de rejoindre un point quelconque y de χ à partir de x ∈ χ est de 1. À l’aide de la matrice de Markov, on peut déterminer la probabilité d’atteindre y à partir de x en exactement n étapes. En effet, si Xj = x, alors P[Xj+n = y| Xj = x] = X z1,...,zn∈ χ P[Xj+1= z1| Xj = x]P[Xj+2 = z2| Xj+1= z1] × · · · × P[Xj+n = y| Xj+n−1 = zn] = X z1,...,zn Pxz1Pz1z2× · · · × Pzny = (Pn)xy.

la probabilité (Pn)

xy d’atteindre y depuis x en un nombre fini n de tran- sitions est strictement positive, alors la chaîne de Markov correspondante est dite ergodique.

Pour une chaîne possédant cette propriété, on peut montrer (Grinstead et Snell [47]) que Pn → W, où W est une matrice dont les rangées sont toutes égales au vecteur w, quand n→ ∞. Les composantes de ce vecteur sont strictement positives et leur somme est 1 : w définit l’unique densité stationnaire de la chaîne. Une telle densité a la propriété suivante.

Définition 2.3.3 (Équilibre global). Le vecteur ligne w de la matrice W = limn→∞Pn, où P est la matrice de Markov d’une chaîne ergodique, respecte l’équilibre global,

wP = w. (2.3.6)

Par exemple, si Xj suit la densité stationnaire w, alors P[Xj = x] = wx = P

y∈χwyPyx, d’après la définition précédente. L’équilibre global implique que wPr = wpour r ≥ 0, donc toute v.a. Xj+rsubséquente à Xjest aussi de densité w : P[Xj+r = x] = X y∈ χ P[Xj = y]P[Xj+r= x| Xj = y] =X y∈ χ P[Xj = y] (Pr)yx =X y∈ χ wy(Pr)yx = wx.

L’ergodicité joue un rôle central dans l’approximation de la valeur moyenne (2.3.3). Supposons une chaîne de Markov ergodique{Xi, i ∈ N} de densité stationnaire w = π, où π est la densité de l’équation à approximer. Alors,

on peut montrer que l’estimateur ^ On = 1 n n−1 X i=0 OXi

converge en probabilité vers hOi lorsque n → ∞. Lors d’expériences nu- mériques, il est courant de rejeter les premiers Xj de la chaîne obtenus par l’algorithme, dont la densité n’est pas « suffisamment proche » de la densité stationnaire w, pour améliorer la convergence vers hOi : c’est la thermalisation de la chaîne.

Pour parvenir à l’approximation de hOi, il faut élaborer une méthode construisant une chaîne de Markov ergodique de densité stationnaire w = π. L’algorithme de Metropolis-Hastings propose un tel procédé. Le théorème suivant servira à définir cet algorithme.

Théorème 2.3.1 (Metropolis-Hastings). Soit Xj−1 une v.a. de densité π sur χ, U une v.a. de densité uniforme sur [0, 1] et soit Y une v.a. sur χ de densité conditionnelle P[Y = y| Xj−1= xj−1] = qxj−1y. En définissant Xjpar

Xj =    Y si U ≤ αXj−1Y Xj−1 autrement,

où αxyest tel que

0≤ αxy ≤ 1 et αxyπxqxy = αyxπyqyx, (2.3.7)

alors Xja la densité π.

Pour la preuve voir Fishman [44]. La v.a. Y propose une valeur de rem- placement pour Xj, qui est acceptée seulement si U prend une valeur in- férieure ou égale à la fonction d’acceptation αXj−1Y. Autrement, aucun chan- gement n’a lieu et Xj = Xj−1. La fonction qxy est appelée loi de proposition.

À l’instar de la densité ω de la section précédente, qxy est un paramètre libre déterminé par le jugement de l’expérimentateur. Pour les expériences numériques au chapitre suivant, nous avons choisi qxy constante (loi uni- forme) et symétrique (qxy = qyx). Un choix populaire4, pour la fonction

d’acceptation αxy est

αxy =min  1,πyqyx πxqxy  .

Par un court calcul, on vérifie que ce choix satisfait la condition (2.3.7) ci- dessus.

Voici maintenant l’algorithme implémentant le théorème précédent, étape par étape, à partir d’un X0 quelconque.

(i) En j = 1, tirer aléatoirement une valeur pour Y à partir de la loi de propo- sition qXj−1Y.

(ii) Tirer la valeur de U uniformément dans [0, 1]. (iii) Si U ≤ αXj−1Y =min  1, πYqYXj−1 πXj−1qXj−1Y  , alors Xj = Y. Sinon, Xj = Xj−1.

(iv) Répéter les étapes (i)–(iii) pour j = 2, 3, . . . , n.

La procédure génère une chaîne de Markov ergodique de densité station- naire π à partir d’une v.a. X0 de densité inconnue. La valeur explicite de π n’est pas nécessaire puisque seul le rapport πx/πy = px/py est utilisé. (Rappelons que, dans notre cas, le poids px est le poids de Boltzmann de la configuration x.) Pour x 6= y, on déduit de la procédure que P[Xj = y| Xj−1 = x] = Pxy est le produit de P[Y = y| Xj−1 = x] = qxy par P[U ≤ αxy] = αxy. La normalisation (2.3.5) fournit ensuite l’expression pour Pxx. 4Cette définition maximise la probabilité d’acceptation, c’est-à-dire la probabilité que

U≤ αXj−1Y se réalise. Ceci est souhaitable et permet à la chaîne d’atteindre rapidement sa densité stationnaire π.

Ainsi, l’algorithme MH engendre la matrice de Markov Pxy =          αxyqxy si x 6= y 1 −X z∈ χ z6=x αxzqxz si x = y.

On note que Pxy ≥ 0 pour tous x, y ∈ χ et aussi πxPxy = πyPyx.

Cette dernière propriété est appelée réversibilité. Combinée à la normali- sation Py∈χPxy = 1, celle-ci implique l’équilibre global (éq. (2.3.6)) ainsi que l’unicité de π. La chaîne générée est donc bien une chaîne de Markov ergodique de densité stationnaire π.

Documents relatifs