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

Post on 16-Sep-2018

223 views 0 download

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

Calcul bayésien: approximations, MCMC

Vincent Cottet

October 4, 2016

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.

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)

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).

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.

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

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

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

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).

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 (θ?)

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

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

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

Résumé

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

(θ∗,H−1)

avec:

θ? = argmax log p(θ|y)

et

H = − ∂2

∂θ∂θtlog p(θ|y)

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

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.

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

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).

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 )π

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

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

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)

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.

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

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

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

●●

Distribution space

π0

π1

π2

π3

π4

π●

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é.

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

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.

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

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

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