title: Méthode de la transformée inverse
text: # 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].
  
  ## Principe
  
  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 :
  
      $Q(u)=\inf \left\{x:F(x)\geqslant u\right\}$
  
  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
  
  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 λ | $F(x)=\left\{{\begin{matrix}1-\mathrm {e} ^{-\lambda x}&{\text{si}}\;x\geqslant 0\\0&{\text{si}}\;x<0\end{matrix}}\right.$ | $-{\tfrac {1}{\lambda }}\ln(1-U)$ |
  | loi de Cauchy standard | $F(x)={\frac {1}{\pi }}\arctan(x)+{\frac {1}{2}}$ | $\tan(\pi U)$ |
  | loi logistique standard | $F(x)={\frac {1}{1+\mathrm {e} ^{-x}}}$ | $-\ln \left({\tfrac {U}{1-U}}\right)$ |
  | loi de Laplace | $F(x)=0,5(1+\mathrm {sgn} (x)[1-\mathrm {e} ^{-|x|}])$ | $-\mathrm {sgn} (U)\ln(1-2|U|)$ |
  
  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 $-{\frac {1}{\lambda }}\ln(1-U)$.
  
  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 $-{\tfrac {1}{\lambda }}\ln(U)$. Toutefois, pour des raisons de précision numérique, on utilisera généralement $-{\tfrac {1}{\lambda }}\mathrm {log1p} (-U)$, la fonction $\mathrm {log1p}$ qui à x associe ln(1 + x) é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 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
  
  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.
  
  