Méthode de la transformée inverse
Type |
Méthode statistique (d) |
---|
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 λ :
- on tire un nombre U uniformément sur [0, 1]
- 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]- 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.
Références
[modifier | modifier le code]- (en) Luc Devroye, Non-Uniform Random Variate Generation, New York, Springer-Verlag, (lire en ligne)