Vous êtes sur la page 1sur 39

Introduction aux Méthodes de Monte-Carlo

LAURE ELIE

BERNARD LAPEYRE

Septembre 2001

Table des matières

1 Introduction aux méthodes de monte-Carlo

 

5

1.1 Simulation de lois uniformes

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

1.2 Simulation de lois non uniformes

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

1.3 Lois particulières

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

1.4 Lois vectorielles

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

1.5 Méthode de composition ou de mélange

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

1.6 Méthode de rejet : .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

1.7 Exercices

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

2 Techniques de réduction de variance

 

15

2.1 Échantillonnage préférentiel ou fonction d’importance

 

.

.

.

.

.

.

.

.

.

.

.

.

.

15

2.2 Variables de contrôle

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

2.3 Variables antithétiques

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

2.4 Méthode de stratification

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

2.5 Valeur moyenne ou conditionnement

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

2.6 Suites à discrépance faible

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

2.7 Commentaires bibliographiques

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

2.8 Exercices

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

3 Méthodes de Monte-Carlo et Chaînes de Markov

 

29

3.1 Chaîne de Markov et ergodicité

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

3.2 Algorithme de Hastings-Metropolis

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

34

3.3 Exercices

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

4 Travaux dirigés

39

4.1 Travail dirigé 1 : Simulation en Scilab

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

39

4.2 Travail dirigé 2 : Méthodes de réduction de variance

 

.

.

.

.

.

.

.

.

.

.

.

.

.

44

4.3 Travail dirigé 3 : Méthodes de Monte-Carlo par chaîne de Markov

.

.

.

.

.

.

.

48

4.4 Un exemple simple d’utilisation de scilab

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

51

4.5 Produits de transformations aléatoires

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

54

3

Chapitre 1

Introduction aux méthodes de monte-Carlo

De manière générale, la simulation permet d’étudier et expérimenter un système donné dont on connaît les interactions complexes, de mesurer les effets de certains changements dans les intéractions sur le comportement du système, d’expérimenter de nouvelle situations.

Lorsque dans la simulation intervient un élément aléatoire, on parle de simulation aléatoire. Les exemples d’application sont très variés, citons par exemple :

la simulation de files d’attente, de réseaux,

la simulation de portefeuilles d’actifs en finance,

la comparaison d’estimateurs en statistique,

la recherche d’état stationnaire en physique, en économie.

Remarquons de plus que si l’on cherche une représentation fidèle des phénomènes observés, on est rapidement confronté à des difficultés dues aux calculs non explicites. Les techniques de

simulation vont nous permettre d’approcher numériquement ces calculs. Nous allons dévelop- per ici les méthodes de Monte-Carlo qui ont pour essence l’utilisation d’expériences répétées

pour évaluer une quantité, résoudre un système déterministe. Ces méthodes peuvent servir pour :

le calcul d’intégrale,

la résolution d’équations aux dérivées partielles,

la résolution de système linéaire,

la résolution de problèmes d’optimisation (algorithme du recuit simulé).

Considérons par exemple le problème de l’intégration numérique. Il s’agit d’approcher

I =

g(x)dx.

Diverses méthodes classiques de type déterministe existent : rectangles,trapèzes, Simpson et I est approximé par une somme de la forme

w g(x )

avec

w = 1

et

(x )

bien choisis dans [0, 1].

La méthode de Monte-Carlo consiste à écrire cette intégrale sous la forme

I = E[g(U)]

U est une variable aléatoire suivant une loi uniforme sur [0, 1] et à utiliser la loi des grands nombres : si (U ) N est une suite de variables aléatoires indépendantes et de loi uniforme sur

5

6

PROCESSUS ET ESTIMATION : MONTE-CARLO

[0, 1], alors

1

n

En d’autres termes, si u , u , u ,

g(U )

E[g(U)]

p.s.

, u sont des nombres tirés au hasard dans [0, 1],

n (g(u ) + g(u ) + ··· + g(u )) est une approximation de

1

g(x)dx.

Prenons l’exemple plus général d’une intégrale du type

I = R g(x)f(x)dx

f(x) 0 et R f(x)dx = 1. Alors I = E[g(X)] X est une variable aléatoire de densité f par rapport à la mesure de Lebesgue sur R . Toujours par la loi des grands nombres, si (X ) N est une suite de variables indépendantes sur R de loi de densité f,

1

n

g(X )

E[g(X)]

p.s.

, X ), (g(x )+g(x )+· · ·+g(x ))

sera une approximation de I. Une question naturelle est la vitesse de convergence dans la méthode de Monte-Carlo.

D’après le Théorème central limite, si σ Var[g(X ],

et donc si (x , x ,

, x ) est une réalisation de (X , X ,

n

σ

√ n σ 1 n

1

n

g(X ) − E(g(X )) converge en loi vert G,

G est une variable aléatoire gaussienne centrée de variance 1. Par conséquent pour n suffi-

samment grand, l’écart =

g(X ) − E[g(X )] satisfait

P( n

σ

1, 96) P(|G| 1, 96) = 0, 95

et donc | | est avec une quasi-certitude de 95% inférieur à σ . Par suite un intervalle de

confiance pour E[g(X )] au niveau 0, 95 est [

En général σ ne sera pas calculable et on l’approximera par une méthode de Monte-Carlo

puisque

g(X ) − σ

,

g(X ) + σ

].

1

n

g(X )

1

n

g(X ) σ

p.s.

Ce calcul sera mené en même temps que celui de l’espérance.

. Cette vitesse peut paraître faible en

petite dimension, mais présente l’avantage

d’être insensible à la dimension,

de ne pas dépendre de la régularité de la fonction g à intégrer, pourvu que g(X ) soit de carré intégrable. On remarque cependant le rôle important joué par l’écart-type σ dans la qualité de l’approxi- mation et on va chercher des méthodes pour réduire cet écart-type. Il se pose donc les questions suivantes :

La vitesse de convergence est donc de l’ordre de

Ch.1 Introduction aux méthodes de monte-Carlo

7

Comment simuler des variables aléatoires indépendantes de loi uniforme ou plus généra- lement de loi donnée ?

Comment peut-on réduire la variance σ pour accélérer la convergence ?

Ces questions seront étudiées dans le premier chapitre. Puis nous aborderons dans le chapitre suivant des méthodes plus générales qui font appel aux chaînes de Markov.

1.1 Simulation de lois uniformes

On admet que l’on dispose d’un générateur de nombres aléatoires qui est capable

de simuler une suite de nombres au hasard compris entre 0 et 1. En d’autres termes

, U

indépendantes et de loi uniforme sur [0, 1]. Le générateur qu’il soit congruentiel, à déplacement de registre ou mixte aura été testé par des méthodes statistiques. On renvoie aux transparents pour ce paragraphe.

cette suite représentera une réalisation d’une suite de variables aléatoires U , U ,

1.2 Simulation de lois non uniformes

Méthode

 

de

la

fonction

de

répartition

On

suppose

que

X

est

une

variable

aléatoire

réelle

de

fonction

de

répartition

F(t)

=

P(X

t), alors F est une fonction croissante continue à droite. On définit la

fonction pseudo-inverse de F sur [0, 1] par

F (u) = inf{y R , F(y) u}.

Cette fonction pseudo-inverse est bien sûr la fonction réciproque de F lorsque F est bijective. On a le lemme suivant :

Lemme 1.2.1 Pour tout u [0, 1] et x R,

F ( u ) x

⇐⇒

u F ( x )

Démonstration : L’implication est triviale. Pour le sens direct, on remarque que si F (u) x, alors par croissance de F pour tout y > x, on a F(y) u. Comme F est continue à droite, on

en déduit F(x) u.

F est continue à droite, on en déduit F ( x ) ≥ u . Proposition

Proposition 1.2.2 Si U suit une loi uniforme sur [0, 1], la variable aléatoire F (U) suit une loi de fonction de répartition F.

Démonstration : D’après le lemme 1.2.1, on a pour tout x R,

P[F (U) x] = P[U F(x)] = F(x).

[ F ( U ) ≤ x ] = P [ U ≤ F ( x

Par X , X ,

répartition F, on générera un échantillon U , U ,

et on posera X = F (U ).

conséquent

si

F

est

explicite,

on

calculera

F

et

pour

générer

un

échantillon

, X de variables aléatoires indépendantes et de même loi de fonction de

, U de variables de loi uniforme sur [0, 1]

8

PROCESSUS ET ESTIMATION : MONTE-CARLO

Variable aléatoire exponentielle

Si X suit une loi exponentielle de paramètre λ de densité

f(x) = λ exp(−λx)

sur R , sa fonction de répartition vaut pour x 0, F(x) = 1 exp(−λx) et donc si u [0, 1],

F (u) = log(1 u) λ

.

Soit U une v.a. de loi uniforme sur [0, 1]. La variable X a donc même loi que log par symétrie que log

.

et aussi

Variable aléatoire prenant un nombre fini de valeurs Supposons que X soit une v.a. prenant un nombre fini de valeurs de loi

Alors

P(X = x ) = p

0 i n.

F (u) = x 1 +

x 1 ··· ··· .

Pour simuler X, on procédera de la manière suivante : on tire u au hasard dans [0, 1] et on pose X = x si, p + p + ··· + p < u p + p + ··· + p . Par exemple si X est une v.a. de Bernouilli prenant la valeur 1 avec la probabilité p et la valeur 0 sinon, on posera X = 1 si u p et X = 0 si p < u 1. La méthode ci-dessus s’étend bien sûr aux lois discrètes.

1.3 Lois particulières

Loi binomiale B(N, p) : P(X = k) = C p (1 p) . La v.a. X peut s’écrire comme somme de N v.a. de Bernouilli indépendantes prenant la valeur 1 avec la probabilité p. Une méthode possible consiste à tirer N nombres au hasard dans [0, 1] et à poser X = k si exactement k nombres sont tombés dans l’intervalle [0, p].

Ch.1 Introduction aux méthodes de monte-Carlo

9

Loi géométrique : P(X = k) = p(1 p) pour k N . On simule des nombres au hasrd dans [0, 1], et on pose X = k si le k ème nombre tiré est le premier à tomber dans [0, p].

Loi gaussienne : La fonction de répartition n’est pas explicite ; on peut utiliser des ap- proximations de cette fonction, mais on risque d’accumuler les erreurs. Une méthode classique directe dite de Box-Muller repose sur la propriété suivante : si θ suit une loi uniforme sur [0, 2π], si R suit une loi exponentielle de paramètre 1/2 avec θ et R sont indépendantes, alors X = R cos θ et Y = R sin θ sont deux v.a. indépendantes de loi normale centrée de variance 1. Par conséquent si U et U sont indépendantes et de loi uniforme sur [0, 1], le couple ((−2 log U ) cos(2πU ), (−2 log U ) sin(2πU )) est formé de variables gaussiennes indé- pendantes centrées de variance 1. La simulation de deux v.a. indépendantes de loi uniforme conduit à la simulation de deux v.a. gaussiennes standard indépendantes. Pour simuler un v.a. gaussienne de moyenne m et de variance σ , il suffit de poser X = m + σG, où G suit une loi normale centrée réduite.

Loi de Poisson de paramètre λ

P(X = n) = exp(−λ) λ

n .

Si (T ) est une suite de variables exponentielles de paramètre λ, alors on peut montrer que la v.a.

X =

n 1 ··· ···

suit une loi de Poisson de paramètre λ. Sachant que T peut se mettre sous la forme log U avec U de loi uniforme sur [0, 1], on obtient

X =

n 1 exp .

Pour simuler X, on simule une suite (u ) de nombres au hasard dans [0, 1] , on cherche le

premier instant k u u

u < exp λ et on pose X = k 1.

1.4 Lois vectorielles

Si les coordonnées sont des v.a. réelles indépendantes, on se ramène au cas univariré en simulant successivement les coordonnées de manière indépendante.

Sinon on peut effectuer des conditionnements successifs : par exemple soit (X, Y) un couple de v.a. de densité f(x, y) par rapport à la mesure de Lebesgue sur R ; on peut écrire f(x, y) = f (x) f(y/x) f est la densité de X et où f(./x) est la densité condi- tionnelle de Y sachant {X = x}. Pour générer (X, Y), on simule X selon la loi de densité f ; si X = x, on simule Y selon la loi de densité f(y/x) et indépendamment de X. Ce procédé peut être itéré pour générer des vecteurs d-dimensionnels.

La formule de changement de variables est aussi un outil utile pour effectuer des trans- formations.

10

PROCESSUS ET ESTIMATION : MONTE-CARLO

1.5 Méthode de composition ou de mélange

On suppose que la v.a. X à simuler a une densité f (x)

soit de la forme g(x, y)dy g est une fonction positive,

soit de la forme p f (x) p 0 pour tout i I.

Dans le premier cas, on remarque que puisque f est une densité, g(x, y)dxdy = 1 et donc que g est la densité d’un couple dont la première marginale est X. L’idée est donc de grossir l’espace, de générer un couple (X, Y) de densité g et de retrouver par projection X. On pourra

utiliser la méthode proposée au paragraphe précédent en commencant par générer Y de densité f (y) g(x, y) dy, puis en générant si Y = y, une v.a. X indépendante de Y et ayant pour densité la densité conditionnelle f(x/y) =

.

Considérons par exemple la densité définie sur R par f (x) = n y exp(−xy) dy. Alors g(x, y) = n 1 1 y exp(−xy) et f (y) = g(x, y)dx = 1

La méthode de la fonction de répartition permet de prouver que Y = U U suit une loi uniforme sur [0, 1]. Remarquant que la loi conditionnelle f(x/y) est une loi exponentielle de paramètre y, on conclut que pour générer X :

.

on génère Y = U ,

puis si Y = y, on génère X = − log V U et V sont deux variables indépendantes de loi uniforme sur [0, 1]. Dans le cas où la v.a. X à simuler a une densité de la forme p f (x) p 0 pour tout i I, alors X est à nouveau la première marginale d’un couple (X, Y) dont la loi est définie de la manière suivante : Y a une loi discrète : i I, P(Y = i) = p ; et la loi conditionnelle de X sachant que {Y = i} a pour densité f . Pour générer X, on procède comme ci-dessus en commençant par générer le couple (X, Y) ; cette méthode est intéressante si les lois de densité f sont faciles à simuler.

1.6 Méthode de rejet :

On veut simuler une v.a. de loi de densité f (par exemple par rapport à lemesure de Le- besgues sur R ), et on suppose qu’il exixte une loi de densité g simulable facilement telle que

x R , f(x) kg(x)

k est une constante réelle. On pose α(x) =

Proposition 1.6.1 Générons un couple (X , U ) de v.a. indépendantes telles que Y une loi de densité g et U suive une loi uniforme sur [0, 1]. Si U α(X ), posons X = X . Sinon rejetons X et recommençons en générant une suite (X , U ) de v.a. indépendantes de même loi que (X , U ) jusqu’à l’instant p U α(X ). Posons alors X = X . La v.a. X ainsi simulée a pour densité f.

Remarque 1.6.2 1) La probabilité d’acceptation à l’instant 1 de la v.a. X vaut

.

1

p = P(U α(X )) = P(U α(x)) P (dx) = a(x)g(x)dx = k f(x)dx = 1

k

par indépendance de U et X . Si on ne veut pas trop de rejets lors de la simulation de X, il faut que cette probabilité d’acceptation p soit la plus grande possible et donc que k soit le plus petit possible. Comme f et g sont des densités et que f kg, le réel k est en fait nécessairement 1.

Ch.1 Introduction aux méthodes de monte-Carlo

11

Remarquons de plus que les rejets seront limités si fonction g a une allure similaire à celle de f.

est proche de 1 et donc si la

2) L’algorithme ci-dessus est encore valable si la v.a. X à simuler a une densité f par rapport à une mesure positive µ quelconque majorée par kg g est la densité par rapport à µ d’une variable Y facile à simuler. Ceci se traduit par

P(X A) = f(x)µ(dx) kg(x)µ(dx) = kP(Y A).

Si la v.a. X a une loi portée par un ensemble discret E, on peut choisir pour µ la mesure de comptage sur E et la méthode de rejet est aussi valable pour des lois discrètes, f(x) étant dans ce cas égal à P(X = x).

Démonstration : Remarquons tout d’abord qu’au bout d’un nombre d’essais fini, la relation U α(X ) sera vérifiée ; en effet

puis

P(p N , X

=

X ) =

lim P(

X

=

X ) =

lim P(

U α(X )),

P(p N , X

= X ) =

P(U α(X )) = lim

lim

(p ) =

(

lim

1

k ) = 0,

puisque les v.a. (X , U ) sont indépendantes et de même loi. Par conséquent

P[X A]

=

=

P[X = X , X A]

P[

U α(X ) U α(X ) X A]

= (1 p ) P[U α(X ) X A]

= p P[U α(X ) X A]

= P[X A/{U α(X )}].

La loi de de X est donc la loi de X conditionnée par l’ensemble d’acceptation

{U α(X )}.

Elle satisfait par indépendance de X et U ,

1

P [ X A ] = p P(U α(x)) P (dx) = k a(x)g(x)µ(dx) = f(x)dx.

X ∈ A ] = p P ( U ≤ α ( x )) P (

12

PROCESSUS ET ESTIMATION : MONTE-CARLO

1.7

Exercices

Exercice 1 Soit X une variable aléatoire telle que E X < +. Soit (X , “Monte–Carlo” indépendants selon la loi de X. On approxime E(X) par :

1

n (X + ··· + X ) .

, X ) n-tirages

Expliquer comment on peut construire un intervalle de confiance à 95% pour notre estimation.

Exercice 2 Soit X une variable aléatoire de loi admettant comme fonction de répartition :

F(x) = 1

exp αx , pour x > 0,

0 sinon. Expliciter la densité de la loi de X et proposer une méthode de simulation de cette loi.

Exercice 3 Soit X une loi géométrique de paramètre p :

P (X = k) = p (1 p) , k 1.

1. Rappeler la méthode classique de simulation à l’aide de tirages à pile ou face.

2. Donner une autre méthode de simulation de cette loi utilisant la fonction de répartition.

3. Comment comparer l’efficacité des 2 méthodes ?

Exercice 4 Soit X et Y deux variables aléatoires indépendantes suivant des lois gaussiennes centrées réduites.

1. Soit (R, Θ) les coordonnées polaires du point (X, Y). Montrer que R et Θ sont indépen- dantes et calculer leur loi.

2. Montrer que si U et U sont deux variables aléatoires indépendantes suivant une loi uniforme sur [0, 1], alors le couple (X , X ) avec :

X = 2 log(U ) cos(2πU ) et X = 2

log(U ) sin(2πU ),

est un couple de variables aléatoires gaussiennes centrées réduites indépendantes.

. On accepte ces tirages sous

réserve que R < 1 et l’on fait de nouveau tirage si R 1. Quelle est la loi du couple

3. On pose V = 2U 1, V = 2U 1 et R = V

+ V

(V , V ) dans ces conditions (après rejet) ? En déduire que si l’on pose :

X = V 2 log(R )

R

et X = V 2 log(R ) R

,

X et X sont deux variables aléatoires gaussiennes centrées réduites indépendantes.

4. Proposer un algorithme de rejet permettant de simuler une variable aléatoire gaussienne à partir de la loi double exponentielle de densité (λ/2) exp (−λ|x|).

Exercice 5 Soit X une variable aléatoire réelle de fonction de répartition F. On supposera cette fonction de répartition inversible et l’on note F son inverse.

Ch.1 Introduction aux méthodes de monte-Carlo

13

2. On pose Z, si U est une variable aléatoire uniforme sur [0, 1] :

Z = F (F(m) + (1 F(m))U) .

Calculer la fonction de répartition de Z et en déduire une méthode de simulation de X conditionnellement à X > m. Comparer l’efficacité de cette méthode à la méthode du rejet.

3. Généraliser la méthode précédente au cas où l’on cherche à simuler X conditionnellement à a < X < b.

4. On suppose maintenant que l’on cherche à simuler X, avec loi normale de moyenne µ et de variance σ , conditionnellement à X > m. Montrer que l’on peut se ramener au cas µ = 0, σ = 1 et m arbitraire.

5. Proposer une méthode du rejet basée sur la loi exponentielle translatée de densité donnée par θe 1 {x > m} . Comment choisir le paramètre θ ?

14

PROCESSUS ET ESTIMATION : MONTE-CARLO

Chapitre 2 Techniques de réduction de variance

Nous venons de voir que la vitesse de convergence de la méthode de Monte-Carlo est de

l’ordre de σ/ n. Pour améliorer cette méthode il existe de nombreuses techniques, dites de réduction de variance, qui cherchent à diminuer la valeur de σ . L’idée générale est de donner une autre représentation sous forme d’espérance de la quantité à calculer :

E (X) = E (Y) ,

en cherchant à diminuer la variance. Nous allons passer en revue quelques unes de ces méthodes qui sont applicables dans pratiquement tous les cas de simulations.

2.1 Échantillonnage préférentiel ou fonction d’importance

Supposons que l’on cherche à calculer :

E(g(X))

et que la loi de X soit f(x)dx (sur R pour fixer les idées). La quantité que l’on cherche à évaluer vaut donc :

E(g(X)) = R g(x)f(x)dx.

Soit maintenant, f la densité d’une autre loi telle que f > 0 et R f(x)dx = 1, il est clair que

E(g(X)) peut aussi s’écrire :

˜

˜

˜

E(g(X)) = R

g(x)f(x)

˜

f(x)

˜

f(x)dx.

Cela signifie que E(g(X)) = E , si Y suit la loi f(x)dx sous P. On a donc une autre

méthode de calcul de E(g(X)) en utilisant n tirages de Y, Y , par :

, Y et en approximant E(g(X))

˜

˜

1 g(Y )f(Y