X - Mélanie Prague

publicité
Calcul Bayésien : Simulations
Méthodes de Monte-carlo par chaînes de Markov
(MCMC)
5 décembre 2011
Mélanie Prague
Plan

Théorie sur l’échantillonnage
- non MCMC
- MCMC : Monte Carlo
Markov Chain

Algorithmique (MétropolisHastings, Gibbs…)
2
Références
Livres :

The Bayesian Choice – C.P. Robert : 2007, Springer p.285-343

Bayesian methods for data analysis – B.P. Carlin et T.A. Louis : 2009,
Chapman&Hall p.105-160
Supports numériques :
 Vincent MAZET Séminaire MTDE 22/05/2003
 Antonietta MIRA Bayesian methods in Inverse Problems Summer course
21-24/06/2004
 Alexandre POPIER Méthode de monte-Carlo par chaînes de Markov
 Arnaud DOUCET Monte Carlo Methods. Cours d’été MLSS 2011
3
Notations (Bayésiennes)
 ( x1 ,..., xn ) : Loi a posteriori
 ( ) : Loi a priori
p( x1 ,..., xn  ) : Vraisemblance
4
Motivation (1)
Réaliser des calculs en inférence Bayésienne peut être complexe :
 Avoir une expression analytique de l’a posteriori peut être impossible.
 Même si cela est possible, certains calculs peuvent être nécessaires
(minimisation, intégration…)
-> Il faut échantillonner la loi a posteriori
Exemple :
Considérons x1,…,xn un échantillon d’une loi de Cauchy C(θ,1) et θ~N(μ,σ²), μ
et σ² connus. Ecrivons la distribution a posteriori π(θ| x1,…,xn ).
 ( x1 ,..., xn )  ( ) p( x1 ,..., xn  )
 e
(    )2
/ 2 ²
n
 (1  ( x   )²)
1
i
i 1
5
Motivation (2)
Calcul exact de π(θ| x1,…,xn ), constante de normalisation :
e
 ( x1 ,..., xn )  
e
(    )2
/ 2 ²
n
 (1  ( x   )²)
1
i
(    ) 2
/ 2 ²
i 1
n
 (1  ( x   )²)
i
1
d
i 1

Calcul de l’estimateur de Bayes pour la norme quadratique δπ (moyenne a
posteriori) :
  ( x1 ,..., xn )  E ( x1 ,..., xn )


 e


e

(    ) 2
(    ) 2
/ 2 ²
n
 (1  ( x
i
1
  )²) d
i 1
/ 2 ²
n
 (1  ( xi   )²) d
1
i 1
-> π(θ| x1,…,xn ) et δπ n’ont pas d’expression analytique.
6
Motivation (3)
Autre exemple:
Même dans des cas plus simples, il est souvent nécessaire d’échantillonner :
Soit X~N(0,1) :



1
( x   )²
exp( 
)dx  1
2

²
2 ²
Calculer :
5
A

5
1
( x   )²
5 
5 
exp( 
)dx   (
) (
)
2 ²


2 ²
-> On ne peut pas calculer analytiquement A.
-> Une solution de calcul est l’échantillonnage.
7
Plan



Méthodes non MCMC
MCMC Monte Carlo par Chaînes de Markov
Algorithmes (Métropolis-Hastings, Gibbs…)
8
Partie I
Méthodes non MCMC
9
Objectifs

Echantillonner des lois usuelles.
Loi uniforme
 Loi binomiale
 Loi normale …


Echantillonner une loi définie analytiquement.
Méthode par inversion
 Méthode d’acceptation-rejet.

10
Objectifs

Echantillonner des lois usuelles.
Loi uniforme
 Loi binomiale
 Loi normale …


Echantillonner une loi définie analytiquement.
Méthode par inversion
 Méthode d’acceptation-rejet.

11
Génération de nombres pseudo-aléatoires:
loi uniforme sur [0;1]
Algorithme congruentiel linéaire (Lehmer, 1948)
1. Générer une suite d’entiers yn tel que
yn+1= ( ayn + b ) mod. m
2. Prendre xn= yn / m
Choisir a, b et m de manière à ce qu’ yn ait une période très longue pour
qu’(x1 , ... , xn) puisse être considéré comme iid.
-> On ne s’intéresse pas dans ce cours à ce générateur de nombre
pseudo- aléatoires. C’est un outil des différents algorithmes présenté par
la suite.
12
Génération de nombres pseudo-aléatoires:
loi binomiale B(n,p)
Il existe des relations entre les différentes lois usuelles :
Yi  1U i  p ~ Ber ( p )
n
X   Yi ~ Bin (n, p )
i 1
-> On peut se servir de l’algorithme congruentiel linéaire pour
pseudo-générer de telles lois.
13
Génération de nombres pseudo-aléatoires:
loi Normale N(0,1)
14
Objectifs

Echantillonner des lois usuelles.
Loi uniforme
 Loi binomiale
 Loi normale …


Echantillonner une loi définie analytiquement.
Méthode par inversion
 Méthode d’acceptation-rejet.

15
Méthode par inversion
Exemple : Loi exponentielle, simuler une réalisation de X~exp(λ).
f ( x)   exp( x) et F ( x)  1  exp( x)  u
1
Posons x   ln 1  u . S i u ~ U [0,1] Alors x ~ exp( )

16
Méthode d’acceptation-rejet
17
Exercices
Exercice 1 :
Construisez un pseudo-n-échantillon de loi discrète :
p1δx1+…+pnδxn, Σpi=1 avec Σpi=1.
Exercice 2 :
Par la méthode par inversion, simuler un n-échantillon d’une loi de Cauchy
f(x)=1/(π(1+x²)) sachant arctan(x)’=1/(1+x²),
Exercice 3 :
Ecrire un algorithme d’acceptation-rejet pour simuler la réalisation d’un échantillon de
taille n d’une N(0,1) à l’aide d’une fonction de proposition : g ( x)  1 exp(  x )
2
18
Partie II
MCMC Monte Carlo
par chaînes de Markov
19
Changement de Notations (MCMC)
π ne correspond plus directement à l’a priori.
 : Loi à échantillonner
 * : Loi invariante de la châine de Markov
20
Objectifs




Introduction
Chaîne de Markov
Méthodes de Monte-Carlo
Chaîne MCMC
21
Objectifs




Introduction
Chaîne de Markov
Méthodes de Monte-Carlo
Chaîne MCMC
22
Principe des méthodes MCMC
Les méthodes MCMC créent une longue chaîne de Markov (xi) dont les échantillons
sont distribués asymptotiquement selon la distribution requise π(x), on dispose ainsi
de v.a. distribuées suivant π appelée distribution stationnaire de la chaîne.
23
Utilité des méthodes MCMC
•
•
•
Echantillonnage de variables aléatoires x~ π(x)
Intégration : E[f(X)] (calculs de la moyenne a posteriori, estimation de
marginales…) [-> méthodes de Monte-Carlo]
Optimisation (maximisation de fonctions…)
24
Objectifs




Introduction
Chaîne de Markov
Méthodes de Monte-Carlo
Chaîne MCMC
25
Chaîne de Markov
Définition
C’est un processus sans mémoire :
- « Pour le futur, on ne dépend que du passé via le présent »
- L’état à l’étape i+1 ne dépend que de l’état à l’étape i.
Une chaîne de Markov est définie par deux composantes :
- la distribution initiale p(x0);
- le noyau de transition T(x,A)=p(xi+1 appartient A| xi=x).
26
Chaîne de Markov
Propriété importantes
Invariance/Stationnarité : si xi est distribué suivant π, alors xi+1 et les suivants sont
distribués suivant π.
-> Pour n suffisamment grand, il existe un rang N, n  N , xn ~ 
Irréductibilité : tous les ensembles de probabilité non nulle peuvent être atteints à
partir de tout point de départ.
Récurrence : les trajectoires (Xi) passent une infinité de fois dans tout ensemble de
probabilité non nulle.
Apériodicité : Rien n’induit un comportement périodique des trajectoires.
27
Chaîne de Markov
Exemple :
Supposons que l’état d’un rongeur suive un processus de Markov à trois états (dormir (D),
manger (M), faire de l’exercice (E)). Ainsi, son état dans une minute dépend de son état actuel,
et pas des minutes précédentes. Supposons que la matrice des probabilité de transition soit la
suivante :
x \x
n 1
n
D
M
E
 0.9 0.05 0.05 


0
0.3   P
 0.7
 0.8
0
0.2 

1) Selon vous, la chaîne est-elle irréductible? Récurrente? Apériodique?
0.7
M
0.9
0.05
D
0.8
0.05
0.3
E
0.2
28
Chaîne de Markov
2)
Supposons que le rongeur dorme que fait-il 2 min après? 10 min après?
X n  X 0 Pn
1
 
X 0   0
 0
 
3)
T
 0.884 


X 10  X 0 P10   0.044 
 0.072 


T
S’il fait de l’exercice?
 0
 
X 0   0
1
 
T
 0.884 


X 10  X 0 P10   0.044 
 0.072 


T
Ici la loi est apériodique et irréductible : Il y a donc une loi stationnaire. π*=π*P
( 1 ,  2 ,  3 )( I  P)  (0,0,0)
 1  0.884
 2  0.0442  3  0.0718
29
Objectifs




Introduction
Chaîne de Markov
Méthodes de Monte-Carlo
Chaîne MCMC
30
Illustration
Monte-Carlo (1955) est le nom crypté d’un projet de John von Neumann et Stanislas
Ulam au « Los Alamos Scientic Laboratory ». Le projet consistait à utiliser des nombres
aléatoires pour simuler des quantités difficiles (ou impossible) à calculer analytiquement.
Exemple : Calcul du nombre pi à l’aide de nombres aléatoires.
Un cible quadrillée en 36*36
Une roulette de casino
31
Illustration
•Exemple (suite): Calcul du nombre pi à l’aide de nombres aléatoires.
• Probabilité d’être dans le cercle : RC 
R ²
(2R)²


4
• Simuler ((x11,x21),…,(x1n,x2n))=(P1,…,Pn) points du repère avec la roulette.
• Placer ces points dans le repère.
• Calculer le ratio (probabilité estimée d’être dans le cercle) :
R̂C 
 P  cercle
i
n
Si n=1000, réussites=765 alors,
ˆ  3.06
n
 RC
• RˆC 
32
Méthodes de Monte-Carlo
33
Objectifs




Introduction
Chaîne de Markov
Méthodes de Monte-Carlo
Chaîne MCMC
34
Définition des chaînes MCMC
• Métropolis et al. 1953 : Pour produire une approximation acceptable d’une
intégrale ou d’une autre fonctionnelle d’une distribution d’intérêt, il suffit de générer
une chaîne de Markov (θn) de distribution limite la distribution d’intérêt puis d’y
appliquer des méthodes de Monte-Carlo.
• Convergence - Un paradoxe apparent : Il semble y avoir un double argument
asymptotique.
, n
X 0 , X n L
 *
N
1

Eˆ N  f ( X )   f ( xi ) N
E f ( X )
N i 0
35
Une double convergence
Construire n*N réalisations, n→∞, N →∞
X 0(1) X 1(1)
X 0( 2) X 1( 2)
X n(1)
X n( 2)
X 0( N ) X 1( N )
X n( N )
CHAINE DE MARKOV
MONTE-CARLO
36
Théorème Ergodique
0
1
n
 n 1  n  2
 n N
PHASE DE CHAUFFE
PHASE D’ECHANTILLONAGE
! n doit être suffisamment grand
(avec ou sans batch-sampling)
37
Stratégie générale pour MCMC
MCMC
Position initiale X0=x0
Faire n+N fois
Position actuelle : Xt=x
1.
Proposer un nouveau candidat y~q(x,.)
2.
Accepter y avec la probabilité α (x,y) : Xt+1=y
Si t>n, « Sauver » Xt+1 pour calculer la fonctionnelle
3.
Sinon, θt+1=x
4.
Si t<(n+N), retour en 1.
MONTECARLO
CHAINE DE MARKOV
q : loi instrumentale de proposition
α : probabilité d’acceptation
38
Stratégie générale pour MCMC
q : loi instrumentale de proposition
- Pas de choix optimal (une infinité de choix)
- Le support de q doit contenir le support de π.
- Ne doit pas générer de valeurs périodiques.
- Simple à calculer ou symétrique
α : probabilité d’acceptation
- Doit être calculée de manière à assurer l’irréductibilité
et l’apériodicité de π.
39
Partie II
Algorithmes
classiques
40
Objectifs



Algorithme de Métropolis-Hastings
Algorithme du Recuit-simulé
Echantillonneur de Gibbs
41
Objectifs



Algorithme de Métropolis-Hastings
Algorithme du Recuit-simulé
Echantillonneur de Gibbs
42
Métropolis-Hastings classique
43
Métropolis-Hastings (acceptation)
44
Métropolis-Hastings (acceptation)
(c) Acceptation – rejet de ~
x
Simuler une valeur uk de Uk ~ U([0,1])
x (i )
x si uk  
~
  (i 1)
sinon
x
45
Métropolis-Hastings (loi instrumentale)
Métropolis-Hastings indépendant :
q( ~
x x) q( ~
x)
Exemple :
• Si on veut échantillonner la loi de l’âge des femmes au premier enfant en
France, on pourrait prendre une N(30,10)
IC(95%)=[10.4;49.6] ans.
• Si on veut échantillonner le nombre de visites
moyen d’un habitant, sans maladie
particulière, chez le médecin en 1 an,
on pourrait prendre une loi de Poisson(3)
46
Métropolis-Hastings (loi instrumentale)
Métropolis-Hastings à marche aléatoire :
q( ~
x x) q ( ~
x  x)
(a) Simuler ~
x
1.
Simuler une valeur ei de εi ~g(.)
2.
~
x  x (i 1)  ei
Dans le cas où le noyau g est symétrique (i.e. g(t)=g(-t) ) :
( i 1) ~ 
  (~
q
(
x
x) 
  (~
x
)
x) 



  min 1,

min
1
,
(
i

1
)
(
i

1
)

(
i

1
)
~
  ( x ) q( x x ) 
 (x ) 



Exemple :
• loi discrète: g= ½ δ1+ ½ δ-1
• loi continue: g est une densité d’une loi normale centré.
47
Métropolis-Hastings à marche aléatoire
(a) Simuler ~
x
1. Simuler une valeur ei de εi ~g(.)
x  x (i 1)  ei
2. ~
  (~
x) 

  min 1,
(i 1) 
  (x ) 
(c) Acceptation – rejet de ~
x
Simuler une valeur uk de Uk ~ U([0,1])
x (i )
~
  (~
x) 

x
si
u

min
1
,

k
  ( x (i 1) ) 



 (i 1)
sinon
x
-> INTERPRETATION DE L’ALGORITHME
48
Métropolis-Hastings - illustration
Exemple: (Robert, 2007)
Résultats d’un algorithme de Métropolis-Hastings à marche aléatoire N2(0,0.2I2), pour la
distribution normale modifiée :
 1
 , x  R ²,  ( x)  exp(    x ² / 2) exp 
i 1
   i
15


² 
μi sont des points répulsifs (valeur invraisemblable de θ) et sont correctement évités par la
chaîne de Markov qui prend cependant la forme d’une loi normale à deux dimensions.
49
Métropolis-Hastings - illustration
Exemple :
50
Les pours et contres de Métropolis-Hastings
• C’est un algorithme très simple et très général permettant d’échantillonner de
manière uni ou multidimensionnelle.
• Le choix de la distribution instrumentale est crucial mais difficile. De plus, il a
un impact considérable sur les performances de l’algorithme (temps lié aux
forts taux de rejet)
• Inefficace dans les problèmes de trop grande dimension
• N’est pas adapté au calcul de certains indicateurs (ex: mode, quantiles…)
-> Il faut améliorer l’algorithme :
- Recuit simulé.
- Echantillonneur de Gibbs qui peut être vu comme une
succession de Métropolis-Hastings imbriqués.
51
Objectifs



Algorithme de Métropolis-Hastings
Algorithme du Recuit-simulé
Echantillonneur de Gibbs
52
Algorithme du recuit simulé
• Particulièrement adapté à la recherche du mode dans les distributions multimodale.
•Idée :
- La probabilité d’acceptation doit être
grande au début pour balayer tout l’ensemble
- Puis restrictive pour assurer que toute
nouvelle valeur acceptée se rapproche du mode.
- On introduit dans Métropolis-Hastings
classique une température variant à chaque
itération notée T(i).
1


( i 1) ~  T ( i ) 
   (~
q
(
x
x
)
x)
 
  min 1, 
(
i

1
)
(
i

1
)
~
   ( x ) q( x x )  


Exemple : Fonction géométrique
i / N search
 Tf 
T (i )  T0  
 T0 
T (i ) : Température à l'itération i
T0
: Température de base
N search : Itération à partir de laquelleon pense être proche du mode
Tf
: Température après N search
53
Objectifs



Algorithme de Métropolis-Hastings
Algorithme du Recuit-simulé
Echantillonneur de Gibbs
54
Echantillonnage de Gibbs
Un algorithme de simulation d’une loi π(x) telle que :
• x admet une décomposition x=(x1,…,xn)
• Les lois πi(.| x1,… xi-1, xi+1,…,xn) sont connues et simulables aisément.
-> Algorithme de réactualisation composante par composante.
55
Echantillonnage de Gibbs - illustration
Exemple :
1 

( X , Y ) ~ N (0, ) avec   

1


X Y  y ~ N ( y ,1   ²) et Y X  x ~ N ( x,1   ²)
A l' itération i :
x ( i 1) ~ N ( y ( i ) ,1   ²)
y ( i 1) ~ N ( x ( i 1) ,1   ²)
Autre exemple : Cours 3 de François Caron p. 11
Cours 3 de François Caron p. 35
56
Implémentation MCMC dans Winbugs
•
Les estimations se font par MCMC pour tous les paramètres.
•
Le système choisit automatiquement entre
•
•
•
•
Métropolis-Hastings classique
Gibbs Sampling classique
Gibbs Sampling par Métropolis-Hastings.
Les lois instrumentales sont choisies de manière optimisée (lois conjuguées
lorsque cela est possible)
-> Métropolis within Gibbs sampling (Algorithme hybride)
57
Exercice
Exercice 1 : Estimation bayésienne d ’une probabilité.
Soit X=(X1,…,Xn) un n-échantillon d’une loi de Bernouilli de paramètre θ. On
suppose que le paramètre θ a comme loi a priori la loi beta de paramètre (3,2).
1. Montrer que la loi a posteriori de θ|(X1,…,Xn)=(x1,…,xn) est encore une loi
beta dont on précisera les paramètres.
2. En déduire l’espérance de cette loi a posteriori, et l’estimateur bayésien
généralisé du paramètre θ associé à la fonction de coût quadratique.
3. Décrire un algorithme de Métropolis-Hastings indépendant permettant
d’approcher la valeur de cet estimateur, en prenant comme loi instrumentale la
loi beta de paramètre (3,2). Pourquoi choisit-on la loi a priori de θ comme loi
instrumentale ici?
58
Conclusion

Les méthodes MCMC permettent d‘échantillonner des v.a. en construisant une chaîne
de Markov. Des estimateurs permettent ensuite d'intégrer ou d'optimiser des
fonctions.

Des méthodes non MCMC, plus simples permettent dans certains cas de s'abstenir
des méthodes MCMC (inversion de la fonction de répartition, acceptation/rejet, ...)

Les deux algorithmes MCMC les plus répandus sont Métropolis-Hastings et
échantillonneur de Gibbs.
59
Téléchargement