Méthode de la transformée inverse

La méthode de la transformée inverse est une méthode informatique pour produire une suite de nombres aléatoires de distribution donnée, à partir de l'expression de sa fonction de répartition et de tirages aléatoire uniforme sur [0;1].

Méthode de la transformée inverse
Nature
Méthode statistique (d)Voir et modifier les données sur Wikidata
Méthode de la transformée inverse. On réalise un tirage uniforme U entre 0 et 1 (axe des ordonnées), puis on lit la valeur X correspondante sur l'axe des abscisses en appliquant l'inverse de la fonction de répartition.

Le problème que résout cette méthode est le suivant :

Soit X une variable aléatoire dont la loi est décrite par la fonction de répartition FX. On désire obtenir une suite de réalisations de X.

ExplicationModifier

Cette méthode est fondée sur la propriété que la variable aléatoire U=FX(X) est distribuée uniformément sur [0;1] dès que la fonction de répartition FX est continue et strictement croissante sur   La distribution recherchée s'obtient donc comme l'ensemble des antécédents x des tirages u selon une distribution uniforme pour la fonction de répartition FX. Autrement dit, la variable aléatoire FX−1(U) a pour fonction de répartition FX, où U est une variable aléatoire de loi uniforme sur [0;1].

Pour une formulation plus précise[De quoi ?], voir le Théorème de la réciproque dans l'article Fonction de répartition.

ExemplesModifier

Pour certaines lois, on sait inverser FX comme le montre la liste suivante :

Fonction de répartition FX Fonction de répartition inverse FX−1(U)
loi exponentielle de paramètre λ   -1λln(1-U)
loi de Cauchy standard   tan(π U)
loi logistique standard   -ln U/1-U
loi de Laplace   -sgn(U) ln(1 - 2 |U| )

Ainsi, par exemple, pour tirer au hasard une valeur selon la loi exponentielle de paramètre λ :

  1. on tire au hasard un nombre U entre 0 et 1 de manière uniforme
  2. puis on calcule -1λln(1-U).

Calcul de l'inversionModifier

Dans le cas général, on ne sait pas inverser la fonction FX de façon analytique. On ne sait pas obtenir une expression qui donne la valeur de x vérifiant FX(x)=u. Il faut alors procéder numériquement, pour résoudre en x l'équation FX(x)-u=0, en utilisant au choix une fonction tabulée, la méthode de dichotomie, la méthode de la fausse position, la méthode de la sécante ou encore la méthode de Newton.

ImplémentationModifier

La plupart des langages de programmation permettant de produire des nombres pseudo-aléatoires de distribution uniforme, il suffit de calculer l'antécédent des nombres tirés selon la fonction de répartition FX.

Voir aussiModifier

RéférencesModifier

  • (en) Luc Devroye, Non-Uniform Random Variate Generation, New York, Springer-Verlag, (lire en ligne)