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é conditionnelleq(·|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 queq(v|u) = q(u|v). On suppose également que le rapportf(v)/q(v|u)est connue à une constante multiplicative indépendante deuprè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 avecU(0), puis pourm= 1, . . . , M : 1. on génère un candidatv ∼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/q est 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é sousq, ce qui est contrôlé par le rapportq(u | v)/q(v | u). Lun des pré-requis nécessaires pour assurer la convergence de lalgorithme est que le support deq(·|u)doit contenir le support def,∀u.
Le noyau de transition de la chaîne de Markov générée par lalgorithme MH est donné parK(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 pointu. 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, carP({U(m+1) =U(m)})>0.
Dans la pratique, le choix de la distribution instrumentaleqinluence fortement la vitesse de conver-gence de la chaîne de Markov vers la loi stationnairef 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 loiq:
1. Ce type dapproche est particulièrement utile dans un cadre Bayésien, pour le calcul des loisa posteriorique lon connaît en général à une constante multiplicative près.
Le cas indépendant
Lorsque la loi instrumentaleqest indépendante de la position actuelle de la chaîneX(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 marginalef(ϕi;θk), cest-à-dire la loi normaleN(β(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 ff(u)(v)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éqindépendante deU(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 lorsqueq(u) = q(−u), la probabilité dacceptation sécrit :
α(u, v) =min (
1,f(v) f(u)
)
. 2.37
Dans notre cas, le rapport ff(v)(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 loiq, 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é sousf, et la chaîne aura donc tendance à rester trop longtemps au même point voir igure2.1.
0 1000 2000 3000 4000 5000
4.44.64.85.05.25.4
Itération
Simulations
a σ= 0.01
0 1000 2000 3000 4000 5000
4.44.64.85.05.25.4
Itération
Simulations
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 deX 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, etnx la dimension deX. 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érationmde 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érationm+ 1de la chaîne, le candidat est généré selon la loiN(Xm, λΣm), oùλest une constante strictement positive, et oùΣmest donnée par :
µm =µm−1+ 1 γm
(Xm−µm−1), 2.39
2. cest le même principe dapproximation stochastique qui est utilisé dans lalgorithme SAEM présenté en section2.4
Σ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érationm:
logλm =logλm−1+ 1 γm
(α(Xm−1, Ym)−α∗), 2.40
oùYmest le candidat généré à litérationm,α(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.