Méthode de la transformée inverse — Wikipédia

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.

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

Principe[modifier | modifier le code]

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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

Références[modifier | modifier le code]

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