introduction aux methodes de monte ... - …miv.u-strasbg.fr/mazet/publis/mazet_mtde03.pdf · cha^...

29
eminaire MTDE 22 mai 2003 INTRODUCTION AUX M ´ ETHODES DE MONTE CARLO PAR CHA ˆ INES DE MARKOV Vincent Mazet CRAN – CNRS UMR 7039, Universit´ e Henri Poincar´ e, 54506 Vandœuvre-l` es-Nancy Cedex 10 juillet 2003

Upload: vanlien

Post on 14-Sep-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Seminaire MTDE

22 mai 2003

INTRODUCTION AUX

METHODES DE MONTE CARLO

PAR CHAINES DE MARKOV

Vincent Mazet

CRAN – CNRS UMR 7039,

Universite Henri Poincare,54506 Vandœuvre-les-Nancy Cedex

10 juillet 2003

Sommaire

1. Introduction

2. A quoi ca sert ?– Generation de variables aleatoires

– Integration

– Optimisation

3. Methodes non MCMC– Inversion de la fonction de repartition

– Generation de VA uniformes

– Generation de VA non uniformes

4. Chaınes de Markov

5. Algorithmes de Metropolis–Hastings

6. Echantillonnage de Gibbs

7. Methodes hybrides

8. Conclusion

9. Bibliographie

2/29

Introduction

MCMC = Markov Chain Monte Carlo

Les methodes MCMC creent une longue chaıne de Markov {xi} dont lesechantillons sont distribues asymptotiquement selon la distribution requise π(x),on dispose ainsi de VA distribuees suivant π.

0 50 100 150 2000

1

2

3

4

5

6

7

8

9

10

PSfrag replacements

π = Ga(3, 1)

chaıne de Markov : xi ne depend que de xi−1

p(xi|xi−1, ..., x0) = p(xi|xi−1)

3/29

Introduction

Historique

Les methodes MCMC sont apparues il y a 50 ans pour la physique statistique[Metropolis et al. 1953].

1970 : article precurseur de Hastings.

1984 : echantillonneur de Gibbs [Geman & Geman 1984].

1990 : apparition des methodes MCMC dans la litterature statistique etd’analyse du signal [Gelfand & Smith 1990] grace aux progres de l’informatique.

4/29

Utilite des methodes MCMC

1. Echantillonnage de variables aleatoires

x ∼ π(x)

I echantillonnage de variables aleatoires, calcul d’integrales, optimisation defonctions,...

I utilisation de methodes usuelles (si π est relativement simple) ou MCMC (s’iln’est pas possible d’utiliser les methodes usuelles).

5/29

Utilite des methodes MCMC

2. Integration

E [f(X)] =

∫f(x)π(x)dx

I calcul de la moyenne a posteriori, estimation de marginales,...

I EN [f(X)] =1

N

N∑

i=0

f(xi)

avec xi ∼ π(x) iid et N suffisamment grand (convergence d’apres la loi desgrands nombres)

6/29

Utilite des methodes MCMC

3. Optimisation

xmax = arg maxx

π(x)

I maximisation de fonction (en s’affranchissant des problemes de minimalocaux), calcul du maximum a posteriori,...

I crible, ARS, recuit simule, ...

exemple de crible pour le calcul du MAP θ = arg maxθ

p(θ|y).

1. echantillonnage : u ∼ Usupport ;

2. xmax = u ssi p(u|y) > p(xmax|y) ;

3. retour en 1.

7/29

Utilite des methodes MCMC

0 2 4 6 8 100

20

40

60

80

100

120

140

160

180

200

0 100 200 3000

1

2

3

4

5

6

7

8

9

10

PSfrag replacements

E =1

N

N∑

i=0

xi = 2, 9693 (3) Var =1

N

N∑

i=0

x2i−E

2= 2, 8187 (3) xmax = 2, 03 (2)

8/29

Methodes non MCMC

Inversion de la fonction de repartition

PSfrag replacements

0 1

p

F

u ∼ U [0, 1]x = F−1(u)

9/29

Methodes non MCMC

Generateurs de VA uniformes

Algorithme Kiss, qui combine deux techniques de generation :

• la generation congruencielle : xn+1 = (axn + b)modM ;

• la generation par deplacement de registre.

Simulation de lois non uniformes

Plusieurs algorithmes existent :

• Algorithme de Box et Muller (1958) pour la simulation d’une loi N (0, 1) ;

• Methodes de melanges (simulation de lois simples pour en construire de pluscomplexes) ;

• Methode d’acceptation-rejet avec ou sans enveloppe ;

• Methodes generales pour les densites log-concaves.

10/29

Chaınes de Markov

Definition

p(xi|x0, ..., xi−1) = p(xi|xi−1)

une chaıne de Markov est definie par deux composantes :

– la distribution initiale p(x0) ;

– le noyau de transition T (x, A) = p(xi+1 ∈ A|xi = x).

11/29

Chaınes de Markov

Proprietes importantes des chaınes de Markov

• Invariance/Stationnarite : si xi distribue suivant π, alors xi+1 et les suivantssont distribues suivant π.

• Irreductibilite : tous les ensembles de probabilite non nulle peuvent etreatteints a partir de tout point de depart.

• Recurrence : les trajectoires (Xi) passent une infinite de fois dans toutensemble de probabilite non nulle.

• Aperiodicite : aucun noyau n’induit un comportement periodique destrajectoires.

12/29

Algorithme de Metropolis-Hastings

Algorithme de Metropolis-Hastings

[Metropolis et al. 1953] [Hastings 1970]

objectif : x ∼ π(x)

on introduit q(a|b) : « loi instrumentale » ou « loi candidate ».

q quelconque, mais doit etre simulable rapidement (U , N ,...) et est

– soit disponible analytiquement (a une constante pres) ;

– soit symetrique (q(a|b) = q(b|a)).

13/29

Algorithme de Metropolis-Hastings

Algorithme de Metropolis-Hastings

1. initialiser x(0)

2. a l’iteration i :

(a) simuler

x ∼ q(x|x(i−1))

(b) calcul de

α = min

{1,

π(x)

π(x(i−1))

q(x(i−1)|x)

q(x|x(i−1))

}

(c) accepter x avec la probabilite α :

x(i)

=

{x avec la probabilite α (acceptation)

x(i−1) sinon (rejet)

3. i← i + 1 et aller en 2

14/29

Algorithme de Metropolis-Hastings

−20 −10 0 10 200

200

400

600

800

1000

1200

1400

−20 −10 0 10 200

1000

2000

3000

4000

5000

−20 −10 0 10 200

500

1000

1500

2000

2500

3000

3500

−20 −10 0 10 200

1000

2000

3000

4000

PSfrag replacements

q = U [−4, 4] q = U [−10, 10]

q = N (0, 20)q = N (0, 1)

15/29

Algorithme de Metropolis-Hastings

0 50 100 150 200−3

−2

−1

0

1

2

3

0 50 100 150 200−4

−2

0

2

4

0 50 100 150 200−10

−5

0

5

10

0 50 100 150 200−10

−5

0

5

10

15

PSfrag replacements

q = U [−4, 4] q = U [−10, 10]

q = N (0, 20)q = N (0, 1)

16/29

Algorithme de Metropolis-Hastings

Remarques

• Ne genere pas d’echantillons iid, en particulier parce que la probabilited’acceptation de x depend de x(i−1) ;

• Le choix de q est important :– le support de q doit couvrir le support de π ;– q doit etre une bonne approximation de π ;– ...

17/29

Algorithme de Metropolis-Hastings

Algorithme de Metropolis-Hastings independant

(independence sampler)

q(x|x) = q(x)

Algorithme de Metropolis

(Metropolis algorithm) [Metropolis 1953]

q(x|x) = q(x|x)

d’ou : α = min

{1,

π(x)

π(x(i−1))

}

18/29

Algorithme de Metropolis-Hastings

Algorithme de Metropolis-Hastings a sauts reversibles

(reversible jump) [Green 1995]

utilise lorsque la dimension de l’espace est l’un des parametre a simuler.

exemples :

– estimation du nombre de composantes dans un melange ;

– ordre d’une serie ARMA ;

– nombre de changement de regime dans une serie stationnaire par morceaux.

19/29

Algorithme de Metropolis-Hastings

Recuit simule

(simulated annealing)

Pour minimiser un critere E sur un ensemble fini de tres grande taille.

Correspond a l’algorithme de Metropolis pour simuler la densite

π(x) = exp(−E(x)/Ti)

Cette densite tend vers un pic de Dirac.

En general, Ti = βiT0 avec 0 < β < 1 ⇒ chaıne de Markov inhomogene.

20/29

Algorithme de Metropolis-HastingsExemple

Minimum de E(x) = sin(100/x) exp(−(x − 1)2

)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

→ Minimum reel : 1,01 ;

→ Fontion fminsearch, initialisee en 1,5 : 1,48 ;

→ Recuit simule avec q = N (1, 5, 10), β = 0, 9, T0 = 100 : 1,08.

21/29

Algorithme de Metropolis-Hastings

−10 −5 0 5 100

20

40

60

80

−10 −5 0 5 100

50

100

150

200

250

−10 −5 0 5 100

50

100

150

200

−10 −5 0 5 100

100

200

300

400

PSfrag replacements

i ∈ [1; 5000] i ∈ [5000; 10000]

i ∈ [10000; 15000] i ∈ [15000; 20000]

22/29

Algorithme de Metropolis-Hastings

Variantes de l’algorithme de Metropolis-Hastings

Classification complete des algorithmes de Metropolis-Hastings impossible dufait de l’universalite de la methode et du developpement des methodes hybridesplus performantes.

• MH « un a la fois » ;

• MH a marche aleatoire ;

• version autoregressive ;

• ARMS.

23/29

Echantillonnage de Gibbs

Echantillonnage de Gibbs

(Gibbs sampler) [Geman & Geman 1984]

objectif : x ∼ π(x)

avec x = (x1, ..., xN)

πi(xi|x−i) connus

• Taux d’acceptation de 1 (tous les echantillons simules sont acceptes).

• Necessairement multidimensionnel avec nombre de variables fixe.

24/29

Echantillonnage de Gibbs

Echantillonnage de Gibbs

1. initialiser x(0) = (x

(0)1 , ..., x

(0)N

)

2. iteration i : simuler

x(i+1)1 ∼ π1(·|x

(i)2 , ..., x

(i)N

)

x(i+1)2 ∼ π2(·|x

(i+1)1 , x

(i)3 , ..., x

(i)N

)

...

x(i+1)N∼ πN(·|x

(i+1)2 , ..., x

(i+1)N−1 )

3. i← i + 1 et aller en 2

NB : on peut ne pas echantillonner que des scalaires.

25/29

Echantillonnage de Gibbs

Remarques

• Il existe des echantillonneurs de Gibbs a balayage symetrique (deterministically

updated Gibbs sampler) et a balayage aleatoire (random sweep Gibbs sampler).

• x(i+1)j echantillonne seulement a partir de x

(i)−j.

(MH : a partir de x(i)−j et x

(i)j ).

• Tres simple a implementer.

• Lorsqu’il est possible d’echantillonner a partir des probabilites conditionnelles,l’echantillonneur de Gibbs est le meilleur choix.

• Certains parametres, s’ils sont tres correles (exemple : composants d’une RI),peuvent etre visites plus que d’autres (comme une moyenne ou une variance).

26/29

Algorithmes hybrides

Algorithmes hybrides

Versions couplees de plusieurs schemas de simulation afin de pouvoir exploitertoutes leurs proprietes. Algorithmes tres recents.

– acceptation-rejet + Metropolis-Hastings : pour d’obtenir des echantillons iid ;

– grid based chains : permet d’obtenir des expressions du type E[Xi+1|Xi].

27/29

Conclusion

Conclusion

Les methodes MCMC permettent d’echantillonner des VA en construisant unechaıne de Markov. Des estimateurs permettent ensuite d’integrer ou d’optimiserdes fonctions.

Des methodes non MCMC, plus simples permettent dans certains cas des’abstenir des methodes MCMC (inversion de la fonction de repartition, Kiss,acceptation/rejet, ...)

Les deux algorithmes MCMC les plus repandus sont Metropolis-Hastings etl’echantillonneur de Gibbs.

28/29

Bibliographie

Bibliographie

• C. Robert. Methodes de Monte Carlo par Chaınes de Markov. 1996.

• W.R. Gilks, S. Richardson et D.J. Spiegelhalter. Markov Chain Monte Carlo

in Practice. 1996.

• C. Andrieu, A. Doucet et P. Duvaut. Methodes de Monte Carlo par Chaınes

de Markov appliquees au traitement du signal. Rapport interne ETIS-URA2235 97 n◦03

• S. Senecal. Methodes de simulation Monte Carlo par chaınes de Markov

pour l’estimation de modeles. Applications en separation de sources et en

egalisation. These de doctorat, INPG, 2002.

• W.J. Fitzgerald. Markov Chain Monte carlo methods with applications tosignal processing. Signal Processing 81, p. 3–18, 2001

• S. Vaton. Notes de cours sur les methodes de Monte Carlo par chaınes de

Markov. 2002.

29/29