Poly Cours Monte Carlo m1 Im
Poly Cours Monte Carlo m1 Im
Poly Cours Monte Carlo m1 Im
(Cours et exercices)
M1 IM, 2015-2016
Sylvain Rubenthaler
Table des matires
Prface iii
Chapitre 1. Introduction 1
1.1. Description de la mthode 1
1.2. Thormes de convergence 2
1.3. Exemples 3
1.4. Comparaison avec les mthodes dterministes 4
1.5. Exercices 5
Chapitre 2. Simulation de variables alatoires 9
2.1. Inversion de la fonction de rpartition 9
2.2. Simulation dune loi exponentielle 10
2.3. Simulation de variables gaussiennes (algorithme de Box-Mller) 11
2.4. Simulation dune variable alatoire poissonienne 12
2.5. Mthode de rejet 13
2.6. Vrification par histogramme 15
2.7. Exercices 16
Index 49
i
Prface
Ce polycopi est une introduction aux mthodes de Monte-Carlo. Les prrequis sont : cours de
L3 MASS de probabilits 1, cours de M1 IM sur les chanes de Markov, notions de R (acquises au
premier semestre). Les sources dinspiration de ce document sont les suivantes : [DB01, Par08],
le polycopi de Laure lie et Bernard Lapeyre 2, le polycopi de Bernard Ycart 3, des exercices
fournis par Franois Delarue, un expos de Persi Diaconis sur la cryptographie. Les TP se feront
en R, les exemples de programmes seront aussi donns en R.
Important : les fichiers sources et les corrigs des exercices sont disponibles sur : http://
math.unice.fr/~rubentha/cours.html. Jencourage toute personne enseignant les mthodes de
Monte-Carlo utiliser ces fichiers et ajouter son nom la liste dauteurs de ce polycopi.
1. http://math.unice.fr/~rubentha/enseignement/poly-integration-probas.pdf
2. http://cermics.enpc.fr/~bl/PS/SIMULATION-X/poly-monte-carlo-x.pdf
3. http://ljk.imag.fr/membres/Bernard.Ycart/polys/montec.pdf
iii
iv
Chapitre 1
Introduction
voulons calculer lesprance dune variable alatoire (si X est une variable alatoire, alors g(X)
est une variable alatoire, condition que g soit mesurable).
n 2
+0,01
et /2
Z
(pour n"assez grand") dt
0,01
n 2
n 2
+0,01
et /2
Z
(par symtrie de N (0, 1)) = 2 dt 1 .
2
R +0,01 ne t2 /2
On veut donc n tel que 2
dt 0, 975. On regarde dans une table de la loi normale
(voir par exemple lannexe A) et on voit quil suffit pour cela davoir 0, 01 n/ 1, 96, cest
dire
(1, 96 )2
n .
0, 012
On remarque que le nombre de tirages ncessaire n pour atteindre un certain niveau derreur avec
une certaine confiance est une fonction linaire de 2 .
Dans la pratique, 2 pourrait ne pas tre connu, mais on peut lestimer par une mthode de
Monte-Carlo.
On dit que 2 est la variance de la mthode. Sous les hypothses du thorme 1.3, la variance
de lerreur X1 ++X
n
n
E(X1 ) est asymptotiquement 2 /n. La variance 2 est aussi la variance
des variables i.i.d. dont on fait la moyenne empirique.
Lemme 1.4 (Estimateur de la variance). Si X1 , X2 , . . . sont i.i.d. avec E(X12 ) < + et
2
= V(X), alors
(X1 X2 )2 + (X3 X4 )2 + + (X2n1 X2n )2 p.s.
2 .
2n n+
1.3. Exemples
1.3.1. Cas facile. Soit U une variables alatoire dans Rd (d N ) et f : Rd R mesurable.
On cherche calculer p = P(f (U ) ) pour un certain (p est donc dans [0; 1]). Soit X = 1f (U ) .
Alors p = E(X). On peut donc approcher p par (en faisant des tirages i.i.d. X1 , X2 , . . . de mme
loi que X)
X1 + + Xn
pn = p.
n
Nous calculons 2 = V(X) = p(1 p). Si nous voulons une erreur |p pn | infrieure 0, 01 avec
une confiance 0, 95% (comme dans lexemple ci-dessus), il suffit de prendre
(1, 96 )2
n .
0, 012
Pour tout p [0; 1], p(1 p) 1/4, donc il suffit de prendre
1, 962 1
n .
0, 012 4
1.3.2. Cas difficile. On cherche calculer E(eZ ) avec Z N (0, 1). Nous savons que
Z + x2 /2
Z x e
E(e ) = e dx
2
Z +
2
1 1 2
= exp (x ) + dx
2 2 2
2
= e /2
.
Si nous tirons Z1 , Z2 , . . . i.i.d. de mme loi que Z, nous aurons au bout de n tirages :
eZ1 + + eZn
E(eZ ) + Y
n n
4 1. INTRODUCTION
1. http://www-sop.inria.fr/mefisto/java/tutorial1/node14.html#SECTION00033110000000000000
2. https://www.youtube.com/watch?v=Q3jVk6k6CGY
1.5. EXERCICES 5
P
Pour calculer la somme 1i1 ,...,id n . . . , nous devons excuter d boucles embotes de lon-
gueur n (et nous sommons donc nd termes). Nous dirons donc que le cot du calcul est dordre
nd . La prcision est elle dordre n1 . Si nous notons N = nd le cot du calcul, nous avons donc
une prcision en N 1/d .
Dans le programme 1.1, le cot du calcul est dordre n (il y a n boucles) pour une prcision
dordre n1/2 (daprs le thorme 1.3, si E(X 2 ) < ). Si nous notons N = n le cot du calcul,
nous avons donc une prcision en N 1/2 .
Remarque 1.6. On voit donc que la mthode de Monte-Carlo nest avantageuse nu-
mriquement qu partir de la dimension d = 3. Mme si la plupart des exercices et
exemples de ce livre sont donns en dimension 1 par souci de simplicit, il convient de ne
pas oublier ce fait dans la pratique
Les hypothse permettant dappliquer lune ou lautre des mthodes sont diffrentes (moins
contraignantes dans le cas Monte-Carlo).
La mthode de Monte-Carlo est facile implmenter, cest ce qui fait son succs.
Il existe des mthodes dterministes dites quasi Monte-Carlo qui sont plus rapides que
les mthodes de Monte-Carlo simples (mais qui demandent plus dhypothses et qui sont
plus difficiles implmenter). Le lecteur pourra se reporter au polycopi de Laure lie et
Bernard Lapeyre cit dans lintroduction.
1.5. Exercices
Exercice 1.1. Donner au moins deux mthodes de Monte-Carlo diffrentes dapproximation
de lintgrale
Z 1
I1 = cos(x3 ) exp(x)dx,
0
laide dune moyenne empirique impliquant des variables alatoires de loi connue.
Mme question avec
Z +
x2
I2 = sin(x4 ) exp(2x) exp dx,
0 2
et Z 1
I3 = ln(1 + x2 ) exp(x2 )dx.
0
Exercice 1.2. Soient X1 , X2 , . . . des variables i.i.d uniformes dans C = [1; 1] [1; 1]. Soit
D le disque (dans R2 ) de centre (0, 0) et de rayon 1.
(1) Calculer par une mthode de Monte-Carlo la valeur de E(1XD ) (coder en R).
(2) Estimer la variance de la mthode (coder en R).
(3) Trouver n un nombre de boucles effectuer en (1) pour que lestimation de lesprance
soit prcise 0, 1 prs avec une probabilit 0, 95.
Exercice 1.3. On sintresse
Z +
I= xex dx .
0
(1) Donner deux mthodes de Monte-Carlo diffrentes pour calculer I (de manire approche).
(2) crire un programme en R qui calcule I (de manire approche).
R1
Exercice 1.4. On sintresse I = 0 sin( x)dx.
(1) Proposer une mthode de Monte-Carlo pour calculer I (de manire approche). Dans la
suite, on notera 2 la variance de cette mthode.
(2) crire un programme en R qui calcule I (de manire approche).
6 1. INTRODUCTION
(3) Trouver un nombre de boucle n (qui scrit comme une fonction de 2 ) telle que la mthode
ci-dessus approche I 0, 01 prs avec une probabilit 0, 9 (il nest pas ncessaire de
simplifier lexpression trouve)
Exercice 1.5. Soit (Un1 , . . . , Un3 )n1 une famille de v.a. indpendantes et identiquement dis-
tribues de loi uniforme sur ]0; 1[3 . Donner la limite presque-sre de
Xn
n1 1(Ui1 )2 +(Ui2 )2 +(Ui3 )2 <1 .
i=1
Donner une mthode similaire pour retrouver le volume dune boule de rayon 2.
Exercice 1.6 (Loi des grands nombres.). tant donne une suite de variables alatoires
(Xn )n1 identiquement distribues et indpendantes, telles que E[|X1 |4 ] < + et E(X1 ) = 0, on
pose
Xn
Sn = Xk .
k=1
(1) Montrer quil existe une constante C > 0 telle que, pour tout n 1,
E Sn4 Cn2 .
(2) En utilisant lingalit de Markov lordre 4, en dduire quil existe une constant c > 0
telle que, pour tout n 1,
P |Sn | n5/6 cn4/3 .
(1) En introduisant, pour tout x [0, 1], (n (x))n1 , suite de variables alatoires indpen-
dantes de mme loi de Bernoulli de paramtre x, et en posant Sn (x) = 1 (x) + + n (x),
interprter Pn (x) comme une esprance.
(2) En utilisant lingalit de Bienaym-Chebychev, montrer que
Sn (x) 1
> 0, P x .
n 4n2
(3) En dduire que
lim sup f (x) Pn (x) = 0.
n+ x[0,1]
Exercise 1.8. La figure 1.5.1 reprsente une cardiode (section de pomme) dquation (x2 +
y x)2 = (x2 + y 2 ) .
2
(1) Lintrieur est de la cardiode est donne par linquation (x2 + y 2 x)2 < (x2 + y 2 ).
En dduire une mthode probabiliste dapproximation de la surface intrieure de la
cardiode.
(2) On obtient un solide de rvolution en faisant tourner lintrieur de la cardiode autour de
laxe des x (on obtient quelque chose qui ressemble une pomme). Proposer une mthode
probabiliste dapproximation du volume de ce solide.
(3) En fait, la cardiode admet aussi une description paramtrique en coordonnes polaires :
= 1 + cos(). En dduire que le volume dune pomme est 8/3.
Exercice 1.9 (Plus difficile). Soient X1 , . . . , Xn des v.a. i.i.d. suivant une loi exponentielle
de paramtre 1, de somme note Sn .
1.5. EXERCICES 7
Comme nous lavons vu dans le chapitre prcdent, pour appliquer une mthode de Monte-
Carlo, il faut savoir simuler suivant une loi donne. Nous supposons ici que nous disposons dun
gnrateur de nombres alatoires de loi U([0; 1]). Le langage R contient les gnrateurs dun grand
nombre de lois classiques.
Remarque 2.1. Les ordinateurs ne disposent pas de composant au comportement alatoire.
Quand on demande un programme de gnrer des nombres alatoires de loi U([0; 1]), il renvoie
des nombres pris dans une liste la suite les uns des autres. En gnral, cette suite est suffisamment
dsordonne et longue pour avoir un comportement similaire celui dune suite alatoire. Dans
le cas dun programme crit dans un langage de bas niveau (type C++), lutilisateur aura intrt
construire lui-mme une procdure de gnration de nombres alatoires (la liste utilise par le
langage tant trop peu dsordonne).
Exemple 2.3. Dans le cas de la fonction F donne dans les figures 2.1.1, 2.1.2, nous avons
x
3 si x [0; 1[ ,
x + 1 si x [1; 2] ,
F (x) = 3 3
1 si x 1 ,
0 si x 0 ,
si t 0; 31 ,
3t
1
1 2
F (t) = 1 si t 3 ; 3 ,
si t 32 ; 1 .
3t 1
Le programme 2.1 renvoie une variable de fonction de rpartition F (on parle ici de la variable
affiche la fin du programme).
2
de dterminant det(J2 ) = . Donc
u 2 log(u)
Z p p up
E(f (X, Y )) = f ( 2 ln(u) cos(2v), 2 ln(u) sin(2v)) 2 ln(u)
(u,v)[0;1]2 2
2
p dudv
u 2 ln(u)
Z p p
= f ( 2 ln(u) cos(2v), 2 ln(u) sin(2v))dudv
(u,v)[0;1]2
p p
= E(f ( 2 ln(U ) cos(2V ), 2 ln(U ) sin(2V ))) .
Ceci est vrai pour toute fonction f Cb+ (R2 ) donc (X, Y ) et
p p
( 2 ln(U ) cos(2V ), 2 ln(U ) sin(2V ))
ont mme loi.
variable X de loi N (0, 1), il suffit donc de prendre U, V U([0; 1]) indpen-
Pour simuler unep
dantes et poser X = 2 log(U ) cos(2V ). Pour simuler une variable X de loi N (, 2 ), il suffit
de prendre X = + Y avec Y N (0, 1).
1. http ://math.unice.fr/~rubentha/enseignement/poly-integration-probas.pdf
12 2. SIMULATION DE VARIABLES ALATOIRES
x
(x t1 )2 x2
Z Z Z
1dt2 dt1 = x t1 dt1 = = .
0t1 x 0t2 xt1 0t1 x 2! 0 2!
Si la proprit est vraie jusquau rang n, calculons
Z Z Z Z
... 1dtn+1 . . . dt1
0t1 x 0t2 xt1 0t3 x(t1 +t2 ) 0tn+1 x(t1 ++tn )
Z Z Z Z !
= ... 1dtn+1 . . . dt2 dt1
0t1 x 0t2 xt1 0t3 x(t1 +t2 ) 0tn+1 x(t1 ++tn )
Nous pouvons donc simuler une variable de Poisson laide dune boucle tant que (et en
utilisant le rsultat de la partie 2.2) ( voir le programme 2.2)
2.5. MTHODE DE REJET 13
Proposition 2.6. Soit (Xn , Un )n1 une suite de variable i.i.d. avec pour tout n, Xn est de
loi de densit g et est indpendante de Un , qui est de loi uniforme sur [0; 1]. Soit T = inf{n, Un
(Xn )} (T est un entier alatoire). Soit X = XT .
Alors la v.a. X ainsi simule est de loi de densit f .
Dmonstration. Remarquons que (Xn ) est dfini pour presque tout . En effet, P(Xn
{x : g(x) = 0}) = 0.
Soit Cb+ (Rd ). Nous avons (XT ) = n=1 f (Xn )1n=T (pour tout , cette somme contient
P+
au plus un terme non nul).
+
E((Xn )1n=T )
X
E((X)) =
n=1
+ n1
1Ui >(Xi ) 1Un (Xn ) )
X Y
= E((Xn )
n=1 i=1
+ n1
E((Xn )1Un (Xn ) ) E(1Ui >(Xi ) ) .
X Y
(par indpendance des (Xi , Ui )) =
n=1 i=1
1
= 1 .
k
Remarquons que lingalit f kg implique
Z Z
f (x)dx k g(x)dx ,
Rd Rd
donc k 1. Nous avons donc
+ Z n1
X 1 1
E((X)) = (x)g(x)dx 1
n=1 Rd k k
Z
1 1
(somme gomtrique) = (x)g(x)dx
k 1 1 k1
Rd
Z
= (x)g(x)dx .
Rd
Do le rsultat.
x3
Exemple 2.7. Soit f (x) = e Z 1x1 avec Z = 1 ex dx (la constante Z nest pas connue
R + 3
1
mais nous nen aurons pas besoin). Soit g(x) = x1 x2 . Les fonctions f et g sont des densits de
probabilit. Il est facile de simuler suivant la loi de densit g en utilisant la technique dinversion
3
de la fonction de rpartition. Nous commenons par tudier la fonction h : x 1 7 x2 ex . Nous
3
avons h0 (x) = (2x 3x4 )ex 0 pour tout x 1. Donc, pour tout x 1, h(x) h(1) = e1 .
Nous en dduisons (pour x 1)
1
f (x) g(x) .
eZ
Nous posons k = 1/(eZ). Soit
f (x) 3
(x) = = x2 ex +1 .
kg(x)
Nous ne connaissons pas Z mais nous pouvons calculer (x) pour tout x 1 donc nous pouvons
utiliser lalgorithme de simulation par rejet pour simuler suivant la densit f (voir programme
2.3). Dans ce programme, nous utilisons les rsultats suivants pour simuler suivant la densit g
Nous remarquons que pour tout x, f (x) Cg(x) avec C = ( uA f (u)du)1 . Donc, si nous tirons
R
converge pour |z| < 1). Nous avons (z) = 0 (z) avec (z) = n0 z n = 1z 1 1
P
. Donc (z) = (1z) 2.
Donc
1 1
E(T ) = = k .
k 1 1 1 2
k
Donc le temps de calcul moyen est proportionnel k. Cest pourquoi on cherche une constante k
satisfaisant (2.1) qui soit la plus petite possible.
Remarque 2.10. Lalgorithme ci-dessus est encore valable si la v.a. X simuler a une densit
f par rapport une mesure quelconque et que cette densit est majore par kg o g est la densit
par rapport f dune variable Y facile simuler. Ceci se traduit par
Z Z
P(X A) = f (x)(dx) kg(x)(dx) = kP(Y A) .
A A
Si la v.a. X a une loi porte par un ensemble discret E, on peut choisir pour la mesure de
comptage sur E et la mthode de rejet est aussi valable pour les lois discrtes, f (x) tant dans ce
cas gale P(X = x).
Z b
1
|f (t) f (a)|dt
ba a
Z b
1
C|t a|dt
ba a
C(b a)
= 0 .
2 b&a
2
1
0
tab
2.7. Exercices
Exercice 2.1. (1) Simuler des variables exponentielles par la mthode du cours.
(2) Tracer un histogramme des variables simules par cette mthode. Comparer avec un trac
de la densit de la loi exponentielle.
Exercice 2.2. Montrer que lalgorithme suivant permet de simuler une ralisation de loi
uniforme sur le disque unit de R2 .
(1) Simuler (U, V ) couple de deux v.a. i.i.d. de loi uniforme sur [1, 1].
(2) Tant que U 2 + V 2 > 1, rpter (1).
(3) Renvoyer la valeur de (U, V ) en fin de boucle.
Coder lalgorithme en R.
Exercice 2.3. Montrer que lalgorithme suivant permet de simuler un couple de v.a. i.i.d. de
loi gaussiennes centres rduites.
2.7. EXERCICES 17
(1) Simuler (U, V ) couple de deux v.a. i.i.d. de loi uniforme sur [1, 1].
(2) Tant que U 2 + V 2 > 1, rpter (1).
(3) Renvoyer la valeur de (U, V ) et de R2 = U 2 + V 2 en fin de boucle.
(4) Poser Z = [2 ln(R2 )/R2 ]1/2 .
(5) Poser X = ZU et Y = ZV .
Coder lalgorithme en R. Vrifier laide dun histogramme que la variable X simule suit bien
une loi gaussienne centre rduite.
Exercice 2.4. Soient X et Y deux v.a. i.i.d. de loi exponentielle de paramtre 1.
(1) Montrer que la loi conditionnelle de X sachant 2Y > (1 X)2 a pour densit
2 x2
x 7 exp 1[0,+[ (x).
2 2
18 2. SIMULATION DE VARIABLES ALATOIRES
(2) Soit S une v.a. de loi Bernoulli de paramtre 1/2, indpendante du couple (X, Y ). Montrer
que la loi conditionnelle de (2S 1)X sachant 2Y > (1 X)2 suit une loi normale centre
rduite.
(3) En dduire un algorithme de simulation de la loi N (0, 1). Le coder en R.
Exercice 2.5. Soient f et g (R 7 R) des densits. Soit h la fonction :
sup(f (x), g(x))
h(x) = R .
R
sup(f (t), g(t))dt
(1) On simule une v.a. Z suivant une mthode d acceptation/rejet. On tire X, Y indpen-
dantes respectivement de lois de densit f, g et U, V indpendantes uniformes sur [0, 1] (et
indpendantes de X, Y ) jusqu ce que
U f (X) g(X), auquel cas on prend Z = Y
ou V g(Y ) f (Y ) et U f (X) > g(X), auquel cas on prend Z = X.
Montrer que Z est de loi de densit h.
(2) On suppose ici que f densit de la loi N (0, 1) et g densit de la loi N (3/2, 1).
(a) crire un programme qui simule des variables alatoires suivant h.
(b) crire un programme qui dessine un histogramme empirique de h.
Exercice 2.6. On dsigne par f la densit
r 2
2 x
f (x) = exp 1{x>0} , x R.
2
(1) Pour > 0 fix, trouver une constante c > 1 telle que
f (x) c exp(x) , x R+ .
(2) En dduire une mthode de simulation de la loi de densit f
(3) Trouver tel que le temps moyen de calcul dans la mthode propose soit le plus petit
possible.
Exercice 2.7. Pour a > 0 donn, on dsigne par f la fonction
f (x) = 1[0;a] (x) exp(x) , x R .
(1) Trouver une constante C telle que Cf soit une densit.
(2) Trouver une constante c1 > 1 telle que
1[0;a] (x)
Cf (x) c1 , x R.
a
(3) Trouver une constante c2 > 1 telle que
Cf (x) c2 1[0;+[ (x) exp(x) , x R .
(4) On veut mettre en place une mthode de rejet pour simuler la loi densit f en utilisant
la loi uniforme sur [0; a] ou la loi exponentielle de paramtre 1. Laquelle vaut-il mieux
choisir ? Coder la mthode.
Exercice 2.8. On souhaite simuler suivant la loi de densit
1
f : x R 7 exp(x2 )1x1 ,
Z
R + x2
avec Z = 1 e dx.
(1) Trouver une densit g (suivant laquelle on sait simuler) et une constante C telles que
f Cg.
(2) Soit X N (0, 1/2). Montrer que f est la densit de la loi de X sachant X 1 (on pourra
calculer lesprance sur une fonction test).
2.7. EXERCICES 19
(3) Coder la simulation de la loi de densit f (suivant la mthode du rejet base sur g, C).
Exercice 2.9. Soit X une variable alatoire admettant pour fonction de rpartition
F (x) = (1 exp(x ))1[0;+[ (x) ,
avec et des paramtres > 0. Expliciter la densit de la loi de X et proposer une mthode de
simulation de cette loi.
Exercice 2.10. Soit X une loi gomtrique de paramtre p :
P(X = k) = p(1 p)k1 , pour k N .
(1) Rappeler la mthode classique de simulation de X laide de tirages pile ou face.
(2) Donner une autre mthode de simulation de cette loi utilisant la fonction de rpartition.
(3) Comment comparer lefficacit des 2 mthodes ?
Exercice 2.11. Soit n N . Soient U1 , U2 , . . ., Un des variables i.i.d. de loi U([0; 1]). On note
(V1 , . . . , Vn ) la variable alatoire telle que, pour tout , {V1 (), . . . , Vn ()} = {U1 (), . . . , Un ()}
et V1 () V2 () Vn () (cest une remise en ordre des variables U1 , . . . , Un ). Le vecteur
alatoire (V1 , . . . , Vn ) est appel statistique dordre uniforme sur [0; 1].
(1) Soit Cn = {(v1 , . . . , vn ) [0; 1] : v1 v2 vn }. Montrer que la densit de la loi de
(V1 , . . . , Vn ) est
(v1 , . . . , vn ) Rn 7 n! 1Cn (v1 , . . . , vn ) .
(2) Soient X1 , X2 , . . . , Xn , Xn+1 des variables i.i.d. de loi E(1). Montrer que
X1 X1 + X2 X1 + + Xn
, ,...,
X1 + X2 + + Xn+1 X1 + X2 + + Xn+1 X1 + X2 + + Xn+1
a mme loi que (V1 , . . . , Vn ).
Chapitre 3
Rduction de variance
Nous avons vu au chapitre 1 (section 1.2.2) que si nous calculons une quantit E(X) par
la mthode de Monte-Carlo, cest dire si nous approchons E(X) par une moyenne empirique
X1 ++Xn E(X) X1 ++Xn est dordre
n , X1 , X2 , . . . i.i.d. de mme loi que X), alors lerreur n
/n, o 2 = V(X). Nous allons prsenter ici des mthodes qui permettent dcrire E(X) = E(Y )
avec V(Y ) V(X). Ces mthodes sont dites de rduction de variance .
(2) Soit Y variable alatoire de densit fe. Comparer V(g(X)) et V(g(Y )f (Y )/fe(Y )) (il faut
en gnral approcher ces variables par un estimateur, voir par exemple le lemme 1.4 ce
sujet).
La fonction fe sappelle la fonction dimportance.
21
22 3. RDUCTION DE VARIANCE
R1
Exemple 3.1. On cherche calculer I = 0
cos(x/2)dx par une mthode de Monte-Carlo.
On peut approcher I par
cos(U1 /2) + + cos(Un /2)
(3.1) I ,
n
avec U1 , U2 , . . . i.i.d. de loi U([0; 1]) (toujours pour n grand ). Si nous reprenons les notations
ci-dessus, nous avons g(x) = cos(x) et f (x) = 1 (pour x [0; 1]). Soit fe1 (x) = 1 x,
1x
fe(x) = .
(1/2)
La fonction fe1 est (grossirement) proche de g f . Si U U([0; 1]) alors 1 U est de loi de
densit fe (nous trouvons ce rsultat par la mthode dinversion de la fonction de rpartition, voir
chapitre 2). Donc nous savons simuler suivant la loi de densit fe. Dans le programme 3.1, nous
estimons les variances des deux mthodes. Nous trouvons 1.101 pour la mthode de lquation
(3.1) ci-dessus et 7.103 pour la mthode dchantillonage dimportance par fe. La variance est
donc rduite.
avec X1 , X2 , . . . i.i.d. de mme loi que X (toujours pour n grand ). Si on sait calculer E(h(X))
pour une certaine fonction h, alors on peut aussi faire lapproximation
(f (X1 ) h(X1 )) + + (f (Xn ) h(Xn ))
E(f (X)) + E(h(X)) .
n
Il faut ensuite comparer les variances pour savoir quelle est la mthode la plus avantageuse. Dans
le cas de la deuxime mthode, lerreur est
(f (X1 ) h(X1 )) + + (f (Xn ) h(Xn ))
E(f (X)) + E(h(X))
n
(f (X1 ) h(X1 )) + + (f (Xn ) h(Xn ))
= E(f (X) h(X)) .
n
Elle est dordre de grandeur V(f (X) h(X))1/2 / n.
La mthode est donc la suivante.
(1) Trouver une fonction h proche de f et telle que lon sache calculer E(h(X)) (le fait que h
soit proche de f devrait faire en sorte que V(f (X) h(X)) est petite).
(2) Estimer les variances V(f (X)) et V(f (X) h(X)), et les comparer.
R1
Exemple 3.2. On chercher calculer I = 0 exp(x2 )dx par une mthode de Monte-Carlo.
2
Nous avons I = E(eU ) avec U U([0; 1]). Donc nous pouvons faire lapproximation
2 2
eU1 + + eUn
I ,
n
avec U1 , U2 , . . . i.i.d., U([0; 1]) (toujours pour n grand ). Nous avons donc une premire
mthode de Monte-Carlo. Avec les notations ci-dessus, nous avons f (x) = exp(x2 ). Remarquons
que h : x 7 1 + x2 est proche de f sur [0; 1] (cest le dbit du dveloppement limit de f en 0).
Nous savons calculer Z 1
1 4
E(h(U )) = 1 + x2 dx = 1 + = .
0 3 3
Nous pouvons faire lapproximation
2 2
eU1 1 U12 + + eUn 1 Un2
I E(h(U )) .
n
Nous estimons les deux variances dans le programme 3.2. La variance est rduite dun facteur 10
grce cette mthode.
Dmonstration.
f ((1, . . . , 1) U ) + f (U )
V
2
2 ! 2
f ((1, . . . , 1) U ) + f (U ) f ((1, . . . , 1) U ) + f (U )
=E E
2 2
1 1
=E(f ((1, . . . , 1) U )2 ) + E(f (U )2 ) + E(f ((1, . . . , 1) U )f (U )) E(f (U ))2
4 4
(Cauchy-Schwarz)
1 1
E(f ((1, . . . , 1) U )2 ) + E(f (U )2 ) + E(f ((1, . . . , 1) U )2 )1/2 E(f (U )2 )1/2 E(f (U ))2
4 4
= V(f (U )) .
Remarque 3.4. Le mme rsultat est encore valable si on remplace [0; 1]d par un domaine
quelconque A de Rd , si on remplace (u1 , . . . , ud ) [0; 1]d 7 (1 u1 , . . . , 1 ud ) [0; 1]d par une
transformation bijective : A A telle que | det(Jac )(x)| = 1 (x) et si f ((x)) = f (x) pour
tout x A.
F
Supposons que D est partitionn en D1 , D2 , . . . , Dm (ce que nous noterons D = 1im Di ).
Nous dcomposons I en :
Xm
I= pi Ii
i=1
Pm
avec pour tout i, Ii = E(g(X)|X Di ), pi = P(X Di ) (nous avons i=1 pi = 1). Nous
supposons que nous savons simuler suivant la loi L(X|X Di ) pour tout i et que tous les pi sont
connus. Pour chaque i, nous pouvons approcher Ii par une mthode de Monte-Carlo ni tirages :
(i) (i)
g(X1 ) + + g(Xni )
Ii Ibi = ,
ni
(i) (i)
avec des variables X1 , X2 , . . . i.i.d. L(X|X Di ). Chacune de ces approximations a un cot
numrique ni (puisquon fait ni boucles pour calculer la somme ci-dessus). Nous en dduisons une
deuxime approximation :
I p1 Ib1 + + pm Ibm .
Lerreur commise se dcompose dans ce cas en une somme derreur :
m
X
I (p1 Ib1 + + pm Ibm ) = pi (Ii Ibi ) .
i=1
Dans cette somme, chacun des termes est (approximativement) de loi N (0, p2i i2 /ni ) avec
i2 = V(g(X)|X Di )
= E((g(X) E(g(X)|X Di ))2 |X Di )
E((g(X) E(g(X)|X Di ))2 1{XDi } )
=
pi
= p1
i E(g(X) 2
1 {XDi } ) + pi E(g(X)|X Di ) E(1{XDi } )
1 2
i E(g(X)|X Di )E(g(X)1{XDi } )
2p1
i E(g(X) 1{XDi } ) pi E(g(X)1{XDi } ) .
= p1 2 2 2
Pm
Donc lerreur est (approximativement) de loi N (0, i=1 i2 /ni ). Nous
Pmvoulons que cette erreur
soit la plus petite possible donc nous voulons minimiser la variance i=1 p2i i2 /ni . Comme nous
voulons
Pm pouvoir faire une comparaison avec la premire mthode, nous ajoutons la contrainte
i=1 n i = n.
Lemme 3.5. Soit S = {(x1 , . . . , xm ) Rm
+ : x1 + + xm = n}. Soit
m
X p2 2 i i
f : x = (x1 , . . . , xm ) S 7 .
i=1
xi
p1 1 pm m
Alors f atteint son minimum en n p1 1 ++pm m , . . . , p1 1 ++pm m .
j k
pi i
Comme nous voulons des ni entiers, nous prenons ni = n p1 1 ++p m m
, pour tout i (rappel :
bxc = inf{n Z : n x}). Dans la pratique, il faudra donc estimer les i et les pi (par une mthode
de Monte-Carlo). Si oublie les parties entires, la deuxime mthode est de variance
m m
X p2 2
i i
X (p1 1 + + pm m ) (p1 1 + + pm m )2
= p2i i2 = .
i=1
ni i=1
npi i n
m
! m
!2
g(X)2 1{XDi }
X X
(les Di partitionnent D) = E E pi E(g(X)|X Di )
i=1 i=1
m
X
pi E(g(X)2 |X Di ) pi E(g(X)|X Di )2
=
i=1
m m
!2
X X
2
+ pi E(g(X)|X Di ) E pi E(g(X)|X Di )
i=1 i=1
Pm
Rappelons que pour x1 , . . . , xm R et 1 , . . . , m R+ tels que i=1 i = 1, nous avons
m m
!2
X X
(3.2) i x2i i xi
i=1 i=1
o f est la densit du couple (X, Y ). Cette criture nous donne lide dune premire approximation
n
1X
I g(Xi , Yi )
n i=1
1
R
avec des (Xi , Yi ) i.i.d. de mme loi que (X, Y ). Soit h(x) = m(x) g(x, y)f (x, y)dy avec m(x) =
R
f (x, y)dy. Nous avons
Z
E(h(X)) = h(x)f (x, y)dxdy
x,y
3.6. EXERCICES 27
Z Z
1
= R g(x, v)f (x, v)dv f (x, y)dy
x,y u
f (x, u)du v
R
Z
y
f (x, y)dy
(Fubini) = g(x, v)f (x, v) R dxdv
v,x u
f (x, u)du
Z
= g(x, v)f (x, v)dxdv
v,x
= E(g(X, Y )) .
Supposons que nous savons calculer h(x) pour tout x. Nous avons alors lide dune deuxime
approximation
h(X1 ) + + h(Xn )
I .
n
Lemme 3.7. Nous avons
V(h(X)) V(g(X, Y )) .
(Donc la mthode de la valeur moyenne rduit la variance.)
Dmonstration. Nous savons que E(h(X)) = E(g(X, Y )) donc pour comparer V(h(X)) et
V(g(X, Y )), il suffit de comparer E(h(X)2 ) et E(g(X, Y )2 ). Nous avons :
Z
E(h(X)2 ) = h(x)2 f (x, y)dxdy
x,y
R 2
g(x, v)f (x, v)dv
Z
v
= R f (x, y)dxdy
x,y u
f (x, u)du
g(x, v)2 f (x, v)dx
Z R
v
(Cauchy-Schwarz) R f (x, y)dxdy
x,y u
f (x, u)du
g(x, v)2 f (x, v)
Z Z
(Fubini) = R f (x, y)dy dxdv
x,v u
f (x, u)du y
Z
= g(x, v)2 f (x, v)dxdv
x,v
= E(g(X, Y )2 ) .
3.6. Exercices
Exercice 3.1. Cet exercice est inspir par lexercice 1.7 de [Par08]. On veut calculer
I = E(1X>0 eX ) ,
(1) Calculer la variance de la mthode Pnave (quand on tire des X1 , X2 ,. . . i.i.d. de loi
n
N (0, 1) et que lon approche I par n1 i=1 1Xi >0 eXi ).
(2) Proposer une mthode dchantillonage prfrentiel.
(3) Proposer une mthode de variable de contrle.
(4) Amliorer la mthode laide dune technique de variable antithtique.
On note Z le rsultat affich par lalgorithme. Quelle est la quantit I approche par
Z?
(2) crire un programme qui estime la variance de la mthode ci-dessus.
(3) Proposer une mthode de rduction de variance pour le calcul de I.
(4) crire un programme qui implmente cette nouvelle mthode. crire un programme qui
estime la nouvelle variance (elle soit tre plus petite que la variance de la question 2).
Exercice 3.3. On veut calculer pl = P(X [l; l + 1]) pour X une variable exponentielle de
paramtre 1 et l 0.
(1) (a) Proposer une mthode de Monte-Carlo pour calculer pl .
(b) Calculer la variance de cette mthode.
(2) (a) Proposer une mthode dchantillonage prfrentiel (par exemple : telle que les nou-
veaux tirages soient tous dans [l; l + 1]).
(b) Calculer la variance de cette mthode.
(3) Comparer les variances des deux mthodes quand l +.
Recommencer avec X N (0; 1). On pourra comparer les variances entre les cas suivants :
densit fe uniforme sur [0, 1] et densit fe de la loi exponentielle conditionne tomber dans [l; l+1].
Exercice 3.4 (Recyclage dans la mthode du rejet). On veut valuer par une mthode de
Monte-Carlo Z
f (x)p(x)dx
R
(o p est une densit de probabilit). On fixe un entier n. On simule X1 , . . . , Xn de densit p par
la mthode du rejet (base sur une ingalit p M q). On doit donc simuler un nombre alatoire
N de variables alatoires Yi de densit q. Parmi celles-ci, notons Z1 , . . . , ZN n les variables Y qui
sont rejetes, cest dire telles que :
p(Yi ) M Ui q(Yi ) .
(1) Quelle est la loi de N ?
(2) Quelle est la loi de Z1 , . . . , ZN n conditionnellement N = n + p ?
(3) Montrez que
n
n N
!
1 X X (M 1)p(Zi )
f (Xi ) + f (Zi )
N i=1 i=1
(M q p)(Zi )
est un estimateur sans biais de E(f (Xi )).
Chapitre 4
Dans tout ce chapitre, on suppose que lon est dans un espace E fini ou dnombrable. Les
algorithmes dcrits fonctionnent aussi dans le cas E = R ou E = Rd .
Pour x E, on note
d(x) := P GCD{n : Qn (x, x) > 0} .
Un lment x de E est dit apriodique si d(x) = 1.
29
30 4. MTHODES DE MONTE-CARLO PAR CHANES DE MARKOV
Exemple 4.5 (Marche simple dans Z.). Soit Q noyau de Markov de Z dans Z donn par
1 1
Q(x, x + 1) = , Q(x, x 1) = , x .
2 2
Pour tout x, Q2 (x, x) = P(X2 = x|X0 = x) (o (Xn ) chane de Markov de transition Q). Nous
avons donc 2
2 1
Q (x, x) P(X2 = x, X1 = x + 1|X0 = x) = > 0.
2
Par ailleurs, si Qn (x, x) > 0 alors n est pair (on fait forcment un nombe pair de pas pour aller
de x x). Donc d(x) = 2. Donc le noyau Q nest pas apriodique.
Dfinition 4.6. Soit Q un noyau de Markov. Si tous les x de E sont apriodique alors Q est
dit apriodique.
Lemme 4.7. Si Q est irrductible, [x E qui est apriodique][Q est apriodique].
Thorme 4.8. Supposons que E est fini et que Q est une matrice de transition irrductible,
apriodique et admettant une probabilit invariante 0 .
(1) Il existe deux rels [0; 1[, M R+ tels que pour tout x, y E,
|Qn (x, y) 0 (y)| M n .
(2) Pour tout x E et toute fonction f : E R, si on appelle (Xn )n0 une chane de Markov
de loi initiale quelconque et de transition Q
n
1 X X loi
n + 1 f (Xp ) 0 (y)f (y) N (0, 2 ) ,
n + 1 p=0 n+
yE
Proposition 4.11. La suite alatoire (Xn )n0 construite ci-dessus est une chane de Markov
de transition P avec (
P (x, y) = Q(x, y)(x, y) si x 6= y ,
P
P (x, x) = 1 y6=x P (x, y) .
La loi est P -invariante
Dmonstration. Pour tout x, P(Xn+1 = x|X0 , . . . , Xn ) = P(Xn+1 = x|Xn ) (daprs la
construction ci-dessus). Donc (Xn )n0 est bien une chane de Markov. Calculons, pour tout x 6= y
P(Xn+1 = y|Xn = x) = P(Yn+1 = y, Un+1 (Xn , Yn+1 )|Xn = x)
= P(Yn+1 = y, Un+1 (x, Yn+1 )|Xn = 1)
= P(Yn+1 = y, Un+1 (x, y)|Xn = x)
(Yn+1
Un+1 ) = Q(x, y)(x, y) .
Nous en dduisons
X X
P(Xn+1 = x|Xn = x) = 1 P (x, y) = 1 Q(x, y)(x, y) .
yE y6=x
Pour tout x 6= y,
(x)P (x, y) = (x)Q(x, y)(x, y)
(y)Q(y, x)
= (x)Q(x, y) min 1,
(x)Q(x, y)
= min ((x)Q(x, y), (y)Q(y, x))
= min ((y)Q(y, x), (x)Q(x, y))
(on refait le calcul en inversant x et y) = (y)P (y, x)
Donc est symtrique par rapport P . Daprs le lemme 4.3, nous avons donc P = .
p
4.5 et une loi sur Z telle que (x) = C exp( |x|)
Exemple 4.12. Soit Q dfini dans lexempleP
pour tout x (C est alors la constante telle que xZ (x) = 1. Le programme 4.1 fait une simu-
lation dune marche de Metropolis de noyau de proposition Q et de loi-cible . On remarque quil
nest pas ncessaire de connatre C pour implmenter lalgorithme.
Lemme 4.13. Avec les notations dfinies ci-dessus, si Q(x, y) est irrductible et vrifie : x, y,
Q(x, y) 6= 0 Q(y, x) 6= 0, et (x) > 0 pour tout x, y alors P est irrductible.
Dmonstration. Pour tout x, y, (x, y) > 0. De plus, pour tout x, y, il existe p N et une
suite x1 , . . . , xp de E telle que Q(x, x1 )Q(x1 , x2 ) . . . Q(xp1 , xp )Q(xp , y) > 0. Donc :
Pour prouver lapriodicit de P , il suffit de montrer quil existe x tel que P (x, x) > 0. Supposons
que P (x, x) = 0 pour tout x. Or, pour tout x,
X
P (x, x) = 1 P (x, y)
y:y6=x
X X
= Q(x, y) Q(x, y)(x, y)
y y:y6=x
X
= Q(x, x) + Q(x, y)(1 (x, y))
y:y6=x
X (y)
= Q(x, x) + Q(x, y) 1 ,
(x) +
y:x6=y
donc
X (y)
P (x, x) Q(x, x) = Q(x, y) 1 .
(x) +
y:x6=y
Fixons x E. Les deux termes de lquation ci-dessus sont de signes opposs, ils valent donc 0.
Nous avons donc, pour tout y tel que y 6= x et Q(x, y) 6= 0 (il en existe car Q est irrductible),
(y)
(4.1) 1 = 0,
(x) +
cest dire (y) (x). Comme nest pas constante alors il existe y tel que (y) > (x). Mais
en inversant x et y dans (4.1), nous avons (x) (y). Nous aboutissons donc une contradiction.
Donc il existe x tel que P (x, x) > 0. Donc le noyau P est apriodique.
Sous les hypothse de cette proposition, nous pouvons appliquer le thorme 4.8 sur la vitesse
de convergence.
4.4. LE MODLE DISING 33
o la somme porte sur toutes les paires de sites m, m0 de E qui sont voisins. Remarquons que
H(x) est nulle si x est contante. Soit > 0, nous dfinissons la probabilit sur E :
1 x
(x) = e ,
Z()
avec Z() = xE ex . La constante Z() nest pas connue.
P
Nous aimerions simuler suivant la loi ou calculer des intgrales contre la loi . Pour cela,
nous allons utiliser lalgorithme de Metropolis. Nous allons utiliser un noyau de proposition Q
particulier.
Nous dfinissons une partition de en
+ = {(m1 , m2 ) ; m1 + m2 pair} ,
= {(m1 , m2 ) ; m1 + m2 impair} .
Remarquons que si m appartient + alors tous ses voisins sont dans (et rciproquement).
Pour x E, nous notons
x+ = (x(m), m + ) ,
x = (x(m), m ) .
!
+ 0
P P
exp 2 m+ m0 x (m)x (m )
|mm0 |=1
= !
y + (m)x (m0 )
P P P
yE exp 2 m+ m0
y =x |mm0 |=1
!
+ 0
Q P
m+ exp 2x (m) m0 x(m )
|mm0 |=1
= !.
y + (m)x (m0 )
P P P
yE exp 2 m+ m0
y =x |mm0 |=1
Cette expression est un produit de fonctions de x+ (m) sur m + . Donc, sous la loi (.|x ), les
composantes X + (m), m sont indpendantes et de loi
X
P(X + (m) = x+ (m)|X = x ) exp +
x (m0 )
2x (m) .
m0
|mm0 |=1
x (m0 )
P
Donc, en notant M = m0
|mm0 |=1
e2M
P(X + (m) = 1|X = x ) = ,
+ e2M
e2M
e2M
P(X + (m) = 1|X = x ) = 2M .
e + e2M
Il est donc trs facile de simuler suivant (.|x ). Nous dfinissons maintenant un noyau Q en
dcrivant comment simuler un saut selon Q. Soit x dans E. Nous tirons U B(1/2). Si U 1/2,
nous tirons Y + de loi (.|x ) et nous sautons en (Y + , x). Si U > 1/2, nous tirons Y de loi
(.|x+ ) et nous sautons en (x+ , Y ). Nous pouvons alors crire :
+
si y = x et y + 6= x+ ,
1
2 (y |x )
1 (y |x+ )
si y + = x+ et y 6= x ,
Q(x, y) = 2(x+ |x )+(x |x+ )
2 si x = y ,
0 dans les autres cas .
Remarquons que le noyau Q est symtrique. Soit
(y)
(x, y) = min 1, .
(x)
Pour x, y dans E, nous navons pas besoin de Z() pour calculer (x, y). Nous pouvons donc
simuler la chane de Metropolis de noyau de proposition Q et de loi cible . Nous noterons (Xn )n0
cette chane. Le noyau Q est irrductible et symtrique. La loi nest pas constante. Donc par la
proposition 4.14 et le thorme 4.8, la loi de Xn est proche de (pour n +) et, pour une
fonction f , nous pouvons faire lapproximation
Z n+1
1 X
f (x)(dx) f (Xn ) ,
E n + 1 n=0
quand n +.
Dans les figures (4.4.1) et (4.4.2), nous avons simul des tirages suivant la loi laide de
lalgorithme de Metropolis (les rsultats sont donc approximativement de loi ) pour N = 25. Les
sites en rouge (ou gris fonc) reprsentent des +1 et les sites en vert (ou gris clair) reprsentent
des 1. On sattend ce que les variables tires soient reprsentatives de la loi . On remarque
que plus est grand, plus la loi privilgie les configurations x tels que le nombre de couples
de voisins en dsaccord est petit (on dit que m, m0 sont en dsaccord si x(m) 6= x(m0 )). Et
4.5. ANALYSE BAYSIENNE DIMAGE 35
(a) = 0, 3 (b) = 0, 5
Figure 4.4.1
(a) = 0, 8 (b) = 1
Figure 4.4.2
en effet, dans les tirages effectus, les deux couleurs sont plus mlanges pour petit que pour
grand.
se fait du contraste de limage de dpart. Plus est grand, plus on privilgie les images de fort
contraste.
Nous allons construire une chane de Metropolis semblable celle de la partie prcdente.
Lobservation y est fixe et la loi cible est = ((x), x E) avec (x) = (x|y) pour tout x. En
nous inspirant de la partie prcdente, nous obtenons :
(x+ , x )
(x+ |x ) = P
zE (z)
z =x
!
+ 0 2
pa(x,y) (1 p)d(x,y)
P P
exp m+ m0 (x (m) x (m ))
|mm0 |=1
= !
z (m0 ))2
P P P + (m)
zE exp m+ m0 (z pa(z,y) (1 p)d(z,y)
z=x |mm0 |=1
!
+ 0
Q P
m+ exp 2x (m) m0 x(m )
|mm0 |=1
= !
y + (m)x (m0 )
P P P
yE exp 2 m+ m0 pa(z,y) (1 p)d(z,y)
y =x
|mm0 |=1
+
(m)y + (m)|/2 +
(m)y + (m)|/2
Y
p1|x (1 p)|x
m+
(m)y (m)|/2
(m)y (m)|/2
Y
p1|x (1 p)|x
m
Y X 1|x+ (m)y+ (m)|/2 + +
+
x(m0 ) (1 p)|x (m)y (m)|/2 .
exp
2x (m) p
m+ m0
|mm0 |=1
Cette expression est un produit de fonctions de x+ (m) sur m + . Donc, sous la loi (.|x ), les
composantes X + (m), m sont indpendantes et de loi
X 1|x+ (m)y+ (m)|/2 + +
(x+ (m)|x ) exp +
x(m0 ) (1 p)|x (m)y (m)|/2 .
2x (m) p
m0
|mm0 |=1
x (m0 ), si y + (m) = 1,
P
Donc, en notant M = m0
|mm0 |=1
e2M p
(x+ (m) = 1|x ) = ,
e2M p + e2M (1 p)
e2M (1 p)
(x+ (m) = 1|x ) = 2M ;
e p + e2M (1 p)
et si y + (m) = 1,
e2M (1 p)
(x+ (m) = 1|x ) = ,
e2M (1 p) + e2M p
e2M p
(x+ (m) = 1|x ) = 2M .
e (1 p) + e2M p
Il est donc trs facile de simuler suivant (.|x ). Nous dfinissons maintenant un noyau Q en
dcrivant comment simuler un saut selon Q. Soit x dans E. Nous tirons U B(1/2). Si U 1/2,
nous tirons Z + de loi (.|x ) et nous sautons en (Z + , x). Si U > 1/2, nous tirons Z de loi
(.|x+ ) et nous sautons en (x+ , Z ).
4.6. CRYPTOGRAPHIE 37
4.6. Cryptographie
Une des techniques de cryptographie les plus simples consiste remplacer les caractres du
texte coder au moyen dune bijection. Supposons par exemple que lensemble des caractres
utiliss soit A ={a, b, c, ...,x, y, z, ., (espace), -, (guillemet simple), (guillemet
double langlaise), ,, ;, ?, !, :}. Cet ensemble est de cardinal 36, on lidentifiera dans la
suite [36] = {1, 2, . . . , 36} (chaque caractre est identifi par son numro). Le codage consiste en
une permutation des caractres, cest dire en une application g bijective [36] [36]. Voici une
phrase code tire dune uvre littraire bien connue
g,hpobv ,gpochb :chbp ;hgpoog,hpo"b ? :sbyo"bos,gpbymbkohgoabhgbox,eebroch
ognm vo ?po :n yovy bpo gvb : : lbgvro ?y :ochb :chbpo gpvgvpombsoh-
goe,gp bhyoch opbovy,hm voos,vbo"bo :h ro ? h
po :o : :opnppb,yko"bhuoxbhybpo ? :hpovy"roabo :boybgs,gvy o"bog,hmbhoqo :obv
vobgos ,e ?lg bo"nhgosey"bobvo ?y : vosx ! !,gp
Chaque lettre a de la phrase dorigine a t remplace par la lettre g(a), etc. Nous notons
E = {f : [36] [36] , bijective}.
On se donne une matrice de Markov M de taille 36 36 qui reprsente les probabilits de
transition dun caractre lautre quand on regarde les caractres les uns aprs les autres dans un
texte crit en franais. Par exemple, si on calibre cette matrice sur un volume des Trois Mousque-
taires , M (2, 1) = 0, 14 parce quun a est suivi dun b dans environ 14% des cas. Notons c1 , c2 ,
..., c314 la suite des numros des caractres apparaissant dans la phrase code. On sintresse la
loi sur E telle que, pour toute f :
313
Y
(f ) M (f (ci ), f (ci+1 )) .
i=1
On remarque que plus (f ) est grande, plus f est un dcodage plausible. Nous voulons construire
une chane de Markov (Fn )n0 telle que Fn converge en loi vers quand n tend vers linfini. Soit
un noyau de Markov de proposition Q sur E dcrit par :
Quand on est en f E. On tire {X, Y } suivant la loi uniforme sur P2 ([36]) (les parties
deux lments de [36]).
On saute en f (X,Y ) dfinie par
f (z)
si z
/ {X, Y } ,
(X,Y )
f (z) = f (X) si z = Y ,
f (Y ) si z = X .
Nous remarquons que le noyau Q est symtrique. Ce noyau est irrductible (parce que les trans-
positions engendrent le groupe symtrique). La loi est non constante. Soit (Fn )n0 une chane
de Metropolis de noyau de proposition Q et de loi cible . La proposition 4.14 et le thorme 4.8
nous disent que pour n grand, la loi de Fn est proche de . Voici ce que lon peut obtenir aprs
10000 itrations
nous etions quelqueshuns a nous declamer de monserve, un jeune boppe. qui
navait cas lair tres in telligent. carla quelques instants avem un ponsieur qui
se trouvait a mote de lui. cuis il all a sasseoir, deux beures clus tard. je le ren-
montrai de nouveau - il etait en mopcagnie dun m aparade et carlait mbiffons
38 4. MTHODES DE MONTE-CARLO PAR CHANES DE MARKOV
4.7. Exercices
Exercice 4.1. Soit E, F des espaces finis. Soit Q noyau de transition de E dans E (pour
tout x E, Q(x, .) est une loi de probabilit sur E). Le noyau Q est suppos irrductible et
apriodique. On suppose que Q(x, y) > 0 Q(y, x) > 0. Soit K noyau de transition de E
dans F (pour tout x E, K(x, .) est une loi de probabilit sur F ). On suppose que pour tout
+
P y) E F , K(x, y) > 0. On dispose de Z : E F R et on note, pour tout x E,
(x,
uF Z(x, u)K(x, u) = z(x). On sintresse la chane de Markov suivante dans E F .
X0 = x0 E (quelconque), U0 K(x0 , .).
Si on a (Xn , Un ) E F .
On tire Xn+1 Q(Xn , .) et Vn+1 U([0; 1]) (indpendant de tout le reste). On tire
U n+1 K(Xn+1 , .).
On calcule
Z(Xn+1 , Un+1 )Q(Xn+1 , Xn )
(Xn , Un , Xn+1 , Un+1 ) = inf 1, .
Z(Xn , Un )Q(Xn , Xn+1 )
Si Vn+1 (Xn , Un , Xn+1 , Un+1 ) alors Xn+1 = Xn+1 et Un+1 = Un+1 . Sinon Xn+1 =
Xn et Un+1 = Un .
(1) On remarque que pour tout (x, y) E P F , (x0 ,P
y 0 ) 7 Q(x, x0 )K(x0 , y 0 ) dfinit une me-
sure de probabilit sur E F (on a bien x0 E y0 F Q(x, x0 )K(x0 , y 0 ) = 1). On notera
Q((x, y), .) cette mesure. Montrer que Q est un noyau de Markov irrductible sur E F .
(2) Montrer que ((Xn , Un ))n0 est une chane de Metropolis. Prciser son noyau de proposition
et sa loi cible. Nous noterons P sa transition.
(3) Montrer que P est irrductible.
(4) Montrer que P est apriodique.
(5) Montrer que (Xn )n0 converge en loi vers une loi proportionnelle z.
Exercice 4.2. Soient p et q des probabilits sur E (espace fini) avec x, 0 < p(x) cq(x) o
c constante > 0. On prend des variables Yn i.i.d. de loi q, indpendantes de X0 . On dfinit par
rcurrence une chane (Xn ) :
On tire X0 suivant q.
Quand on a Xn , on tire Un U([0, 1]) indpendamment de toutes les autres variables et :
( p(Yn+1 )
Yn+1 si Un cq(Y n+1 )
Xn+1 =
Xn sinon .
(1) Montrer que (Xn ) est une chane de Markov.
(2) Calculer la probabilit de transition P (x, y) de (Xn ).
(3) Quel rapport y-a-t-il entre cette chane et une mthode de rejet classique ?
(4) Calculer P pour une probabilit . En dduire que la loi de Xn converge vers une unique
probabilit invariante gale p.
Exercice 4.3. On se place sur E = Z. Soit q loi sur E telle que q(x) = q(x). Soit p une loi
telle que p(x) > 0, x. On dfinit une chane de Markov (Xn ) par :
4.7. EXERCICES 39
X0 p
On tire Un U([0, 1]) indpendante de toutes les autres variables et Zn de loi q indpen-
dante de toutes les autres variables. On pose Yn = Xn + Zn et :
(
p(Yn )
Yn si Un inf 1, p(Xn)
Xn+1 =
Xn sinon .
(1) Montrer que p est symtrique par rapport au noyau de proposition.
(2) Soit (x) = Z1 exp(H(x)) une loi sur E (o H est une fonction, R une constante quel-
conque et Z est la constante de normalisation). Comment approcher E f (x)(dx) laide
dun algorithme de Mtropolis ?
Exercice 4.4 (Couplage). On suppose que lon a un noyau de Markov irrductible Q sur un
espace E fini (ou dnombrable) et probabilit sur E telle que Q = . On suppose quil existe
une probabilit sur E et > 0 tels que x, y E,
(y) Q(x, y) .
On construit deux chanes de Markov (Xn ) et (Yn ) par :
On tire X0 suivant et Y0 (indpendamment de X0 ) suivant 0 .
Si on a tir X0 , . . . , Xn et Y0 , . . . , Yn , on tire Un U([0, 1]) indpendamment de toutes les
autres variables.
Si Un , on tire Xn=1 = Yn+1 suivant .
Sinon
1
Si Xn = Yn , on tire Xn=1 = Yn+1 suivant la loi 1 (Q(Xn , .) (.)) (cest bien
une loi de probabilit).
1
Sinon on tire Xn+1 suivant Q(Xn , .) et Yn+1 suivant 1 (Q(Xn , .) (.)) (ind-
pendamment).
(1) Montrer que (Xn ) et (Yn ) sont des chanes de Markov de transition Q.
(2) Montrer que pour presque tout , n tel que Xn () = Yn ().
Pn p.s.
(3) On prend f une fonction borne. On rappelle que n1 k=1 f (Xn )
P
xE f (x)(x).
n+
Montrer que
n
1X p.s. X
f (Yn ) f (x)(x) .
n n+
k=1 xE
Annexe A
41
Annexe B
43
Bibliographie
[DB01] Pierre Del Moral and Nathalie Bartoli. Simulation et algorithmes stochastiques : une introduction avec
applications. Cepadus, Toulouse, 2001.
[DRR06] Pierre Del Moral, Bruno Rmillard, and Sylvain Rubenthaler. Une introduction aux probabilits. Ellipses,
Paris, 2006.
[Dur96] Richard Durrett. Probability : theory and examples. Duxbury Press, Belmont, CA, second edition, 1996.
[JP03] Jean Jacod and Philip Protter. Lessentiel en thorie des probabilits. Cassini, Paris, 2003.
[Par08] Etienne Pardoux. Markov processes and applications. Wiley Series in Probability and Statistics. John
Wiley & Sons, Ltd., Chichester ; Dunod, Paris, french edition, 2008. Algorithms, networks, genome and
finance.
[Wil91] David Williams. Probability with martingales. Cambridge Mathematical Textbooks. Cambridge University
Press, Cambridge, 1991.
45
Liste des symboles
:= Dfinition
# Cardinal
F
Partition
E Esprance
b. . .c Partie entire infrieure
47
Index
A P
Aiguilles de Buffon, 4 Partition., 25
Apriodique, 29 Poisson, 12
Appels successifs, 1 Proposition, 30
p.s., 2
B Pseudo-inverse, 9
Box-Mller, 11
S
C Sinus hyperbolique, 43
convergence en loi, 2 Somme arithmtique, 43
Cosinus hyperbolique, 43 Somme de carrs, 43
Couplage, 39 Somme gomtrique, 43
statistique dordre, 19
E Symtrique, 29
Espace de configurations, 33
Estimateur de la variance, 3 T
Exponentielle, 43 Temps de calcul, 15
Thorme de la limite centrale, 2
F Thorme ergodique, 29
Fonction dimportance, 21
Formule du binme, 43 V
v. a. r., 9
G Variance, 2
Gnrateur de nombres alatoires, 9 Variance de la mthode, 3
H
Histogramme, 15
I
i.i.d., 1
Intervalle de confiance, 2
Invariante, 29
Irrductible, 30
L
Logarithme nprien, 10
Loi a posteriori, 35
Loi cible, 30
Loi conditionnelle, 14
loi exponentielle, 10
Loi forte des grands nombres, 2
M
Marche simple dans Z., 30
MCMC, 29
Mthode de rejet, 13, 28
Monte-Carlo, 1
N
Nombre de parties (...), 43
Noyau de proposition, 30
Noyau symtrique, 32
49