Méthode de la transformée inverse
Modèle:Infobox Méthode scientifique
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 :
- on tire un nombre Modèle:Mvar uniformément sur Modèle:Formule
- 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
- Aléatoire
- Pseudo-aléatoire
- Générateur de nombres aléatoires
- Générateur de nombres pseudo-aléatoires
- Méthode de rejet
- Cette méthode est aussi importante sur le plan théorique. Voir en particulier le Théorème de la réciproque dans l'article Fonction de répartition.