Méthode de la transformée inverse

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}

Modèle:Infobox Méthode scientifique

Fichier:Inversion method2.svg
Méthode de la transformée inverse. On tire une variable uniforme Modèle:Mvar de loi uniforme sur Modèle:Formule, puis on obtient la variable Modèle:Mvar 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 Modèle:Mvar de loi donnée à partir de l'expression de sa fonction de répartition Modèle:Mvar et d'une variable uniforme sur Modèle:Formule.

Principe

Cette méthode repose sur le principe suivant, parfois connu sous le nom de théorème de la réciproque : soient Modèle:Mvar une fonction de répartition, Modèle:Mvar la fonction quantile associée, et Modèle:Mvar une variable uniforme sur Modèle:Formule. Alors, la variable aléatoire Modèle:Math a pour fonction de répartition Modèle:Mvar. Ainsi, pour échantillonner une variable aléatoire de loi donnée, il suffit de savoir échantillonner des variables uniformes sur Modèle:Formule 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 :

<math>Q(u) = \inf \left\{x : F(x) \geqslant u \right\}</math>

En particulier, si la fonction de répartition Modèle:Mvar est continue et strictement croissante, alors elle est bijective et Modèle:Math est sa bijection réciproque.

Exemples

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

Fonction de répartition Modèle:Mvar Fonction de répartition inverse Modèle:Formule
loi exponentielle de paramètre Modèle:Mvar <math>

F(x) = \left\{\begin{matrix} 1-\mathrm{e}^{-\lambda x}& \text{si} \; x \geqslant 0 \\ 0 & \text{si} \; x < 0 \end{matrix}\right.</math>

<math>-\tfrac{1}{\lambda} \ln(1 - U)</math>
loi de Cauchy standard <math>F(x) = \frac{1}{\pi} \arctan(x)+\frac{1}{2}</math> <math>\tan(\pi U)</math>
loi logistique standard <math>F(x) = \frac{1}{1+\mathrm{e}^{-x}}</math> <math>-\ln\left(\tfrac{U}{1-U}\right)</math>
loi de Laplace x|}])</math> U|)</math>

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

  1. on tire un nombre Modèle:Mvar uniformément sur Modèle:Formule
  2. on calcule <math>-\frac{1}{\lambda} \ln(1 - U)</math>.

A noter ici que, puisque Modèle:Mvar suit la loi uniforme sur Modèle:Formule si et seulement si Modèle:Math suit la loi uniforme sur Modèle:Formule, on pourrait également utiliser <math>-\tfrac{1}{\lambda} \ln(U)</math>. Toutefois, pour des raisons de précision numérique, on utilisera généralement <math>-\tfrac{1}{\lambda} \mathrm{log1p}(-U)</math>, la fonction <math>\mathrm{log1p}</math> qui à Modèle:Mvar associe Modèle:Math étant implémentée dans de nombreux langages de programmation.

Calcul de l'inversion

Dans le cas général, on ne sait pas inverser la fonction de répartition Modèle:Mvar de façon analytique, c'est-à-dire qu'on ne dispose pas d'une formule explicite donnant, pour Modèle:Mvar appartenant à Modèle:Math, Modèle:Mvar tel que Modèle:Formule. Il faut alors résoudre l'équation Modèle:Formule 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

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 Modèle:Mvar.

Voir aussi

Références


Modèle:Palette Probabilités et statistiques Modèle:Portail