• 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é 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 cest-à-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 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 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

α(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é 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é sousq, ce qui est contrôlé par le rapportq(u | v)/q(v | u). Lun des pré-requis nécessaires pour assurer la convergence de lalgorithme 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 lalgorithme 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 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 loiq:

1. Ce type dapproche est particulièrement utile dans un cadre Bayésien, pour le calcul des loisa posteriorique lon 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), 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|yik). On peut choisir comme loi instrumentale la loi marginalef(ϕik), cest-à-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 |yik) f(ϕk,(m)i |yik)

f(ϕk,(m)ik)

f( ˜ϕik) = f( ˜ϕi, yik)f(yik) f(ϕk,(m)i , yik)f(yik)

f(ϕk,(m)ik) f( ˜ϕik)

= f(yi |ϕ˜ik) f(yik,(m)ik).

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é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, cest-à-dire lorsqueq(u) = q(−u), la probabilité dacceptation 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 |yik)

f(ϕk,(m)i |yik) = f( ˜ϕi, yik)f(yik) f(ϕk,(m)i , yik)f(yik)

= f(yi |ϕ˜ik)f( ˜ϕik) f(yik,(m)ik)f(ϕk,(m)ik).

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 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é 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 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 deX 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, 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 destimerΣπ à la in de chaque itérationmde la chaîne à laide 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 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é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 :

µmm−1+ 1 γm

(Xm−µm−1), 2.39

2. cest le même principe dapproximation stochastique qui est utilisé dans lalgorithme 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 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érationm:

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

(α(Xm−1, Ym)−α), 2.40

oùYmest le candidat généré à litérationm,α(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.