• Aucun résultat trouvé

2.3 Lalgorithme MCMC-EM

2.3.2 Algorithme de Metropolis-Hastings

Lalgorithme de Metropolis-Hastings MH a dabord été introduit parMetropolis et al.1953, pour le calcul dintégrales faisant intervenir des distributions de Boltzmann, et a été généralisé près de 20 ans plus tard parHastings1970. Partant dune 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 cest-à-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 lalgorithme 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é dacceptation α(u, v) permet de faire un compromis entre les deux conditions suivantes : dune part, on souhaite que lalgorithme 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 dautre part on souhaite éviter que lalgorithme 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). Lun des pré-requis nécessaires pour assurer la convergence de lalgorithme 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 lalgorithme 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 lexploration de lespace détats par la chaîne de Markov Robert et Casella,1999. Deux types dapproches sont utilisées classiquement pour le choix de la loi q :

1. Ce type dapproche est particulièrement utile dans un cadre Bayésien, pour le calcul des lois a posteriori que lon 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), lalgorithme peut être vu comme une extension des méthodes dacceptation-rejet. Dans ce cas, la probabilité dacceptation sécrit : α(u, v) =min ( 1,f(v) f(u) q(u) q(v) ) . 2.36

Dans notre cas, rappelons que lon souhaite simuler selon la loi cible f(ϕi|yi; θk). On peut choisir comme loi instrumentale la loi marginale f(ϕi; θk), cest-à-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 dune 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, cest-à-dire lorsque q(u) = q(−u), la probabilité dacceptation 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 lalgorithme. Si la densité est trop concentrée autour de 0, le candidat généré à chaque étape sera souvent accepté, et lexploration de lespace 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 dacceptation : 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 dacceptation : 0.04 et la chaîne reste longtemps au même endroit.

Pour assurer une bonne exploration de lespace détats par la chaîne, on peut sintéresser au taux dac-ceptation des candidats, qui doit donc être ni trop élevé ni trop bas. Des valeurs optimales ont été dérivées pour ce taux dacceptation, selon lalgorithme utilisé. Dans le cas de lalgorithme de Metropolis-Hastings multidimensionnel à marche aléatoire, ce taux optimal a été estimé à 0.234 lorsque la dimension de X tend vers linini voir par exempleRoberts et al.1997 ;Roberts et Rosenthal2001 ;Bédard2007,2008. Dans le cas de lalgorithme 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 destimer Σπ à la in de chaque itération m de la chaîne à laide des réalisations précédentes (X0, . . . , Xm):

µm = 1 m mi=1 Xi, Σm = 1 m mi=1 (Xi− µm)(Xi− µm). 2.38

Andrieu et oms 2008 ont quant à eux proposé un cadre général basé sur lapproximation sto-chastique de Robbin-Monro Robbins et Monro 1951² pour les algorithmes à adaptation décroissante, dont fait partie lalgorithme AM. Latté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 lalgorithme 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 =∞ etm=1γm1+ν <∞ pour un certain ν > 0.

Cependant, les mêmes difficultés que celles évoquées plus haut peuvent émerger, en particulier si lex-ploration de lespace détats est trop lente, car les estimations proposées ci-dessus peuvent alors savérer médiocres.Andrieu et oms2008 proposent alors différents schémas adaptatifs où le paramètre λ est également adapté à chaque itération de la chaîne, pour permettre de sapprocher du taux dacceptation optimal. Ils proposent notamment la mise à jour suivante du paramètre λm à litération m :

log λm =log λm−1+ 1 γm

(α(Xm−1, Ym)− α), 2.40 où Ymest le candidat généré à litération m, α(Xm−1, Ym)est la probabilité daccepter le déplacement Xm ֒→ Ym et α est le taux dacceptation que lon souhaite atteindre, cest-à-dire dans le cas multidi-mensionnel, 0.234. En effet, lorsque la quantité α(Xm−1, Ym)− α est négative, cela signiie que le taux dacceptation 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 dacceptation est trop élevé, et on augmente alors la variance de la marche aléatoire en augmentant λm.

Les auteurs proposent également dautres algorithmes adaptatifs, et notamment une version où ladap-tation se fait composante par composante. Nous détaillerons cet algorithme dans la section2.3.4.