Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I...

32
Calcul bayésien: approximations, MCMC Vincent Cottet October 4, 2016

Transcript of Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I...

Page 1: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Calcul bayésien: approximations, MCMC

Vincent Cottet

October 4, 2016

Page 2: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Le problème du calcul bayésien

I En stat bayésienne, il est relativement facile de définir p(θ|y),mais une fois qu’on l’a défini, on va avoir besoin de

I La moyenne de cette distributionI Des intervalles de confianceI L’espérance d’une fonction de coût, etc.

I Dans 99% des cas (hors cas Gaussien ou dimension trèsbasse), on ne sait pas calculer directement ces quantités.

Page 3: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Les solutions

Deux classes de solutions:I Approximation déterministe: On approxime p(θ|y) par une

distribution plus simple (typiquement une Gaussienne)I Approximation Monte Carlo: On cherche à générer des

échantillons de la loi p(θ|y)

Page 4: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Méthodes d’approximation

La solution la plus simple, et qui suffit parfois, est l’approximationGaussienne au mode, j’y viens.Sinon:

I Expectation Propagation (potentiellement très efficace,compliquée à mettre en place)

I Variational Bayes (très rapide, qualité médiocre)Voir le livre de Bishop (Machine Learning).

Page 5: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Approximation Gaussienne au mode

Théorème de Bernstein-von Mises, aussi appellé Bayesian CentralLimit: en grand n (beaucoup de données) les lois a posterioritendent vers des Gaussiennes.

Page 6: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Approximation Gaussienne au modeExemple avec la proportion binomiale:

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

θ

Den

sité

a p

oste

riori

n=5

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

3.0

θ

Den

sité

a p

oste

riori

n=10

0.0 0.2 0.4 0.6 0.8 1.0

01

23

45

67

θ

Den

sité

a p

oste

riori

n=50

Page 7: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Approximation Gaussienne au modeExemple avec la proportion binomiale:

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

θ

Den

sité

a p

oste

riori

n=5

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

3.0

θ

Den

sité

a p

oste

riori

n=10

0.0 0.2 0.4 0.6 0.8 1.0

01

23

45

67

θ

Den

sité

a p

oste

riori

n=50

Page 8: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Approximation Gaussienne au modeExemple avec la proportion binomiale:

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

θ

Den

sité

a p

oste

riori

n=5

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

3.0

θ

Den

sité

a p

oste

riori

n=10

0.0 0.2 0.4 0.6 0.8 1.0

01

23

45

67

θ

Den

sité

a p

oste

riori

n=50

Page 9: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Approximation Gaussienne au mode

Stratégie: on commence par trouver le mode

θ? = argmax log p(θ|y)

Le problème est similaire à celui de trouver un estimateur en max.de vraisemblance (optimisation numérique, fonction optim en R,fminsearch en Matlab).

Page 10: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Approximation Gaussienne au mode

Rappel: si q(θ) densité d’une Gaussienne de covariance Σ, alors

log q (θ) = −12θtΣ−1θ + rtθ

∂2

∂θ∂θtlog q (θ) = −Σ−1

L’approximation Gaussienne utilise comme covariance l’inverse de lamatrice des dérivées secondes de − log p(θ|y) au mode (θ?)

Page 11: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Résultats - proportion binomiale

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

θ

Den

sité

a p

oste

riori

n=5

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

3.0

θ

Den

sité

a p

oste

riori

n=10

0.0 0.2 0.4 0.6 0.8 1.0

01

23

45

67

θ

Den

sité

a p

oste

riori

n=50

Page 12: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Résultats - proportion binomiale

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

θ

Den

sité

a p

oste

riori

n=5

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

3.0

θ

Den

sité

a p

oste

riori

n=10

0.0 0.2 0.4 0.6 0.8 1.0

01

23

45

67

θ

Den

sité

a p

oste

riori

n=50

Page 13: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Résultats - proportion binomiale

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

θ

Den

sité

a p

oste

riori

n=5

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.5

1.0

1.5

2.0

2.5

3.0

θ

Den

sité

a p

oste

riori

n=10

0.0 0.2 0.4 0.6 0.8 1.0

01

23

45

67

θ

Den

sité

a p

oste

riori

n=50

Page 14: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Résumé

Approximation Gaussienne au mode:p(θ|y) ≈ N

(θ∗,H−1)

avec:

θ? = argmax log p(θ|y)

et

H = − ∂2

∂θ∂θtlog p(θ|y)

Page 15: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

En pratique (I)

1. On programme une fonction qui évalue log p(θ|y)2. On fait une optimisation numérique (optim)3. On calcule la Hessienne (hessian du package numDeriv)4. On utilise l’approximation pour calculer les intervalles de

confiance, les espérances, etc

Page 16: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

En pratique (II)

Attention à la paramétrisation: tout marche mieux si les paramètresne sont pas contraints. Par exemple: si θ > 0, utilisez plutôt logθ.Tout va plus vite/est plus fiable si vous prenez la peine de calculerles dérivées à la main.L’approximation Gaussienne n’est pas parfaite, et si la loi aposteriori a des queues épaisses elle peut être très mauvaise.

Page 17: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Méthodes stochastiques: MCMC

I Attention: je change un peu la notation pour alléger etgénéraliser plus facilement.

I On a une distribution π (x), par exemple une distribution aposteriori (mais pas forcément). Si on avait des échantillons deπ(x) on pourrait calculer des espérances par:

E (f )π ≈1n

∑f (xi )

I La plupart du temps, on ne sait pas produire des échantillonsIID de π.

I Heureusement, on peut définir une chaîne de Markov quiéchantillone π asymptotiquement

Page 18: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Chaînes de Markov

I Rappel: une chaîne de Markov est une distribution sur lesséquences x0, x1, . . . , xT tel quep(xt |xt−1, xt−2, . . .) = p(xt |xt−1)

I En d’autres termes la dépendance au passé se limite à ladernière itération

I p(xt |xt−1) donne la probabilité de passer de l’état xt−1 à l’étatxt . On l’appelle généralement kernel ou noyau de la chaîne,noté k(xt |xt−1).

Page 19: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Echantilloner asymptotiquement?

I Le premier échantillon x0 vient d’une distribution initiale π0, etles valeurs suivantes sont tirées de k(xt |xt−1)

I L’échantillon final viendra d’une distribution πT (sur plusieursréalisations du processus)

I Si limT→∞ πT → π alors π est la distribution asymptotique dela chaîne

I “Ergodicité”: les moyennes temporelles convergent vers lamoyenne sous la distribution asymptotique

limT→∞1T

∑f (xt) = E (f )π

Page 20: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Exemple concret: mélanger des cartes

I On commence avec un jeu de cartes ordonné et on veut un jeude cartes mélangé.

I Distribution cible π: la distribution uniforme sur toutes lesordres possibles

I Noyau de transition: on choisit une carte au hasard, et on laréinsert à un endroit aléatoire du paquet

I Après une étape, le jeu est encore très ordonné, après 2 moins,et après 1000 étapes le jeu est parfaitement mélangé.

I On a donc en quelque sorte atteint la distributionasymptotique: l’information sur la distribution initiale ne sertplus à rien

Page 21: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Remarque

I Dans l’example précédent la distribution asymptotiquereprésente le hasard total

I On aurait pu choisir une autre distribution cibleI Par exemple, le noyau de transition suivant:

I On prend une carte au hasard et on la place à coté d’une cartealéatoire de la même couleur

I La distribution asymptotique de ce noyau est contrainte: onaura 4 blocs consécutifs de trèfle, pique, etc. avec le hasardparfait au sein de chaque bloc

Page 22: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Certaines chaînes mélangent plus vite que d’autres

I Imaginons qu’à la place de mélanger une carte à la fois onutilise la technique suivante:

I A chaque itération, on prend le jeu de carte, on le jette dansl’escalier, et on le ramasse avec la lumière éteinte

I On a toujours une chaîne de Markov, mais elle génère deséchantillons quasiment IID de la distribution cible!

I IID = meilleur résultat MCMC possibleI Cependant, en général il y a un trade-off entre des chaînes qui

sont quasiment IID mais où chaque étape coûte cher, et deschaînes très dépendantes mais où chaque étape a un coût trèsfaible

I On dit des chaînes faiblement dépendantes qu’elles mélangentrapidement (fast mixing)

Page 23: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Théorème Central Limit pour les Chaînes de Markov

Sous certaines conditions, en grand T (beaucoup d’échantillons),on a un théorème Central Limit

1T

T∑t=1

f (xt) ∼ N(Eπ(f ), σ

2f /T

)où:

σ2f = Varπ (f ) + 2

+∞∑t=1

cov (x0, xt)

Conséquence: les chaînes fortement correlées donnent des résultatsmoins fiables.

Page 24: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Les chaînes de Markov en tant qu’opérateurs

I Dernier élement de théorie dont vous aurez besoin pourcomprendre le MCMC: jusqu’ici j’ai décrit les chaînes deMarkov comme agissant sur les paramètres x. On passe un xtdans le noyau et on obtient xt+1

I On peut également voir le noyau de transition comme quelquechose qui agit sur des distributions

I Intuitivement: je tire une valeur x0 d’une distribution π0, puisj’applique le noyau de transition pour obtenir x1. Vous neconnaissez pas x0, et votre tâche est de deviner la valeur dex1. Le mieux que vous puissez faire est d’utiliser la distribution

π1 (x1) =

ˆk(x1, x)π0 (x) dx

Page 25: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Les chaînes de Markov en tant qu’opérateurs

I Le noyau agit comme un opérateur linéaire sur les distributions

π1 = Kπ0

I Distribution invariante:

π = Kπ

I Ergodicité: pour toute distribution π0, limn→∞ Knπ0 = π

I En d’autres termes, la chaîne est ergodique si la distributionstationaire est un attracteur global

Page 26: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Les chaînes de Markov en tant qu’opérateurs

●●

Distribution space

π0

π1

π2

π3

π4

π●

Page 27: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Les deux propriétés centrales d’une procédure MCMC

I Si on veut des échantillons asymptotiques de π, notre méthodedoit absolument remplir deux critères:

I ”Detailed balance”: π = Kπ, i.e. si x est déjà tiré de ladistribution π, alors passer x dans le noyau ne change pas sadistribution. Si vous mélangez un jeu de carte mélangé, il restemélangé.

I “Ergodicité”: π est un attracteur global pour l’opérateurK .Quelque soit l’ordre initial d’un jeu de carte, on finiraforcément avec un jeu de carte mélangé.

Page 28: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Résumé jusqu’ici

I Méthodes MCMC: on cherche juste à avoir des échantillonsasymptotiques.

I Ces méthodes sont locales, au sens où xt+1 ne sera pasforcément très différent de xt .

I Moins les chaînes sont locales, mieux ça vaut.I Construire une méthode MCMC = construire un noyau

appropié pour la distribution cible πI Deux propriétés nécessaires: detailed balance et ergodicité.I Je vais traiter un seul exemple d’algorithme, le plus simple

Page 29: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Exemple: Gibbs sampling

Gibbs sampling: on change juste une des dimensions, en tirantdepuis la loi conditionnelle

x1x2...xn

x ′1x2...xn

avec x′1 ∼ π (x1|x2 . . . xn).

Si x1 . . . xn ∼ π (x1 . . . xn). Alorsx

′1 . . . xn ∼ π (x1|x2 . . . xn)π (x2 . . . xn) ∼ π (x1 . . . xn). La propriétéde “Detailed balance” est vérifiée.NB: l’ergodicité est beaucoup plus difficile à prouver.

Page 30: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Autres algorithmes

I Il existe des centaines d’algorithmes MCMC plus ou moinsgénériques

I La plupart peuvent s’écrire comme des cas particuliers del’algorithme de Metropolis-Hastings

I Voir les livres de Robert & Casella, McKay ou Bishop

Page 31: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Avantages du MCMC

I Magique: les résultats MCMC sont exacts en grand T

I Si on donne du temps à l’algorithme, on finit par avoir labonne réponse, quelque soit la dimension!

I En pratique les algos modernes comme le HMC implémentédans Stan marchent extrêmement bien dans beaucoup de cas

Page 32: Calcul bayésien: approximations, MCMC - crest.fr · Le problème du calcul bayésien I Enstatbayésienne,ilestrelativementfacilededéfinirp( jy), maisunefoisqu’onl’adéfini,onvaavoirbesoinde

Inconvénients du MCMC

I (Beaucoup) plus lent que les approximations déterministesI Certaines chaînes convergent très lentement et on peut avoir

des résultats arbitrairement mauvais si on ne fait pas attentionI Attention aux distributions multimodales!

I Par exemple, modèles non-identifiablesI Le MCMC est la seule méthode qui peut éventuellement

marcher, mais il faut des ajustements spécifiques