Vous êtes sur la page 1sur 35

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université De M’hamed Bougara Boumerdes
Faculté des Sciences
Département de Mathématiques

Simulation

Présenté par

ISSAADI Badredine

Maître de conférences classe A,

Pour Master I

Spécialité : Recherche Opérationnelle, Optimisation et Management


Stratégique.

Année Universitaire : 2020 / 2021


Email : issaadi_badredine@univ-boumerdes.dz
issaadi_badredine@yahoo.fr
Table des matières

Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I

1 Génération de variables aléatoires . . . . . . . . . . . . . . . . . . . . . . 1


1.1 Méthode de la transformation inverse 2
1.1.1 Distribution continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Distribution discrète . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Méthode de Rejet-Acceptation 10
1.2.1 Méthode de Rejet-Acceptation, pour les densités à support compact 11
1.2.2 Méthode de Rejet-Acceptation, pour les densités à support quelconque 13
1.3 Méthode de composition 18
1.4 Méthode de convolution 22
1.5 Génération de nombres aléatoires suivant une loi normale 24
1.5.1 Application du Théorème Central Limite . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5.2 Méthode de Box-Müller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6 Génération à partir de distributions fréquemment utilisées 28
1.6.1 Génération de variables aléatoires continues . . . . . . . . . . . . . . . . . . . . . . 28
1.6.1.1 Distribution de khi-deux . . . . . . . . . . . . . . . . . . . . 28
1.6.1.2 Distribution de Student . . . . . . . . . . . . . . . . . . . . 28
1.6.1.3 Distribution de Fisher-Snedecor . . . . . . . . . . . . . . . 29
1.6.1.4 Distribution de Cauchy . . . . . . . . . . . . . . . . . . . . 30

U.M.B.B B. ISSAADI
1.6.2 Génération de variables aléatoires discrètes . . . . . . . . . . . . . . . . . . . . . . . 31
1.6.2.1 Distribution de Poisson . . . . . . . . . . . . . . . . . . . . 31
1.6.2.2 Distribution géométrique . . . . . . . . . . . . . . . . . . . 31
I
1. Génération de variables aléatoires

AD e
in

Introduction
SA
ed

ES nombres aléatoires sont utilisés dans la simulation pour échantillonner des


L
dr

réalisations de variables aléatoires avec des distributions prescrites, ainsi que


Ba

des processus stochastiques avec des lois de probabilité prescrites. Par exemple,
les arrivées de clients sont souvent générées selon un processus de Poisson, c’est-à-
dire que les temps inter-arrivée sont exponentiels. (De même, le nombre d’arrivées
obéit à la distribution de Poisson appropriée, mais il est beaucoup plus pratique de
générer des temps inter-arrivées dans la simulation). Bien que nous utilisions le
IS

terme « nombres aléatoires » dans le terme générateur de nombres aléatoires GNA,


il convient de souligner que les nombres générés ne sont pas vraiment aléatoires.
D’une part, un GNA est une procédure déterministe dont le flux numérique généré
peut toujours être recréé. Un GNA est « aléatoire » dans le sens où sa séquence
de nombres aléatoires passe des tests statistiques pour le caractère aléatoire, en
l’occurrence l’uniformité des nombres générés et leur indépendance mutuelle. Pour
cette raison, les GNA sont parfois appelés pseudo-GNA, mais à toutes fins pratiques,
un GNA peut être considéré comme une séquence stochastique, {Un }, de variables
aléatoires i.i.d., telles que {Un } ∼ U (0,1) .
Il est relativement facile d’obtenir, au besoin, une ou plusieurs séries de variables
aléatoires uniformes (v.a.u.) de loi U (0,1) , soit à partir d’une table de chiffres au

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 2

hasard, soit grâce à une fonction programmée, comme « RAND », « ALEA() » ou «


RANF() ». Toutefois, selon l’application, il peut nous falloir des variables aléatoires
obéissant à une loi de probabilité quelconque, autre que la loi uniforme. Nous devons
donc trouver des moyens pour convertir la série des v.a.u. en une série de variables
X ayant la distribution voulue.
Aujourd’hui, de nombreuses bibliothèques de programmes informatiques en ligne
fournissent des programmes permettant de générer des échantillons à partir d’un
large éventail de distributions. L’utilisation de ces programmes peut permettre
d’économiser beaucoup de temps et d’efforts et, lorsqu’ils sont mis en œuvre de façon

I
appropriée, peut réduire le risque d’erreurs numériques. L’utilisateur consciencieux
d’un tel programme voudra s’assurer que la méthode sur laquelle il s’appuie est

1.1
AD
techniquement valable et que son implémentation conserve l’erreur inévitable dans
une limite acceptable. Ce chapitre vise à aider le lecteur à faire cette évaluation
en le familiarisant avec les méthodologies exactes de génération d’échantillons. En
outre, il vise à fournir au lecteur la capacité d’écrire un programme de génération, si
nécessaire.

Méthode de la transformation inverse


ine
SA
ed

1.1.1 Distribution continue


dr

Il existe une transformation simple et parfois utile, connue sous le nom de


Ba

la transformée de la fonction de répartition. Formellement, elle nous autorise à


transformer n’importe quelle variable aléatoire en une variable aléatoire uniforme
et, de manière plus intéressante.
On suppose que l’on sait générer des nombres pseudo-aléatoires de loi U (0,1) . Soit
IS

X une variable aléatoire de densité f connue. On cherche une méthode de tirage de


nombres aléatoires répartis selon la loi de X . Ces nombres forment un échantillon
de la loi de X . Soit F la fonction de répartition de la variable aléatoire X vérifiant,
Z x
F ( x) = P( X ≤ x) = f ( t)d t.
−∞

Théorème 1.1.1 (Théorème de la transformation inverse)


Soit X une variable aléatoire et F ( x) sa fonction de répartition. Si F ( x) est continue
et strictement croissante, alors Y = F ( X ) est une variable aléatoire de loi U (0,1) .
Dit autrement, si U est une variable aléatoire de loi U (0,1) , la variable F −1 (U ) est
une variable aléatoire dont F est sa fonction de répartition.

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 3

Démonstration. Par définition, nous avons

y = F ( x) = P( X ≤ x) = P(F ( X ) ≤ F ( x)) = P(Y ≤ y) = FY ( y),

ce qui prouve le théorème. ■

Une application directe de ce théorème permet, à partir d’une loi uniforme, de


générer n’importe quelle autre loi. Ainsi, pour générer un échantillon fictif issu
d’une variable aléatoire X , il faut connaître F ( x) et avoir une suite de nombres u 1 ,
u 2 , . . ., u n issus d’une variable U de loi U (0,1) . L’égalité x = F −1 ( u) permet d’obtenir

I
l’échantillon
x1 = F −1 ( u 1 ), x2 = F −1 ( u 2 ), . . . , xn = F −1 ( u n ),

AD
issu d’une population distribuée selon F . La figure 1.1 illustre la méthode de la
transformation inverse donnée par l’algorithme suivant.

Algorithme (Transformation inverse pour une distribution continue)


Générer u ∼ U(0,1) ;
x=F−1 (u);
Renvoyer(x);
 
in e
SA
 
 
ed
dr

1
Ba
IS

Figure 1.1 – Méthode de la transformée inverse

La seule difficulté est celle de calculer F −1 en connaissant F . Dans certains cas


cela n’est pas possible de manière explicite, et dans ces cas d’autres techniques, que
l’on verra plus loin, permettent de simuler un échantillon de X .

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 4

La génération de variables aléatoires uniformes est donc un déterminant clé dans


le comportement des méthodes de simulation pour d’autres distributions de proba-
bilités, car ces distributions peuvent être représentées comme une transformation
déterministe de variables aléatoires uniformes. Notons également que le Théorème
1.1.1 implique qu’un mauvais choix d’un générateur de nombres aléatoires uniformes
peut invalider la procédure de simulation.

Exemple 1.1.2 (Loi exponentielle - E xp(λ))


La densité de probabilité de la distribution exponentielle de paramètre λ > 0 prend

I
la forme
λ e−λ x si x Ê 0
(
f ( x) =
0 si x < 0

AD
La fonction de répartition est donnée par :

F ( x) =
(
1 − e−λ x si x Ê 0
0 si x < 0

Pour appliquer le théorème de la transformation inverse, nous devons chercher


la fonction inverse de u = 1 − e−λ x . Cela donne x = − log(1 − u)/λ. Remarquons que
si U est une variable aléatoire uniforme, (1 − U ) est aussi une variable aléatoire
e
uniforme. Donc, si U est une variable aléatoire uniforme, alors
in
SA
ed

X = −(log U )/λ
dr

est une variable aléatoire de loi exponentielle (de moyenne 1/λ).


Ba

Algorithme (Exemple 1.1.2)


Générer u ∼ U(0,1) ;
IS

x=-(log u)/λ;
Renvoyer(x);

Exemple 1.1.3 (Loi uniforme continue sur [a, b] - U (a,b) )


La densité de probabilité de la loi uniforme continue est une fonction porte sur
l’intervalle [a, b], notée U (a,b) :

1

b−a pour a ≤ x ≤ b,
f ( x) =
0 sinon.

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 5

La fonction de répartition est donnée par :






 0 pour x < a
x−a
F ( x) = pour a ≤ x < b


 b−a
1 pour x ≥ b

x−a
Soit u ∼ U (0,1) , nous devons chercher la fonction inverse de u = . Cela donne
b−a
x = ( b − a) u + a.

I
Algorithme (Exemple 1.1.3)
Générer u ∼ U(0,1) ;

1.1.2
AD
x = (b-a)u+a;
Renvoyer(x);

Distribution discrète

P
Soit X une variable aléatoire discrète avec P( X = x i ) = p i , i = 1, 2, . . . , vérifiant
p i = 1 et x1 < x2 < . . .. La fonction de distribution cumulative F de X est donnée
i
e

  P
par F ( x) = x i ≤ x p i , i = 1, 2, . . . et est illustrée dans la figure 1.2. La fonction inverse
in
SA
ed

 
 
dr

 
Ba

1
 

 
IS

 
 
 
 
0
   
   

Figure 1.2 – Méthode de la transformation inverse pour une variable aléatoire


discrète.

F −1 peut être définie comme

F −1 ( u) = inf{ xk : F ( xk ) ≥ u}, 0 ≤ u ≤ 1 et k = 1, 2, . . . (1.1)

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 6

Ainsi, l’algorithme de génération d’une variable aléatoire à partir de F peut être


écrit comme suit.
Algorithme (Transformation inverse pour une distribution discrète)
Générer u ∼ U(0,1) ;
Trouvez le plus petit nombre entier positif k, tel que u ≤ F(xk );
Renvoyer(xk );

Exemple 1.1.4 Supposons qu’on veut générer une variable aléatoire selon une loi

I
de probabilité résumé dans le tableau suivant :

AD
xi 1 2 3 4 5
P
ni 10 20 30 30 10 n= n i =100
P( X = x i ) = p i 0.1 0.2 0.3 0.3 0.1

où i = 1, 5.
La fonction de distribution cumulative est donnée par :
X
F ( x) = P( X < x) = pi,
xi ≤x
ine
SA
X <1 : F ( x) = 0,
ed

1≤ X <2 : F ( x) = p 1 = 0.1,
dr

2≤ X <3 : F ( x) = p 1 + p 2 = 0.3,
Ba

3≤ X <4 : F ( x) = p 1 + p 2 + p 3 = 0.6,
4≤ X <5 : F ( x) = p 1 + p 2 + p 3 + p 4 = 0.9,
X ≥5 : F ( x) = p 1 + p 2 + p 3 + p 4 + p 5 = 1.
Le diagramme des fréquences cumulées est donné comme suit :
IS

Pour générer des observations suivant la loi de probabilité résumé dans le


tableau ci-dessus, il suffit d’utiliser la définition 1.1. Par exemple, si u = 0.27
alors automatiquement la variable aléatoire renvoyer sera celle qui vérifie inf{ xk :
F ( xk ) ≥ 0.27}, et d’après le diagramme des fréquences cumulées la variable choisie
sera x2 = 2, du fait que F (2) = 0.3 ≥ 0.27. Même chose, si l’on avait tiré par exemple
u = 0.83, la variable aléatoire renvoyer sera x4 = 4 puisque x4 = inf{ xk : F ( xk ) ≥
0.83}.
Pour simplifier la présentation, nous laissons de côté le mode de représentation
en diagramme en escalier obtenu à partir des fréquences cumulées, et considérons
le schéma suivant qui revient à découper l’intervalle [0, 1] en 5 morceaux de
longueurs respectives p k , k = 1, 5 :

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 7
 

   
1
 
0.1 
0.9
 
0.3
 
0.6
 
0.3
 

I
0.3
 
0.2
  0.1

AD
0.1 
   
0  1  2 3 4 5 

~ ,

0  0.1 0.3  0.6 0.9 1


1 2  3 4 5

  
e
 
in

 
SA
ed

Ce schéma, montre la relation entre les variables aléatoires dont on cherche à


dr

générer et les différents morceaux constituant l’intervalle [0,1]. À cet effet, une
Ba

simple lecture de ce schéma montre que pour u ∼ U (0,1) , nous avons






 1 pour 0 ≤ u ≤ 0.1,


2 pour 0.1 < u ≤ 0.3,




IS

−1
F ( u) = 3 pour 0.3 < u ≤ 0.6,



4 pour 0.6 < u ≤ 0.9,





5 pour 0.9 < u ≤ 1.

Algorithme (Exemple 1.1.4)


Générer u ∼ U(0,1) ;
Si u≤ 0.1 Alors
x=1;
Sinon
Si u≤ 0.3 Alors

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 8

x=2;
Sinon
Si u≤ 0.6 Alors
x=3;
Sinon
Si u≤ 0.9 Alors
x=4;
Sinon
x=5;

I
Finsi
Finsi

AD
Finsi
Finsi
Renvoyer(x);
De la même façon, nous pouvons réécrire cette algorithme sous une forme plus
simple, qui est la suivante :

Algorithme (Exemple 1.1.4, en deux façon)


pr=[0.1,0.2,0.3,0.3,0.1]; pr=[0.1,0.2,0.3,0.3,0.1];
e

x=1; x=0;
in
SA
F=pr(x); Générer u ∼ U(0,1) ;
ed

Générer u ∼ U(0,1) ; Répéter


dr

Tant que (u > F) Faire x=x+1;


Ba

x=x+1; F=F+pr(x);
F=F+pr(x); Jusqu’à (u ≤ F)
Fin tant que Renvoyer(x);
Renvoyer(x);
IS

Exemple 1.1.5 (Loi de Bernoulli - B ( p))


C’est la loi d’une variable X ne pouvant prendre que les deux valeurs 1 ou 0
avec les probabilités p et 1 − p ; X est la fonction indicatrice d’un événement A de
probabilité p. En d’autres termes,

 1− p si x = 0,


P( X = x) = p si x = 1,

 0

sinon.

U.M.B.B B. ISSAADI
1.1 Méthode de la transformation inverse 9

ou, de manière équivalente,

P( X = x) = p x (1 − p)1− x , x ∈ {0, 1}

La fonction de répartition est :


X
F ( x) = P( X < x) = P( X = x i ),
xi ≤x

Donc,
X <0 : F ( x) = 0,
0≤ X <1 : F ( x) = P( X = 0) = 1 − p,

I
X ≥1 : F ( x) = P( X = 0) + P( X = 1) = 1.
Considérons le schéma de génértion suivant :

  
 
AD 0 


~

 
e
,

1
1
SA
in

Algorithme (Exemple 1.1.5)


ed

Générer u ∼ U(0,1) ;
dr

Si (u≤ 1-p) Alors


Ba

x=0;
Sinon
x=1;
IS

Finsi
Renvoyer(x);

L’algorithme de simulation d’une variable de bernoulli, peut être donner sous une
autre forme plus simple. Par changement de repère nous obtenons :

Algorithme (Exemple 1.1.5)


x=0;
Générer u ∼ U(0,1) ;
Si (u≤ p) Alors
x=1;
Finsi

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 10

~ ,

0  1 1

0  1

  
 

1  0

I
 

AD
Renvoyer(x);

Remarque 1.1.1 En pratique, la méthode de la transformation inverse ne s’ap-


plique que lorsque les fonctions de distribution cumulative sont "explicitement"
disponibles, dans le sens où il existe un algorithme permettant le calcul de F −1 ( u)
dans un temps acceptable. En particulier, pour les distributions avec des formes
explicites de F −1 (par exemple, les distributions exponentielle, Pareto ou de
in e

Weibull,. . .). Mais cette situation ne couvre qu’un petit nombre de cas. C’est pour
SA
ed

cette raison, d’autres méthodes, comme la méthode de Rejet-Acceptation, sont


plus générales et n’utilisent aucune propriété analytique des densités. Ainsi, elles
dr

peuvent traiter des cas plus généraux.


Ba

1.2 Méthode de Rejet-Acceptation


IS

Il existe beaucoup de distributions pour lesquelles ni la méthode de transfor-


mation inverse, ni des transformations plus générales ne peuvent produire des
variables aléatoires de ces distributions. Pour ces cas, nous devons nous tourner
vers des méthodes indirectes, c’est-à-dire vers des méthodes pour lesquelles nous
générons tout d’abord une variable aléatoire candidate qui est alors soumise à un
test. L’acceptation de ce test conduit à conserver la valeur simulée, son rejet à répéter
la simulation. Comme nous allons le voir à présent, cette classe de méthodes est
extrêmement puissante et nous autorisera à simuler virtuellement suivant n’importe
quelle distribution.
La méthode de Rejet-Acceptation est une méthode indirecte due à Stan Ulam et
John von Neumann. Elle peut être appliquée lorsque les méthodes directes mention-
nées ci-dessus échouent ou s’avèrent inefficaces sur le plan des calculs.

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 11

1.2.1 Méthode de Rejet-Acceptation, pour les densités à support compact


Cette méthode de simulation d’échantillons s’applique aux variables aléatoires
continues X non nulles sur un intervalle de R. Pour introduire l’idée, supposons
que la fonction de densité de probabilité cible f (à partir de laquelle nous voulons
échantillonner) est délimitée sur un intervalle fini [a, b] (compact) et est nul en
dehors de cet intervalle (Figure 1.3).
Soit,
c = sup { f ( x) : x ∈ [a, b]} .

I
𝑐𝑐

AD 𝑎𝑎
𝑓𝑓(𝑥𝑥)

e 𝑏𝑏
𝑥𝑥

Figure 1.3 – Méthode de Rejet-Acceptation


in
SA
ed

Dans ce cas, il est possible de représenter la surface entre le graphe de la densité


dr

et l’axe des x à l’intérieur d’un rectangle, de choisir au hasard un point dans ce


Ba

rectangle et de déterminer s’il est situé au-dessus ou au-dessous (Figure 1.4) de la


courbe f ( x).
Considérons le rectangle R = [a, b] × [0, c] et tirons un point ( x, y) de manière
uniforme dans le rectangle R . Cela peut se faire de la manière suivante, On tire
un nombre x uniformément réparti entre a et b (i.e. x ∼ U (a,b) ), ensuite un nombre
IS

y uniformément réparti entre 0 et c (i.e. y ∼ U (0,c) ). Les points situés au-dessous


de f ( x) sont acceptés (Figure 1.4−(a)) et ceux situés au-dessus de f ( x) sont rejetés
(Figure 1.4−(b)).

(𝑥𝑥, 𝑦𝑦)
𝑦𝑦 ×
𝑓𝑓(𝑥𝑥) 𝑓𝑓(𝑥𝑥)
𝑦𝑦 × (𝑥𝑥, 𝑦𝑦)

𝑥𝑥 𝑥𝑥
(𝑎𝑎) (𝑏𝑏)

Figure 1.4 – (a) ( x, y) situé au-dessous de f ( x),(b) ( x, y) situé au-dessus de f ( x).

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 12

Ceci se traduit mathématiquement par le test suivant, si y ≤ f ( x) on conserve x qui


est une réalisation de X et on pose X = x sinon on rejette x et on recommence. Dans
ce cas, générer une variable aléatoire X est simple, et cela peut être fait en utilisant
les étapes de Rejet-Acceptation suivantes :

1. Générer x ∼ U(a,b) ;
2. Générer y ∼ U(0,c) ; % indépendamment de x
3. Si y ≤ f(x) Alors
Renvoyer(x);

I
Sinon
Aller à l’étape 1;
Finsi

AD
Lorsqu’on fait des simulations, on utilise souvent des générateurs de nombres
aléatoires qui obéissent à une loi uniforme sur [0, 1], et nous avons déja montrer
(exemple 1.1.3) comment combiner un tel générateur avec une transformation af-
fine pour générer des nombres aléatoires qui obéissent à une loi uniforme sur un
intervalle [a, b].

Algorithme (Rejet-Acceptation, en deux façon)


Générer u1 , u2 ∼ U(0,1) ; Répéter
in e
SA
x=(b-a)u1 +a; y=cu2 ; Générer u1 , u2 ∼ U(0,1) ;
ed

Tant que y > f(x) Faire x=(b-a)u1 +a; y=cu2 ;


dr

Générer u1 , u2 ∼ U(0,1) ; Jusqu’à y ≤ f(x)


Ba

x=(b-a)u1 +a; y=cu2 ; Renvoyer(x);


Fin tant que
Renvoyer(x);

La probabilité qu’un point arbitraire ( x, y) ∈ R soit accepté (c’est-à-dire il appar-


IS

tient a la région d’acceptation) est donnée par le rapport de l’aire comprise sous la
courbe et de l’aire du rectangle,
Rb
a f ( x) 1
P(( x, y) est accepté) = = ,
aire du rectangle c ( b − a)

On voit que pour a et b fixés, plus c est petit plus le nombre de points rejetés sera
petit. L’algorithme est donc d’autant plus performant que c est petit.

Exemple 1.2.1 Soit f ( x) = 2 x, 0 ≤ x ≤ 1. Nous avons

c = sup {2 x : x ∈ [0, 1]} = 2,

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 13

Algorithme (Exemple 1.2.1, en deux façon)


Générer x, y ∼ U(0,1) ; Répéter
Tant que (y > x) Faire Générer x, y ∼ U(0,1) ;
Générer x, y ∼ U(0,1) ; Jusqu’à (y ≤ x)
Fin tant que Renvoyer(x);
Renvoyer(x);

I
1.2.2 Méthode de Rejet-Acceptation, pour les densités à support quelconque
Le principe de la méthode de Rejet-Acceptation peut se généraliser, en remplaçant

AD
le rectangle par une surface délimitée par le graphe d’une fonction non négative
opportunément choisie. Pour les densités à longues queues il est préférable d’utiliser
une courbe enveloppante g( x) de forme semblable à f ( x) (c’est à dire f et g ont des
supports compatibles), et par conséquent distincte d’un rectangle.
Évidemment, l’efficacité exige que g soit aussi proche que possible de f afin
d’éviter de gaspiller les simulations. Une remarque importante est que, à cause de
la contrainte f ( x) ≤ g( x), g (Figure 1.5) ne peut pas être une densité de probabilité.
Nous écrivons alors
e
Z
in

g( x) = M ≥ 1,
SA
ed

et définissons à partir de g une densité de probabilité φ telle que,


dr

g ( x)
φ( x ) = .
Ba

M
φ( x) est appelée densité instrumentale ou candidate, et nous supposons que φ( x) est
facile à simuler (c’est à dire d’en générer des variables aléatoires).
IS

𝑔𝑔(𝑥𝑥)

𝑓𝑓(𝑥𝑥)

𝑥𝑥
𝑏𝑏

Figure 1.5 – La méthode de Rejet-Acceptation avec une fonction de majorisation g.

Pour tout x,
0 ≤ f ( x) ≤ M φ( x).

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 14

Choisissons un point ( x, y) de manière uniforme dans la surface entre le graphe


de la fonction g( x) et l’axe des x. Cela peut se faire de la manière suivante, On
tire un nombre x suivant la densité instrumentale φ( x) que nous avons supposé
facile à simuler, puis un nombre y uniformément réparti entre 0 et g( x) (i.e. M φ( x)).
Les points situés au-dessous de f ( x) sont acceptés (Figure 1.6−(a)) et ceux situés
au-dessus de f ( x) sont rejetés (Figure 1.6−(b)).

𝑀𝑀∅(𝑥𝑥) 𝑀𝑀∅(𝑥𝑥)

I
𝑦𝑦 ×
𝑓𝑓(𝑥𝑥) 𝑓𝑓(𝑥𝑥)
𝑦𝑦 ~ 𝑈𝑈�0,𝑀𝑀∅(𝑥𝑥)� 𝑦𝑦 ~ 𝑈𝑈�0,𝑀𝑀∅(𝑥𝑥)�
𝑦𝑦 ×

AD 𝑥𝑥 ~ ∅(𝑥𝑥)
(𝑎𝑎)
𝑥𝑥 ~ ∅(𝑥𝑥)
(𝑏𝑏)

Figure 1.6 – (a) ( x, y) situé au-dessous de f ( x),(b) ( x, y) situé au-dessus de f ( x).

Autrement dit, X de loi f peut être simulé comme suit. Premièrement, nous générons
x ∼ φ et, indépendamment, nous générons y ∼ U (0,M φ(x)) . Si
in e
SA
y ≤ f ( x),
ed

alors nous posons X = x. Si, au contraire, l’inégalité n’est pas satisfaite, nous re-
dr

jettons x et y, puis nous recommençons la génération des valeurs candidates. Suc-


Ba

cinctement, les étapes de génération par la méthode de Rejet-Acceptation sont :

1. Générer x ∼ φ;
2. Générer y ∼ U(0,Mφ(x)) ;
IS

3. Si y ≤ f(x) Alors
Renvoyer(x);
Sinon
Aller à l’étape 1;
Finsi

L’efficacité de l’algorithme de Rejet-Acceptation est définie comme suit (i.e. la


probabilité d’obtenir un point situé sous la courbe f ( x)) :
R∞
surface(B ) f ( x) 1
P(( X , Y ) est accepté) = = R ∞−∞ = . (1.2)
surface(A ) −∞ M φ( x) M

L’algorithme de Rejet-Acceptation est défini en modifiant légèrement les étapes 1.


2. et 3.. En tenant compte du fait que y ∼ U (0,M φ(x)) (à l’étape 2.), cette écriture est

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 15

identique à la définition de y = u M φ( x), où u ∼ U (0,1) , nous pouvons écrire y ≤ f ( x)


de l’étape 3. sous la forme u ≤ f ( x)/( M φ( x)).
Pour une valeur simulée x ∼ φ( x), la probabilité d’accepter x est égale à f ( x)/ M φ( x)
avec g( x) = M φ( x), cette probabilité définie le rapport de f sur g au point x, comme
indiqué sur la Figure 1.7.

𝑔𝑔(𝑥𝑥) 𝑔𝑔

I
𝑓𝑓(𝑥𝑥) 𝑓𝑓

AD 𝑥𝑥 ~ ∅(𝑥𝑥)
𝑥𝑥

Figure 1.7 – Exemple illustratif de la probabilité f ( x)/ g( x).

Dans le même contexte, et par hypothèse


e

0 ≤ f ( x) ≤ M φ( x),
in
SA
𝑓𝑓(𝑥𝑥)
ed

normalisons cette inégalité par M φ( x), alors pour tout x nous obtenons
dr

f ( x)
Ba

0 ≤ h( x) = ≤ 1. (1.3)
M φ( x )

où h( x) désigne la probabilité d’accepter x comme variable aléatoire issue de f


(Figure 1.8).
IS

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 16

~ ,

0  ∅ 1

  
  si   alors   est accepté sinon est rejeté

I
Figure 1.8 – Illustration de la probabilité f ( x)/ g( x).

Ainsi, l’algorithme de la méthode de Rejet-Acceptation s’écrit comme suit :

AD
Algorithme (Méthode de Rejet-Acceptation, en deux façon)
Générer x ∼ φ;
Générer u ∼ U(0,1) ;
Tant que u > f(x)/(Mφ(x)) Faire
Générer x ∼ φ;
Générer u ∼ U(0,1) ;
Répéter
Générer x ∼ φ;
Générer u ∼ U(0,1) ;
Jusqu’à u ≤ f(x)/(Mφ(x))
Renvoyer(x);
Fin tant que
e

Renvoyer(x);
in
SA
ed

Exemple 1.2.2 Soit X une variable aléatoire de densité de probabilité f ( x) telle


dr

que :
Ba


sin( x) pour 0 ≤ x ≤ π/2,
f ( x) =
0 sinon.
Utilisant la méthode de Rejet-Acceptation, et prenons g( x) = x, 0 ≤ x ≤ π/2. Un
R π/2
simple calcul montre que M = 0 g( x) = π2 /8, ce qui implique φ( x) = g( x)/ M =
IS

8 x/π2 . Maintenant, pour tirer x selon φ( x) la méthode de la transformation inverse


est la plus efficace. La fonction de répartition de la loi φ( x) est simplement calculé,
Rx p
Φ( x) = 0 φ( t) d t = 4 x2 /π2 . L’inverse de u = 4 x2 /π2 est donné par x = π u/2, où
u ∼ U (0,1) .

Algorithme (Exemple 1.2.2, en deux façon)

U.M.B.B B. ISSAADI
1.2 Méthode de Rejet-Acceptation 17

Générer u1 , u2 ∼ U(0,1) ; Répéter


p
x=π u1 /2; Générer u1 , u2 ∼ U(0,1) ;
p
Tant que u2 > sin(x)/x Faire x=π u1 /2;
Générer u1 , u2 ∼ U(0,1) ; Jusqu’à u2 ≤ sin(x)/x
p
x=π u1 /2; Renvoyer(x);
Fin tant que
Renvoyer(x);

Exemple 1.2.3 Considérons le cas de génération d’une variable aléatoire X qui

I
suit une loi demi-normale de densité,
p

AD
2
f ( x) = 2/πe− x /2 , 0 ≤ x < ∞. (1.4)

La méthode de la transformation inverse, ne peut s’appliquer dans ce cas, car la


fonction de répartition de la loi demi-normale ne peut pas être exprimée explicite-
ment. Par conséquent, la densité demi-normale est un bon exemple pour illustrer
la méthode de Rejet-Acceptation à support non compact.
En écrivant la densité (1.4) sous la forme
p 2
e
f ( x) = 2e/π e−(x−1) /2 e− x ,
in
SA
ed

Et, en se basant sur la forme de la probabilité h( x) donnée dans (1.3), nous écrivons
dr

f ( x) = Mh( x)φ( x), cela conduit à la factorisation


Ba

φ( x) = e− x ,
2
h( x) = e−(x−1) /2 ,
p
M = 2e/π.
IS

où la densité instrumentale φ( x) est une loi exponentielle de paramètre 1.


Pour générer x ∼ f , au moins deux implémentations sont possibles. La version
1, utilise la méthode de la transformation inverse pour générer x ∼ E xp(1), et
cela nécessite une évaluation logarithmique, c’est à dire à partir d’une variable
uniforme u 1 sur [0, 1], x = − log u 1 . Et une évaluation exponentielle pour h( t) (c’est
2
à dire pour tester si u 2 ≤ h( x) = e−(x−1) /2
, où u 2 est une variable uniforme sur
[0, 1]).

Algorithme (Exemple 1.2.3, en deux façon), version 1

U.M.B.B B. ISSAADI
1.3 Méthode de composition 18

Générer u1 , u2 ∼ U(0,1) ; Répéter


x=- log u1 ; Générer u1 , u2 ∼ U(0,1) ;
2
Tant que u2 > e-(x-1) /2 Faire x=- log u1 ;
2
Générer u1 , u2 ∼ U(0,1) ; Jusqu’à u2 ≤ e-(x-1) /2
x=- log u1 ; Renvoyer(x);
Fin tant que
Renvoyer(x);

1.3 Méthode de composition

I
La technique de composition exploite le fait que la fonction de répartition F ( x)
d’une variable aléatoire X , peut parfois être exprimée comme une combinaison
convexe de n fonctions de répartitions {F i }, c’est-à-dire :


AD F ( x) =

p i > 0,
n
X
i =1

n
X
i =1
e
p i F i ( x),

p i = 1.

La méthode est motivée par le fait que la génération directe de X à partir de F ( x) peut
SA
in

être difficile et coûteuse, alors que la génération suivant la distribution { p 1 , . . . , p n }


ed

et les {F i } peut être simple et peu coûteuse.


dr

Algorithme (Méthode de composition)


Ba

Générer u ∼ U(0,1) ;
Si u ≤ p1 Alors
Générer x ∼ F1 (x);
IS

Sinon
Si u ≤ p1 +p2 Alors
Générer x ∼ F2 (x);
Sinon
Si u ≤ p1 +p2 +p3 Alors
Générer x ∼ F3 (x);
Sinon;
.
.
.
Finsi;
Finsi;
Finsi;
Renvoyer(x);

D’une manière plus simple, cet algorithme peut s’écrire comme suit :

U.M.B.B B. ISSAADI
1.3 Méthode de composition 19

Algorithme (Méthode de composition)


Générer u ∼ U(0,1) ;
Si k-1
P Pk
i=1 pi < u ≤ i=1 pi Alors
Générer x ∼ Fk (x);
Finsi
Renvoyer(x);

Exemple 1.3.1 (première méthode)


Soit X une variable aléatoire de densité de probabilité f ( x) telle que :

I

f ( x) = x pour 0 ≤ x < 1,
 1

AD

f ( x) = f 2 ( x) = 2 − x pour 1 ≤ x ≤ 2,



0 sinon.

La fonction de répartition F ( x) associée à f ( x), s’exprime comme une combinaison


convexe de deux fonctions de répartitions {F1 , F2 }, c’est-à-dire :

F ( x) = p 1 F1 ( x) + p 2 F2 ( x), p 1 + p 2 = 1.
e
Nous avons,
in
SA
1
ed

Z
p1 = f 1 ( x) d x = 1/2,
0
dr

Z 2
p2 = f 2 ( x) d x = 1 − p 1 = 1/2.
Ba

De même,
Z x Z x
p 1 F1 ( x) = f 1 ( t) d t = t d t = x2 /2,
Z0 x Z0 x
IS

p 2 F2 ( x) = f 2 ( t) d t = (2 − t) d t = − x2 /2 + 2 x − 3/2.
1 1

D’où, nous déduisons

F1 ( x) = x2 ,
F 2 ( x ) = − x 2 + 4 x − 3.

En utilisant la méthode de la transformation inverse pour le cas de F1 , nous


p p
aurons u 1 = x2 implique x = ± u 1 , prenons x = u 1 puisque elle appartient à

U.M.B.B B. ISSAADI
1.3 Méthode de composition 20

l’intervalle [0, 1[ (celui de F1 ), où u 1 ∼ U (0,1) . Même chose pour F2 , soit u 2 ∼ U (0,1)


donc u 2 = − x2 + 4 x − 3, cette équation peut s’écrire sous la forme ( x − 2)2 = 1 − u 2 ,
p
ce qui implique x = 2 ± 1 − u 2 , en vérifiant le domaine de définition de F2 , nous
p
choisissons x = 2 − 1 − u 2 ∈ [1, 2].

Algorithme (Exemple 1.3.1, première méthode)


Générer u ∼ U(0,1) ;
Si u ≤ 1/2 Alors
Générer u1 ∼ U(0,1) ;

I
p
x= u1 ;
Sinon

AD
Générer u2 ∼ U(0,1) ;
p
x=2- 1-u2 ;
Finsi
Renvoyer(x);

Notons que, nous pouvons utiliser moins de variables aléatoires uniformes en


réduisant leurs nombres, il suffit de remarquer que le rôle de u 1 et u 2 reste
inchangé en utilisant une seule variable aléatoire uniforme v. Ainsi, l’algorithme
ine
SA
se réécrit comme suit :
ed
dr

Algorithme (Exemple 1.3.1, première méthode)


Ba

Générer u, v ∼ U(0,1) ;
Si u ≤ 1/2 Alors
p
x= v;
Sinon
p
IS

x=2- 1-v;
Finsi
Renvoyer(x);

Cette solution exige l’utilisation de deux variables aléatoires uniformes ( u, v), u


est utilisée pour générer un choix aléatoire k dans la distribution { p 1 , . . . , p n }, et v
pour générer de manière aléatoire x à partir de la distribution F k ( x). Cependant, il
existe une solution moins couteuse qui nécessite l’utilisation d’une seule variable
aléatoire uniforme. Pour cela reprenons l’exemple 1.3.1.

U.M.B.B B. ISSAADI
1.3 Méthode de composition 21

Exemple 1.3.1 (deuxième méthode)


Soit X une variable aléatoire de densité de probabilité f ( x) telle que :

f ( x) = x pour 0 ≤ x < 1,
 1



f ( x) = f 2 ( x) = 2 − x pour 1 ≤ x ≤ 2,



0 sinon.

Nous avons,
Z 1

I
p1 = f 1 ( x) d x = 1/2,
0
p 2 = 1 − p 1 = 1/2.

AD
La fonction de répartition est donnée par :

X <0 :
0≤ X <1 :
1≤ X ≤2 :
F ( x) = 0,
Rx
F ( x) = P( X < x) =

F ( x) = 0 f 1 ( t) d t = x2 /2,
R1 Rx
Z

−∞
x
f ( t) d t,

F ( x) = 0 f 1 ( t) d t + 1 f 2 ( t) d t = − x2 /2 + 2 x − 1,
in e

Les étapes de générations sont :


SA
ed

Générer u ∼ U(0,1) ;
dr

Si u ≤ p1 Alors
Ba

Générer x ∼ F(x); % 0 ≤ X < 1


Sinon
Générer x ∼ F(x); % 1 ≤ X ≤ 2
Finsi
IS

Ces étapes peuvent s’expliquer comme suit, en choisissons la variable u uni-


forme sur [0, 1], la même variable peut couvrir deux choses différentes. Si u
vérifie la première condition u ≤ p 1 (c’est a dire u ∈ [0, p 1 ]), alors la valeur de u
peut être l’objet de génération d’une variable aléatoire x = F −1 ( u) ∈ [0, 1]. Dans
le cas contraire ( u ∈] p 1 , 1]), elle sera utilisée pour générer une variable aléatoire
x = F −1 ( u) ∈]1, 2].

Soit maintenant u ∼ U (0,1) , et commençons par le premier cas en supposant que


p p
u ≤ 1/2, nous avons u = x2 /2 implique x = ± 2 u, prenons x = 2 u du fait qu’elle
appartient à l’intervalle [0, 1] lorsque u ∈ [0, 1/2]. Concernant le deuxième cas, où

U.M.B.B B. ISSAADI
1.4 Méthode de convolution 22

u ∈]1/2, 1] et en utilisant toujours la méthode de la transformation inverse, nous


avons u = − x2 /2 + 2 x − 1, cette équation peut s’écrire sous la forme ( x − 2)2 = 2(1 − u),
p
c’est à dire x = 2± 2(1 − u), la variable x doit appartenir à l’intervalle ]1, 2] quelque
p
soit u dans ]1/2, 1]. De ce fait, nous choisissons x = 2 − 2(1 − u).

Algorithme (Exemple 1.3.1, deuxième méthode)


Générer u ∼ U(0,1) ;
Si u ≤ 1/2 Alors
p
x= 2u;

I
Sinon
p
x=2- 2(1-u);

AD
Finsi
Renvoyer(x);

1.4 Méthode de convolution


Supposons que la variable aléatoire X qui nous intéresse puisse s’écrire sous la
forme : n
X
X = X1 + X2 + · · · + X n = X i,
e

i =1
in
SA
où, les { X i } sont des variables aléatoires indépendantes, de loi spécifiées. Donc le
ed

principe de la méthode est simple, pour générer une observation de X , il suffit de


dr

générer n observations X 1 , X 2 , . . ., X n et de sommer pour obtenir X .


Ba

Exemple 1.4.1 (Loi binomiale - B ( n, p))


Supposons que l’on repète n fois dans des conditions identiques une expérience
aléatoire, dont l’issue se traduit par l’apparition ou la non-apparition d’un événe-
ment A de probabilité p, le résultat de chaque expérience étant indépendant des
IS

résultats précédents. Soit X nombre d’apparitions de l’événement A parmi ces n


expériences (0 ≤ X ≤ n). On dit alors que X suit une loi binomiale de paramètres
n et p notée B ( n, p). Comme à chaque expérience numérotée i ( i = 1, 2, . . . , n), on
peut associer une variable de Bernoulli X i de paramètre p, on a : X = ni=1 X i
P

d’où la deuxième définition de la loi binomiale " X suit une loi binomiale B ( n, p)
si X est une somme de n variables de Bernoulli B ( p) indépendantes et de même
paramètre p". En d’autres termes, X ∼ B ( n, p) alors sa fonction de densité de
probabilité est de la forme
à !
n k
P( X = k) = p (1 − p)n−k , k = 0, 1, . . . , n.
k

U.M.B.B B. ISSAADI
1.4 Méthode de convolution 23

Les étapes de génération peuvent ainsi être écrites comme suit :

Générer des variables aléatoires i.i.d. X1 , . . ., Xn ∼ B (p);


Renvoyer X = ni = l X i , en tant que variable aléatoire ∼ B (n,p);
P

L’algorithme de génération est alors,

Algorithme (Exemple 1.4.1

I
X=0;
Pour i all de 1 à n Faire

AD
Générer u ∼ U(0,1) ;
Si u ≤ p Alors
X=X+1;
Finsi
Fin pour
Renvoyer(X);

Exemple 1.4.2 (Loi d’Erlang - Er( k, λ))


in e

La distribution d’Erlang est une loi de probabilité continue, dont l’intérêt est dû à
SA
ed

sa relation avec les distributions exponentielle et Gamma. Cette distribution a été


développée afin de modéliser le nombre d’appels téléphoniques simultanés, elle
dr

trouve ses applications en théorie des files d’attente. La densité de probabilité de


Ba

la distribution d’Erlang possède deux paramètres : le paramètre de forme k ∈ N∗ ,


et le paramètre d’intensité λ > 0. Lorsque le paramètre de forme k vaut 1, la
distribution se simplifie en la loi exponentielle. La densité d’Erlang notée Er( k, λ),
s’écrit sous la forme :
IS

λk x k−1 exp(−λ x)
f ( x; k, λ) = pour x > 0.
( k − 1)!

Nous voulons simuler une variable aléatoire X ∼ Er( k, λ). Dans ce cas, X peut
être représentée comme la somme de k variables aléatoires i.i.d. X 1 , . . . , X k de loi
exponentielle de paramètre λ. C’est-à-dire,

k
où X 1 , . . . , X k ∼ E xp(λ).
X
X= Xi
i =1

U.M.B.B B. ISSAADI
1.5 Génération de nombres aléatoires suivant une loi normale 24

En utilisant l’Exemple 1.1.2, nous pouvons écrire pour tout i = 1, . . . , k

1
X i = − log u i avec u i ∼ U (0,1) ,
λ
d’où
k
X 1X k 1 Y k
X= Xi = − log u i = − log ui.
i =1 λ i=1 λ i =1

Les étapes de génération d’une variable aléatoire de loi d’Erlang sont :

Générer des variables aléatoires i.i.d. u1 , . . ., un ∼ U (0,1) ;

I
Renvoyer X = - λ1 log ki=1 ui ∼ Er (k,λ);
Q

X=1;
AD
Ces étapes suggèrent l’algorithme de génération suivant :

Algorithme (Exemple 1.4.2

Pour i all de 1 à k Faire


Générer u ∼ U(0,1) ;
e
X=X*u;
in
SA
Fin pour
ed

X=-(log X)/λ;
dr

Renvoyer(X);
Ba

1.5 Génération de nombres aléatoires suivant une loi normale


IS

Cette loi joue un rôle fondamental en probabilités et statistique mathématique.


Elle constitue un modèle fréquemment utilisé dans divers domaines : variation du
diamètre d’une pièce dans une fabrication industrielle, répartition des erreurs de
mesure autour de la vraie valeur, etc.
Une variable aléatoire Z suit une loi normale N (µ, σ2 ) si sa densité est :

1 2 2
f ( z) = p e−(z−µ) /2σ σ2 > 0, −∞ < z < ∞
2πσ 2

Propriété 1.5.1
1. Si X suit N (0, 1), alors Z = µ + σ X est distribuée selon N (µ, σ2 ).
2. Si Z1 , . . . , Z n sont indépendants et proviennent respectivement de N (µ1 , σ21 ),

U.M.B.B B. ISSAADI
1.5 Génération de nombres aléatoires suivant une loi normale 25

. . . , N (µn , σ2n ), alors Z = Z1 + · · · + Z n suit la loi N (µ1 + · · · + µn , σ21 + · · · + σ2n ).


La première propriété indique clairement qu’il suffit de concevoir une procédure


pour générer un échantillon à partir de N (0, 1), car la transformation Z = µ + σ X
généralise son application, et permet d’avoir n’importe quelle variable de loi N (µ, σ2 ),
de plus cette transformation est relativement peu coûteuse. La seconde propriété
montre que seulement une seule génération de N (0, 1) est nécessaire pour générer
Z = Z1 + · · · + Z n (c’est à dire en utilisant la propriété 1.).
Dans ce qui suit, nous allons voir comment générer des variables aléatoires qui

I
suivent une loi normale centrée réduite N (0, 1).

AD
1.5.1 Application du Théorème Central Limite
Théorème 1.5.1 Soit X 1 , . . . , X n une suite de variables aléatoires indépendantes et
obéissant à la même loi de probabilité, admettant une moyenne µ et une variance
S −E(S)
σ2 . Si S = X 1 + · · · + X n , alors la somme réduite S ∗ = p converge en loi vers la
Var(S)
variable aléatoire de loi N (0, 1), ce que nous écrivons conventionnellement :

S − nµ
S∗ = p −−−−→ N (0, 1).
σ n n→∞
in e
SA
Une application immédiate du théorème central limite donne une méthode très
ed

simple de génération de variables aléatoires normales. Rappelons que pour une


variable aléatoire U uniformément distribuée dans l’intervalle [0, 1], on a E(U ) = 1/2
dr

et Var(U ) = 1/12. Pour un échantillon aléatoire { u 1 , . . . , u n } de réalisations d’une loi


Ba

uniforme, chaque élément u i suit une loi U (0,1) . Posons S = ni=1 U i , alors l’espérance
P

de la somme de n variables aléatoires uniformes est E(S ) = n/2 et sa variance est égale
à Var(S ) = n/12. D’après le théorème central limite la distribution asymptotique de
S = ni=1 U i suit une loi normale. Pour des valeurs finies de n on obtient de bonnes
P
IS

approximations de la loi normale. Le choix de n dépend évidemment de la qualité de


l’approximation désirée.
Pn
i =1 U i − n/2
S∗ = p −−−−→ N (0, 1).
n/12 n→∞

En prenant n = 12, la variable


12 12
S∗ =
X X
Ui − 6 = (U i − 1/2),
i =1 i =1

a espérance 0 et variance 1 et donne une bonne approximation de la variable aléatoire


normale centrée réduite.

U.M.B.B B. ISSAADI
1.5 Génération de nombres aléatoires suivant une loi normale 26

Algorithme (Loi normale par TCL, en deux façon)


S=0; S=0;
Pour i all de 1 à 12 Faire Pour i all de 1 à 12 Faire
Générer u ∼ U(0,1) ; Générer u ∼ U(0,1) ;
S=S+u; S=S+u-1/2;
Fin pour Fin pour
S=S-6; Renvoyer(S);
Renvoyer(S);

I
1.5.2 Méthode de Box-Müller
On présente ici une méthode qui permet de simuler un couple des variables

AD
aléatoires normales, centrées, réduites et indépendantes. Cette méthode exacte
découle du théorème suivant :
Théorème 1.5.2 (Box-Müller, 1958)
Soient U1 et U2 deux variables aléatoires uniformes et indépendantes sur l’inter-
valle [0, 1], alors X et Y définies par :

X =
p
−2 log(U1 ) cos(2πU2 )
e
p
Y = −2 log(U1 ) sin(2πU2 )
in
SA
ed

sont deux variables aléatoires normales centrées réduites indépendantes.


dr
Ba

Démonstration. Soient X et Y deux variables aléatoires de loi N (0, 1), nous avons
alors :
1 2
f X ( x) = p e− x /2 ,

1 − y2 /2
IS

f Y ( y) = p e .

Les deux variables étant indépendantes, leur densité conjointe est donnée par :
1 −(x2 + y2 )/2
f X ,Y ( x, y) = f X ( x) × f Y ( y) = e .

Le passage des coordonnées cartésiennes ( x, y) aux coordonnées polaires (ρ , θ ) s’effec-
tue par la transformation :

x = r cos(θ ),
y = r sin(θ ).
p
C’est à dire, le point ( x, y) est situé à une distance r = x2 + y2 de l’origine, et la
droite passant par (0, 0) et ( x, y) forme un angle θ avec l’axe des x, tel que tan(θ ) = y/ x.

U.M.B.B B. ISSAADI
1.5 Génération de nombres aléatoires suivant une loi normale 27

La fonction de densité conjointe de couple ( r, θ ) peut s’écrire en fonction de la


densité conjointe de ( x, y), par la relation suivante :

f R,Θ ( r, θ ) = f X ,Y ( x, y) × | J | = f X ,Y ( r cos(θ ), r sin(θ )) × | J |,

dont le jacobien J est égal à :


¯ ¯
¯cos(θ ) − r sin(θ )¯
J =¯ ¯ = r.
¯ ¯
¯sin(θ ) r cos(θ ) ¯

D’où,

I
1
¶ ³ µ
2
´
f R,Θ ( r, θ ) = × r e−r /2 = f Θ (θ ) × f R ( r ).

Cela montre que les variables aléatoires R et Θ, sont aussi deux variables aléatoires

AD
indépendantes de densités respectives :

f R ( r ) = r e−r
f Θ (θ ) =
1

.
2
/2
,

Faisons le changement de variable z = r 2 , la fonction de répartition de Z s’écrit :


p p
F Z ( z) = P( Z < z) = P(R 2 < z) = P(R < z ) = F R ( z ).
in e
SA
D’où,
0 p p p 1 p − z/2 1 − z/2
ed

f Z ( z) = F Z0 ( z) = FR ( z) = ( z)0 f R ( z) = p ze = e .
2 z 2
dr

où on reconnaît une loi exponentielle de paramètre 1/2 pour la variable aléatoire


Ba

Z = R2.
On a donc les lois de Z = R 2 et Θ :

Z = R 2 ∼ E xp(1/2), Θ ∼ U (0,2π) .
IS

En utilisant la méthode de la transformée inverse, et en se référant aux exemples


1.1.2 et 1.1.3 :
p p
On tire U1 ∼ U (0,1) → R = Z= −2 log(U1 ),
On tire U2 ∼ U (0,1) → Θ = 2πU2 .

Finalement,

= R cos(Θ) =
p
X −2 log(U1 ) cos(2πU2 ),
= R sin(Θ) = −2 log(U1 ) sin(2πU2 ).
p
Y

Ces deux variables aléatoires X et Y sont indépendantes par construction, ■

U.M.B.B B. ISSAADI
1.6 Génération à partir de distributions fréquemment utilisées 28

Algorithme (Loi normale par Box-Müller)


Générer u1 , u2 ∼ U(0,1) ;
x = -2log(u1 ) cos(2πu2 );
p

y = -2log(u1 ) sin(2πu2 );
p

Renvoyer(x,y);

1.6 Génération à partir de distributions fréquemment utilisées


Les deux sous sections suivantes présentent des algorithmes pour générer des

I
variables aléatoires à partir de distributions continues et discrètes couramment utili-
sées. Parmi les nombreux algorithmes disponibles, nous avons essayé de sélectionner

AD
ceux qui sont raisonnablement efficaces et relativement simples à mettre en œuvre.

1.6.1 Génération de variables aléatoires continues


1.6.1.1 Distribution de khi-deux
On appelle loi de khi-deux une loi de probabilité notée χ2 ( n) ou χ2n définie sur
R+ , et ayant pour densité la fonction
1 n x
f ( x) = x 2 −1 e − 2 , x ≥ 0.
e
n
³ ´
2 2 Γ n2
in
SA
ed

où Γ est la fonction gamma. Notons que la loi de khi-deux représente un cas particu-
dr

lier de la loi G (α, β), lorsque α = n/2 et β = 2, avec n entier positif.


Ba

Une autre définition est la suivante, Soient X 1 , . . . , X n , n variables aléatoires


indépendantes suivant des lois normales de moyennes 0 et d’écart-type 1, alors
n
X i2 .
X
X=
IS

i =1

suit une loi du χ2n à n degrés de liberté.

Algorithme (Distribution de khi-deux, χ2n )


Générer X1 , . . ., Xn ∼ N (0, 1);
X=X21 + · · · + X2n ;
Renvoyer(X);

1.6.1.2 Distribution de Student


Soit Y une variable aléatoire de loi normale centrée et réduite et soit Z une
variable indépendante de Y et distribuée suivant la loi du khi-deux χ2n à n degrés de

U.M.B.B B. ISSAADI
1.6 Génération à partir de distributions fréquemment utilisées 29

liberté. Par définition, la variable


Y
X=p
Z /n
suit une loi de Student à n degrés de liberté, notée t (n) . De manière générale la
densité de t (n) est :
1
f ( x) = , n = 1, 2, . . . − ∞ < x < ∞.
p ³ ´³ 2 (n+1)/2
´
nB 12 , n2 1 + xn

où B(·, ·) est la fonction Bêta.

I
Algorithme (Distribution de Student, t(n) )
Générer Y ∼ N (0, 1);

AD
Générer Z ∼ χ2n ;
X=Y/ Z/n;
Renvoyer(X);

Pour n = 1 la loi de Student est la loi de Cauchy, loi du quotient de deux variables
aléatoires normales indépendantes, dont la densité est :

f ( x) =
1
π(1 + x2 )
in e

1.6.1.3 Distribution de Fisher-Snedecor


SA
ed

Une variable aléatoire réelle distribuée selon la loi de Fisher peut être construite
comme le quotient de deux variables aléatoires indépendantes, Y et Z , distribuées
dr

chacune selon une Loi du χ2 et ajustées pour leurs nombres de degrés de liberté,
Ba

respectivement n 1 et n 2 ,
Y /n1
F (n1 , n2 ) ∼ .
Z /n2

Propriété 1.6.1
IS

1
1. Si X ∼ F ( n 1 , n 2 ), alors ∼ F ( n 2 , n 1 ).
X
2. Si X ∼ t (n) est distribuée selon une loi de Student alors X 2 ∼ F (1, n).
n1 X /n2
3. Si X ∼ F ( n 1 , n 2 ) et Y = alors Y ∼ B ( n 1 /2, n 2 /2) est distribuée selon
1 + n1 X /n2
une loi bêta.

Algorithme (Distribution de Fisher-Snedecor, F (n1 , n2 ))


Générer Y ∼ χ2n1 ;
Générer Z ∼ χ2n2 ;
X=(Y/n1 )/(Z/n2 );

U.M.B.B B. ISSAADI
1.6 Génération à partir de distributions fréquemment utilisées 30

Renvoyer(X);

1.6.1.4 Distribution de Cauchy


Supposons que X suit la densité de probabilité de Cauchy, dépendant de deux
paramètres α et β définie par :

β
f ( x) = − ∞ < α < ∞, β > 0, −∞ < x < ∞,
π[β2 + ( x − α)2 ]

notée par C (α, β). La distribution a les propriétés :

Propriété 1.6.2

I
1. Si Y ∼ C (0, 1), alors X = α + βY ∼ C (α, β).
2. Si X 1 , . . . , X n sont indépendants de C (α1 , β), . . . , C (αn , β) respectivement, alors
X = X 1 + · · · + X n suit la loi C (α1 + · · · + αn , β).

AD
3. Si Y1 et Y2 sont indépendants de loi N (0, 1), alors X = Y1 /Y2 ∼ C (0, 1).
4. Si le point (Y1 , Y2 ) est uniformément réparti dans le cercle unitaire y12 + y22 = 1/4,
alors X = Y1 /Y2 est de loi C (0, 1).

Sans perte de généralité, nous prenons α = 0 et β = 1 (la propriété 1 assure le passage


d’une variable de C (0, 1) vers une variable C (α, β)).


e
SA
in

La méthode de la transformation inverse génère X à partir de C (0, 1), où la fonction


1 1
µ ¶
ed

de répartition vaut arctan( x) + .


π 2
dr

Algorithme (Distribution de Cauchy, C (0, 1), méthode inverse)


Ba

Générer U ∼ U(0,1) ;
X=tan(π(U-1/2));
IS

Renvoyer(X);

La méthode inverse exige l’évaluation de la tangente pour génèrer X . Une so-


lution moins coûteuse en terme de temps d’exécution est celle de la propriété 4, en
utilisant le résultat basé sur une génération uniforme dans le cercle unitaire, qui est
une l’application directe de la technique de Rejet-Acceptation.

Algorithme (Distribution de Cauchy, C (0, 1), méthode de R-A)


Répéter
Générer Y1 , Y2 ∼ U(-1/2,1/2) ;
Jusqu’à Y21 +Y22 ≤ 1/4
Renvoyer(X=Y1 /Y2 );

U.M.B.B B. ISSAADI
1.6 Génération à partir de distributions fréquemment utilisées 31

1.6.2 Génération de variables aléatoires discrètes


1.6.2.1 Distribution de Poisson
C’est la loi d’une variable aléatoire X entière positive ou nulle qui satisfait à :
λk
P( X = k) = e−λ
λ > 0, k = 0, 1, . . .
k!
notée par P (λ). Cette distribution a les propriétés :

Propriété 1.6.3
1. Si Y1 , Y2 , . . . sont des variables aléatoires i.i.d. de loi E xp(1) et X est le plus

I
petit entier positif tel que Y1 + · · · + Yk+1 > λ, alors X = k a la distribution de
Poisson P (λ).
2. Si U1 , U2 , . . . sont des variables aléatoires i.i.d. de loi U (0,1) et X est le plus

AD
petit entier positif tel que 1k+1 U i < e−λ , alors X = k a la distribution de
Q

Poisson P (λ).

En utilisant la propriété 2, l’algorithme est donc le suivant. On génère l’une après


l’autre les variables U i et on compare leur produit à e−λ .

Algorithme (Distribution de Poisson, P (λ))


e
k=0;
in
SA
Prod=1;
ed

Répéter
dr

Générer U ∼ U(0,1) ;
Ba

Prod=Prod * U;
k=k+1;
Jusqu’à Prod < e−λ
Renvoyer(X=k-1);
IS

Cette méthode est simple, mais elle n’est vraiment pratique que pour les petites
valeurs de λ. En moyenne, le nombre de variables uniformes requises est λ, ce qui
pourrait être trop élevé pour les grandes valeurs de λ. Dans ces conditions, Atkinson
(1979), Ahrens et Dieter (1982), Devroye (1981), Schmeiser et Kachitvichyanukul
(1981), et Ahrens et Dieter (1991) proposent tous des algorithmes de génération de
variables de loi de Poisson avec des temps de calcul moyens limités.

1.6.2.2 Distribution géométrique


La loi géométrique est la loi du nombre d’essais nécessaires pour faire apparaître
un événement de probabilité p :

P( X = k) = p(1 − p)k−1 , 0 < p < 1, k = 1, 2, . . . ,

notée par G ( p). Cette distribution a les propriétés :

U.M.B.B B. ISSAADI
1.6 Génération à partir de distributions fréquemment utilisées 32

Propriété 1.6.4
1. Si ( X i ) i∈N∗ sont des variables aléatoires indépendantes de Bernoulli de para-
mètre p. alors X = min{ i : X i = 1} suit une loi géométrique de paramètre
p.
2. Soit β = −1/ log(1 − p) et X représente une variable aléatoire de E xp(β). Alors
b X c suit la loi G ( p).

I
AD e
in
SA
ed
dr
Ba
IS

U.M.B.B B. ISSAADI

Vous aimerez peut-être aussi