2.3 Lalgorithme MCMC-EM
2.3.2 Algorithme de Metropolis-Hastings
Lalgorithme de Metropolis-Hastings MH a dabord été introduit parMetropolis et al.1953, pour le calcul dintégrales faisant intervenir des distributions de Boltzmann, et a été généralisé près de 20 ans plus tard parHastings1970. Partant dune loi cible de densité f, on commence par choisir une densité conditionnelle q(·|u), dont on sait facilement simuler des réalisations aléatoires, et qui est soit connue à une constante multiplicative près, soit symétrique cest-à-dire telle que q(v|u) = q(u|v). On suppose également que le rapport f(v)/q(v|u) est connue à une constante multiplicative indépendante de u près¹. Dans notre cas, chaque itération de lalgorithme MH consiste alors à simuler, à partir de létat courant de la chaine u, un candidat v qui sera accepté comme le nouvel état de la chaîne avec une probabilité α(x, y). Plus précisément :
On initialise la chaîne avec U(0), puis pour m = 1, . . . , M : 1. on génère un candidat v ∼ q(· | U(m−1)) 2. on pose U(m) =
v avec une probabilité α(U(m−1), v)
U(m−1) avec une probabilité 1 − α(U(m−1), v) 2.34 où α(u, v) =min ( 1,f(v) f(u) q(u| v) q(v | u) ) . 2.35
On utilise la loi instrumentale q(·|u) pour générer des réalisations de la loi f donc, plus le rapport f/qest faible pour le candidat par rapport à létat courant de la chaîne, plus la probabilité de le rejeter est forte. Intuitivement, la probabilité dacceptation α(u, v) permet de faire un compromis entre les deux conditions suivantes : dune part, on souhaite que lalgorithme se dirige vers des régions de plus forte probabilité sous f, ce qui est contrôlé par le rapport f(v)/f(u) plus celui-ci est haut, plus on accepte le candidat, et dautre part on souhaite éviter que lalgorithme ne reste trop longtemps dans une région spéciique de trop forte probabilité sous q, ce qui est contrôlé par le rapport q(u | v)/q(v | u). Lun des pré-requis nécessaires pour assurer la convergence de lalgorithme est que le support de q(·|u) doit contenir le support de f, ∀u.
Le noyau de transition de la chaîne de Markov générée par lalgorithme MH est donné par K(u, dv) = α(u, v)q(v|u)dv + (1 −∫ α(u, v)q(v|u)dv)δu(dv), où δudésigne la masse de Dirac au point u. En parti-culier, il vériie la condition déquilibre « detailed balanced condition », impliquant que la chaîne admet f comme mesure invariante. Lorsque q(v|u) > 0 ∀u, v la chaîne est irréductible, et elle est également périodique, car P({U(m+1) = U(m)}) > 0.
Dans la pratique, le choix de la distribution instrumentale q inluence fortement la vitesse de conver-gence de la chaîne de Markov vers la loi stationnaire f car il dirige lexploration de lespace détats par la chaîne de Markov Robert et Casella,1999. Deux types dapproches sont utilisées classiquement pour le choix de la loi q :
1. Ce type dapproche est particulièrement utile dans un cadre Bayésien, pour le calcul des lois a posteriori que lon connaît en général à une constante multiplicative près.
Le cas indépendant
Lorsque la loi instrumentale q est indépendante de la position actuelle de la chaîne X(t), lalgorithme peut être vu comme une extension des méthodes dacceptation-rejet. Dans ce cas, la probabilité dacceptation sécrit : α(u, v) =min ( 1,f(v) f(u) q(u) q(v) ) . 2.36
Dans notre cas, rappelons que lon souhaite simuler selon la loi cible f(ϕi|yi; θk). On peut choisir comme loi instrumentale la loi marginale f(ϕi; θk), cest-à-dire la loi normale N (β(k),Γ(k)), où β(k)et Γ(k) correspondent aux estimations courantes des paramètres β et Γ. En notant ˜ϕi le candidat et ϕk,(m)
i
létat actuel de la chaîne, le rapport f(v) f(u)
q(u)
q(v) se simpliie alors de la façon suivante : f( ˜ϕi | yi; θk) f(ϕk,(m)i | yi; θk) f(ϕk,(m)i ; θk) f( ˜ϕi; θk) = f( ˜ϕi, yi; θk)f (yi; θk) f(ϕk,(m)i , yi; θk)f (yi; θk) f(ϕk,(m)i ; θk) f( ˜ϕi; θk) = f(yi | ˜ϕi; θk) f(yi | ϕk,(m)i ; θk). La marche aléatoire
Un autre choix usuel pour la loi instrumentale est celui dune marche aléatoire autour de la valeur actuelle de la chaîne :
v = U(m−1)+ εm, où εmsuit une loi de densité q indépendante de U(m−1).
Dans ce cas, la loi q(v|u) peut sécrire q(v − u). Lorsque, de plus, la loi considérée est symétrique, cest-à-dire lorsque q(u) = q(−u), la probabilité dacceptation sécrit :
α(u, v) =min ( 1,f(v) f(u) ) . 2.37
Dans notre cas, le rapport f(v)
f(u) se simpliie pour ne faire intervenir que des quantités connues : f( ˜ϕi | yi; θk) f(ϕk,(m)i | yi; θk) = f( ˜ϕi, yi; θk)f (yi; θk) f(ϕk,(m)i , yi; θk)f (yi; θk) = f(yi | ˜ϕi; θk)f ( ˜ϕi; θk) f(yi | ϕk,(m)i ; θk)f (ϕk,(m)i ; θk).
Parmi les choix classiques pour la loi q, on relève la loi uniforme, la loi normale ou la loi de Student, centrées autour de 0. Le choix du support de la loi uniforme, ou de la variance des lois normale et de Student va conditionner la vitesse de convergence de lalgorithme. Si la densité est trop concentrée autour de 0, le candidat généré à chaque étape sera souvent accepté, et lexploration de lespace détats sera lente. Si, au contraire, la densité est trop étendue, les candidats proposés seront souvent rejetés car correspondant à des régions de trop faible probabilité sous f, et la chaîne aura donc tendance à rester trop longtemps au même point voir igure2.1.
0 1000 2000 3000 4000 5000 4. 4 4. 6 4. 8 5. 0 5. 2 5. 4 Itération S imulat ions a σ = 0.01 0 1000 2000 3000 4000 5000 4. 4 4. 6 4. 8 5. 0 5. 2 5. 4 Itération S imulat ions b σ = 5
F. 2.1 – Algorithme de Metropolis-Hastings à marche aléatoire gaussienne de moyenne 0 et de variance σ2. Sur la igure de gauche la variance est trop faible, les candidats sont trop souvent acceptés taux dacceptation : 0.80 et la chaîne se déplace lentement. Sur la igure de droite, au contraire, la variance étant trop grande les candidats sont trop souvent rejetés taux dacceptation : 0.04 et la chaîne reste longtemps au même endroit.
Pour assurer une bonne exploration de lespace détats par la chaîne, on peut sintéresser au taux dac-ceptation des candidats, qui doit donc être ni trop élevé ni trop bas. Des valeurs optimales ont été dérivées pour ce taux dacceptation, selon lalgorithme utilisé. Dans le cas de lalgorithme de Metropolis-Hastings multidimensionnel à marche aléatoire, ce taux optimal a été estimé à 0.234 lorsque la dimension de X tend vers linini voir par exempleRoberts et al.1997 ;Roberts et Rosenthal2001 ;Bédard2007,2008. Dans le cas de lalgorithme de MH à marche aléatoire Gaussienne,Gelman et al.1996 ont montré que ce taux optimal correspondait à une matrice de covariance optimale égale à (2.382/nx)Σπ, où Σπest la vraie matrice de covariance de la loi cible, et nx la dimension de X . Plusieurs algorithmes adaptatifs ont alors été développés dans la littérature pour estimer Σπ, notamment parHaario et al.1999,2001 algorithme AM - « Adaptive Metropolis-Hastings », qui proposent destimer Σπ à la in de chaque itération m de la chaîne à laide des réalisations précédentes (X0, . . . , Xm):
µm = 1 m m ∑ i=1 Xi, Σm = 1 m m ∑ i=1 (Xi− µm)(Xi− µm)′. 2.38
Andrieu et oms 2008 ont quant à eux proposé un cadre général basé sur lapproximation sto-chastique de Robbin-Monro Robbins et Monro 1951² pour les algorithmes à adaptation décroissante, dont fait partie lalgorithme AM. Latténuation du caractère adaptatif permet notamment de conserver la convergence de la chaîne vers la loi cible malgré la perte du caractère markovien, puisque létat courant de la chaîne dépend maintenant de tout le passé. Ils proposent notamment la généralisation suivante de lalgorithme deHaario et al.2001 : à chaque itération m + 1 de la chaîne, le candidat est généré selon la loi N (Xm, λΣm), où λ est une constante strictement positive, et où Σmest donnée par :
µm = µm−1+ 1 γm
(Xm− µm−1), 2.39
Σm = Σm−1+ 1 γm
((Xm− µm)(Xm− µm)′− Σm−1),
où la suite (γm)vériie∑∞
m=1γm =∞ et∑∞m=1γm1+ν <∞ pour un certain ν > 0.
Cependant, les mêmes difficultés que celles évoquées plus haut peuvent émerger, en particulier si lex-ploration de lespace détats est trop lente, car les estimations proposées ci-dessus peuvent alors savérer médiocres.Andrieu et oms2008 proposent alors différents schémas adaptatifs où le paramètre λ est également adapté à chaque itération de la chaîne, pour permettre de sapprocher du taux dacceptation optimal. Ils proposent notamment la mise à jour suivante du paramètre λm à litération m :
log λm =log λm−1+ 1 γm
(α(Xm−1, Ym)− α∗), 2.40 où Ymest le candidat généré à litération m, α(Xm−1, Ym)est la probabilité daccepter le déplacement Xm ֒→ Ym et α∗ est le taux dacceptation que lon souhaite atteindre, cest-à-dire dans le cas multidi-mensionnel, 0.234. En effet, lorsque la quantité α(Xm−1, Ym)− α∗ est négative, cela signiie que le taux dacceptation est trop bas, et que la variance doit être diminuée : dans ce cas la valeur de λmdiminue. De la même façon, lorsque cette même quantité est négative, cela signiie que le taux dacceptation est trop élevé, et on augmente alors la variance de la marche aléatoire en augmentant λm.
Les auteurs proposent également dautres algorithmes adaptatifs, et notamment une version où ladap-tation se fait composante par composante. Nous détaillerons cet algorithme dans la section2.3.4.