Méthode de la transformée inverse

La méthode de la transformée inverse est une méthode permettant d'échantillonner une variable aléatoire X de loi donnée à partir de l'expression de sa fonction de répartition F et d'une variable uniforme sur [0, 1].

Méthode de la transformée inverse
Type
Méthode statistique (d)Voir et modifier les données sur Wikidata
Méthode de la transformée inverse. On tire une variable uniforme U de loi uniforme sur [0, 1], puis on obtient la variable X correspondante en appliquant l'inverse de la fonction de répartition.

Principe

modifier

Cette méthode repose sur le principe suivant, parfois connu sous le nom de théorème de la réciproque : soient F une fonction de répartition, Q la fonction quantile associée, et U une variable uniforme sur [0, 1]. Alors, la variable aléatoire X = Q(U) a pour fonction de répartition F. Ainsi, pour échantillonner une variable aléatoire de loi donnée, il suffit de savoir échantillonner des variables uniformes sur [0, 1] et de pouvoir calculer la fonction quantile de la loi souhaitée.

Le nom méthode de la transformée inverse provient du fait que la fonction quantile n'est autre que l'inverse généralisé à gauche de la fonction de répartition :

 

En particulier, si la fonction de répartition F est continue et strictement croissante, alors elle est bijective et Q = F−1 est sa bijection réciproque.

Exemples

modifier

Pour certaines lois, on sait inverser la fonction de répartition F, comme le montre la liste suivante :

Fonction de répartition F Fonction de répartition inverse F−1(U)
loi exponentielle de paramètre λ    
loi de Cauchy standard    
loi logistique standard    
loi de Laplace    

Ainsi, par exemple, échantillonner une variable selon la loi exponentielle de paramètre λ :

  1. on tire un nombre U uniformément sur [0, 1]
  2. on calcule  .

A noter ici que, puisque U suit la loi uniforme sur [0, 1] si et seulement si 1 - U suit la loi uniforme sur [0, 1], on pourrait également utiliser  . Toutefois, pour des raisons de précision numérique, on utilisera généralement  , la fonction   qui à x associe ln(1 + x) étant implémentée dans de nombreux langages de programmation.

Calcul de l'inversion

modifier

Dans le cas général, on ne sait pas inverser la fonction de répartition F de façon analytique, c'est-à-dire qu'on ne dispose pas d'une formule explicite donnant, pour u appartenant à [0, 1], x tel que F(x) = u. Il faut alors résoudre l'équation F(x) = u numériquement, 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émentation

modifier

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 F.

Voir aussi

modifier

Références

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