Tirages
aléatoires uniformes et gaussien
par Charles Hubert
Généralités
On décrit ici
des fonctions qui effectuent des tirages aléatoires uniformes dans un
intervalle, sur un cercle, dans un disque (limité par un cercle), sur une
sphère et dans une boule (limitée par une sphère), et des tirages gaussiens.
Conventionnellement les majuscules désignent des variables aléatoires, les
minuscules désignent des variables ordinaires.
Pour une
variable aléatoire X prenant ses valeurs dans un intervalle [a,b], pouvant être infini, on définit sa fonction de
répartition f(x) par la probabilité que X soit inférieure ou égale à x :
Si cette
fonction f(x) est dérivable, sa dérivée f'(x) est la densité de probabilité de
X ; alors f'(x)dx est la probabilité que X soit
dans l'élément de longueur dx centré sur x.
La fonction
de répartition est croissante ; si on fait le changement de variables
on voit que
ce qui montre que U est distribuée uniformément dans
l'intervalle [0,1] ; sa densité de probabilité est 1.
Si on sait
programmer la réciproque de f, on en déduit un moyen de générer des
tirages de fonction de répartition f : on tire des valeurs U
uniformément réparties dans [0,1] et on calcule les valeurs
Voyons des
applications.
Tirage
uniforme dans un intervalle
On sait que
la primitive APL "?" tire des valeurs uniformément réparties dans
l'ensemble des n premiers entiers naturels. En prenant n très grand et en
divisant par n les valeurs tirées on ramène ces valeurs à
l'intervalle [0,1]. En multipliant par a‑b et en retranchant de a on
ramène ces valeurs à [a,b].
La fonction
qui fait ce tirage est
le résultat "X" a pour dimension
"dim" et est tiré dans [a,b] ou [b,a] ; b vaut 0 par
défaut.
Tirage
uniforme sur un cercle
Sur un cercle
de rayon r et de centre (x,y), on tire des
valeurs Θ uniformément réparties dans [‑π,+π] et on
calcule
La fonction
qui fait ce tirage est
le résultat "X" a pour dimension
"dim,2" ; x et y valent 0 par défaut.
Tirage
uniforme dans un disque
Dans un
disque de rayon 1 et de centre (0,0) la densité de probabilité est
1/π. En coordonnées polaires, l'élément d'aire étant
r dr dθ, la probabilité de cet élément d'aire s'écrit
C'est le produit d'une différentielle en r par une différentielle en θ et
les bornes des deux variables sont indépendantes ; les variables R et
Θ sont donc indépendantes. Θ est
uniformément répartie dans [‑π,+π]. La
fonction de répartition de R est
On tire donc
des valeurs uniformément réparties U dans [0,1], Θ dans [‑π,+π] et pour un disque de rayon a et de centre (x,y) on
calcule
La fonction
qui fait ce tirage est
le résultat "X" a pour dimension
"dim,2" ; x et y valent 0 par défaut.
Tirage
uniforme sur une sphère
Sur une
sphère de rayon 1 et de centre (0,0,0) la densité
de probabilité est 1/4π. En coordonnées polaires, l'élément d'aire étant
cos θ dθ dφ, la probabilité de cet élément d'aire
s'écrit
C'est le produit d'une différentielle en θ par une différentielle en
φ et les bornes des deux variables sont indépendantes ; les variables
Θ et Φ sont donc indépendantes.
Φ est uniformément répartie dans [‑π,+π].
La fonction de répartition de Θ est
(S+1)/2 est donc uniformément répartie dans [0,1] et S dans [‑1,+1]. Les coordonnées cartésiennes étant
il n'est pas nécessaire de calculer Θ. Pour
une sphère de rayon r et de centre (x,y,z) on tire
Φ uniformément répartie dans [‑π,+π] et S dans [‑1,+1],
puis on calcule
La fonction
qui fait ce tirage est
le résultat "X" a pour dimension
"dim,3" ; x, y et z valent 0 par défaut.
Tirage
uniforme dans une boule
Dans une
boule de rayon 1 et de centre (0,0,0) la densité
de probabilité est 3/4π. En coordonnées polaires, l'élément de volume
étant la probabilité de cet élément de volume
s'écrit
C'est le produit de trois différentielles en r, en θ et en φ et les
bornes des trois variables sont indépendantes ; les variables R, Θ et
Φ sont donc indépendantes. Φ est uniformément répartie dans [‑π,+π] et S dans [‑1,+1]. La fonction de
répartition de Θ est
La fonction de répartition de R est
On tire donc
des valeurs uniformément réparties, S dans [‑1,+1],
Φ dans [‑π,+π], U dans [0,1]. Pour une sphère de rayon a
et de centre (x,y,z) on calcule
La fonction
qui fait ce tirage est
le résultat "X" a pour dimension
"dim,3" ; x, y et z valent 0 par défaut.
Tirage
gaussien
La fonction
de répartition d'une variable gaussienne normalisée X, c'est-à-dire de
moyenne 0 et d'écart-type 1, est
ce n'est pas une combinaison de fonctions
mathématiques élémentaires ; son inversion n'est pas facile.
On évite
cette difficulté en considérant deux variables gaussiennes normalisées X et Y
indépendantes. La densité de probabilité de (X,Y) est
donc
On passe
alors en coordonnées polaires où l'élément d'aire est
r dr dθ ; la probabilité de cet élément d'aire est alors
C'est le produit de deux différentielles en r et en θ et les bornes des
deux variables sont indépendantes ; les variables R et Θ sont donc indépendantes. Θ est uniformément répartie dans [‑π,+π]. La fonction de répartition de R est
et 1‑U est uniformément répartie dans [0,1[,
donc U l'est dans ]0,1] ; il faut que U ne puisse jamais être nul.
Pour une
variable gaussienne de moyenne m et d'écart-type σ on tire Θ
uniformément répartie dans [‑π,+π] et
U dans ]0,1]. Puis on calcule
et on fusionne X et Y en un seul tableau.
La fonction
qui fait ce tirage est
le résultat "X" a pour dimension
"dim", pour écart-type sig et pour moyenne m ; m vaut 0 par
défaut.
Les
fonctions