Documente Academic
Documente Profesional
Documente Cultură
S. Robin
INA−PG, Biométrie
Décembre 1997
1
1 Introduction
On présente ici quelques méthodes de simulation de variables aléatoires de lois clas-
siques.
On notera FX la loi (i.e. la fonction de répartition) d’une variable aléatoire X et, si
elle existe, fX sa densité :
FX (x) = Pr {X ≤ x} ,
d
fX (x) = FX (x).
dx
U ∼ U[0;1]
c’est à dire
FU (u) = 0 si u < 0,
= u si 0 ≤ u ≤ 1,
= 1 si u > 1,
fU (u) = 1{u ∈ [0; 1]}.
L’indépendance des valeurs est une des conditions essentielles de la validité de la
plupart des algorithmes présentés ici.
Exemples :
– Dans SAS : fonction ”RANUNI”,
– En Pascal : ”RANDOMIZE” (initialisation du générateur), puis fonction ”RAN-
DOM”.
On ne s’étend pas ici sur la conception des ces générateurs. Ils sont souvent fondés
sur des calculs de congruence sur des nombres de grande dimension et initialisés à partir
de l’horloge de la machine. Il faut cependant savoir qu’il ne s’agit que de générateurs de
nombres pseudo-aléatoires, et que notamment, les valeurs obtenues ne sont qu’apparem-
ment indépendantes.
2
2 Variables aléatoires discrètes
2.1 Pile ou face
On veut simuler une variable aléatoire de loi ”Pile ou Face” i.e. X ∼ B( 21 ).
On tire U → ”Pile” si U ≤ 21 ,
”Face” sinon.
Formellement, cette procédure s’écrit
1
X = 1{U ≤ }.
2
On tire U → x = 1 si u ≤ p,
x = 0 sinon
c’est à dire
X = 1{U ≤ p}.
Il suffit donc de simuler n variables aléatoires indépendantes de loi B(p) et d’en faire
la somme : n
X
X= 1{Ui ≤ p}.
i=1
3
et Pk le cumul des pk : X
Pk = pj , P0 = 0.
j≤k
On a donc P1 = p1 et PK = 1.
L’algorithme est donc
On tire U → si Pk−1 ≤ u ≤ Pk
ce qui s’écrit également
k=K
X
X= k1{Pk−1 ≤ U < Pk }
k=1
λ
Pk+1 = Pk + pk .
p+1
On simule donc un variable de Poisson de paramètre λ en prenant
X
X= k1{Pk−1 ≤ U < Pk }
k≥0
4
2.5.2 Cumul de durées exponentielles
Une autre méthode de simulation de variables aléatoires de Poisson est issue d’une des
propriétés des processus de Poisson.
On sait que si des événements surviennent à des dates séparées par des durées expo-
nentielles de paramètre λ, le nombre d’événements survenant en une unité de temps suit
une loi de Poisson de même paramètre.
On simule des variables aléatoires {Y1 , Y2 , ...} i.i.d., Yi ∼ E(λ) (voir le paragraphe sur
les variables aléatoires continues) et définit X par
X
X= k1{Zk ≤ 1 < Zk+1 }
k≥0
5
3 Variables aléatoires continues
3.1 Méthode de la fonction inverse
On veut simuler une variable aléatoire continues X de fonction de répartition F .
Démonstration : On pose
u = F (x) ⇔ x = F −1 (u),
F F −1 (u) = Pr X ≤ F −1 (u)
u = Pr{F (X) ≤ u}
X = F −1 (U ).
6
il n’existe pas de formulation simple de Φ(x) et encore moins de Φ−1 (x) ; la méthode de
la fonction inverse ne peut donc pas s’appliquer directement à la loi normale.
Cependant il existe des polynômes donnant d’assez bonnes approximations de (x) et
de Φ−1 (x) qui permettent donc d’appliquer la méthode la fonction inverse à la loi normale
moyennant une excellente approximation.
Hypothèses :
1. f est à support compact, i.e que. f est nulle en dehors d’un intervalle [a; b].
Exemple :
f (x) = 6x(1 − x)1{0 ≤ x ≤ 1}.
2. Il existe un majorant M de f (x) :
∀x ∈ [a; b] : f (x) ≤ M.
On a
– surface du rectangle (abcd) = M (b − a),
– surface sous la courbe = 1 (puisque c’est une densité),
– surface de la zone hachurée =F (x0 ).
Méthode :
1. On tire un point A = (X, Y ) uniformément distribué sur le rectangle (abcd) :
on tire U1 → X = a + (b − a)U1 ,
on tire U2 → Y = M U2 .
7
2. Si Y ≤ f (X), on garde X sinon on tire un autre point.
3. On réitère jusqu’à ce que la condition Y ≤ f (X) soit remplie.
Démonstration :
et donc
F (x0 ) M (b − a)
Pr{X ≤ x0 } = × = F (x0 ).
M (b − a) 1
Remarque : Il est de plus important de noter qu’on choisit la constante M la plus petite
possible pour minimiser le nombre de rejets : plus la majoration est grossière, plus il faut
de tirages pour obtenir une valeur acceptable.
x = ρ cos θ, x = ρ sin θ
8
et on obtient
2
x + y2
1
fX,Y (x, y)dxdy = exp − dxdy
2π 2
2
1 ρ
= exp − ρdρdθ
2π 2
= fR,Θ (ρ, θ)dρdθ.
Méthode :
p
On tire U1 → R = −2 ln U1 ,
on tire U2 → Θ = 2πU2 .
et on pose :
X = R cos Θ,
Y = R sin Θ.
Ces deux variables aléatoires sont indépendantes par construction (leur densité jointe
est définie comme le produit de leurs densités respectives).
9
3.3.2 Application du Théorème Central Limite
Une application immédiate du théorème central limite donne une méthode très simple
de génération de variables aléatoires normales.
On sait que si on a n variable aléatoire i.i.d. d’espérance µ et de variance σ 2 , en notant
S leur somme, on a :
S − nµ loi
√ −→ N (0, 1).
nσ
Dens de nombreux cas, cette convergence est assez rapide et permet d’assez bonnes ap-
proximations pour n ' 10).
On utilise ici les propriétés des variable aléatoire de loi U[0;1] :
1 1
(U ) = , (U ) =
2 12
La loi de cette variable est très proche de la loi normale N (0, 1).
10
Démonstration : On a
Pr{X ≤ x0 , Y ≤ f (X)}
Pr{X ≤ x0 } =
Pr{Y ≤ f (X)}
or
Z x0
Pr{X ≤ x0 , Y ≤ f (X)} = g(x) Pr{ag(x)U ≤ f (x)}dx
−∞
Z x0 Z x0
f (x) f (x) F (x0 )
= g(x) Pr U ≤ dx = g(x) dx = ,
−∞ ag(x) −∞ ag(x) a
1
Z
Pr{Y ≤ f (X)} = g(x) Pr{ag(x)U ≤ f (x)}dx =
a
et donc
Pr{X ≤ x0 } = F (x0 ).
x2 x2 (|x| − 1)2
1 1
exp − ≤ exp − |x| ⇔ − |x| + ≥ 0 ⇔ ≥0
2 2 2 2 2
11
pour obtenir une valeur acceptable.
r
2e
a=1 a= <1
π
12