L'échantillonnage par transformation inverse (également connu sous le nom d'échantillonnage par inversion , de transformation intégrale de probabilité inverse , de méthode de transformation inverse ou de transformation de Smirnov ) est une méthode de base pour l'échantillonnage de nombres pseudo-aléatoires , c'est-à-dire pour générer des nombres d'échantillons au hasard à partir de n'importe quelle distribution de probabilité étant donné sa fonction de distribution cumulative .
L'échantillonnage par transformation inverse prélève des échantillons uniformes d'un nombre

Nous choisissons aléatoirement une proportion de l'aire sous la courbe et renvoyons la valeur correspondante dans le domaine, telle que cette proportion se situe exactement à gauche de cette valeur. Intuitivement, il est peu probable de choisir une valeur à l'extrémité de la distribution, car l'aire y est très faible, ce qui obligerait à choisir une valeur très proche de zéro ou de un.
Du point de vue du calcul, cette méthode consiste à calculer la fonction quantile de la distribution, c'est-à-dire sa fonction de répartition (qui associe à chaque nombre du domaine une probabilité comprise entre 0 et 1), puis à inverser cette fonction. C'est l'origine des termes « inverse » ou « inversion » souvent utilisés pour désigner cette méthode. Il est à noter que pour une distribution discrète , le calcul de la fonction de répartition n'est généralement pas très complexe : il suffit d'additionner les probabilités individuelles des différents points de la distribution. En revanche, pour une distribution continue , il est nécessaire d'intégrer sa fonction de densité de probabilité , ce qui est impossible à faire analytiquement pour la plupart des distributions (y compris la distribution normale ). Par conséquent, cette méthode peut s'avérer inefficace pour de nombreuses distributions et d'autres méthodes sont alors préférables ; elle reste néanmoins utile pour construire des échantillonneurs plus généraux, tels que ceux basés sur l'échantillonnage par rejet .
Pour la loi normale , l'absence d' expression analytique de la fonction quantile correspondante implique que d'autres méthodes (par exemple, la transformation de Box-Muller ) peuvent être préférables du point de vue du calcul. Il arrive souvent que, même pour des distributions simples, la méthode d'échantillonnage par transformation inverse puisse être améliorée : voir, par exemple, l' algorithme de ziggourat et l'échantillonnage par rejet . Par ailleurs, il est possible d'approximer la fonction quantile de la loi normale avec une très grande précision à l'aide de polynômes de degré modéré, et cette méthode est si rapide que l'échantillonnage par inversion est désormais la méthode par défaut pour l'échantillonnage d'une loi normale dans le logiciel statistique R.
Déclaration formelle
Pour toute variable aléatoire
Pour les variables aléatoires continues , la transformation intégrale de probabilité inverse est bien l'inverse de la transformation intégrale de probabilité , qui stipule que pour une variable aléatoire continue

Intuition
Depuis
Nous voulons voir si nous pouvons trouver une transformation strictement monotone
où la dernière étape a utilisé cela
Alors on a eu
Par conséquent, nous pouvons générer
La méthode


Le problème que résout la méthode d'échantillonnage par transformation inverse est le suivant :
- Laisser
- Nous voulons générer des valeurs de
La méthode d'échantillonnage par transformation inverse fonctionne comme suit :
- Générer un nombre aléatoire
- Trouvez l' inverse généralisée de la fonction de répartition cumulative (CDF) souhaitée, c'est-à-dire
- Calculer
Autrement dit, étant donné une fonction de répartition cumulative
Dans le cas continu, on peut traiter ces fonctions inverses comme des objets satisfaisant des équations différentielles. Certaines de ces équations différentielles admettent des solutions explicites sous forme de séries entières , malgré leur non-linéarité.
Exemples
- À titre d'exemple, supposons que nous ayons une variable aléatoire
- Pour effectuer une inversion, nous devons résoudre pour
- À partir de là, nous effectuerions les étapes un, deux et trois.
- À titre d'exemple supplémentaire, nous utilisons la distribution exponentielle avec
- Cela signifie que si nous dessinons certains
- Cette idée est illustrée dans le graphique suivant :

Les nombres aléatoires y<sub> i</sub> sont générés selon une loi uniforme entre 0 et 1, soit Y ~ U(0, 1). Ils sont représentés par des points colorés sur l'axe des y. Chaque point est associé à une fonction x = F <sup>-1</sup> (y), illustrée par des flèches grises pour deux exemples. Dans cet exemple, nous avons utilisé une loi exponentielle. Par conséquent, pour x ≥ 0, la densité de probabilité est : - Notez que la distribution ne change pas si l'on commence par 1-y au lieu de y. Pour les calculs, il suffit donc de générer des nombres aléatoires y dans [0, 1] et de calculer ensuite simplement
Preuve de justesse
Laisser
Affirmation : Si
Preuve:
Distribution tronquée
L'échantillonnage par transformation inverse peut être simplement étendu aux cas de distributions tronquées sur l'intervalle
Réduction du nombre d'inversions
Pour obtenir un grand nombre d'échantillons, il est nécessaire d'effectuer autant d'inversions de la distribution. Une méthode permettant de réduire le nombre d'inversions tout en obtenant un grand nombre d'échantillons consiste à utiliser l'échantillonneur Monte Carlo par collocation stochastique (échantillonneur SCMC) dans le cadre d'un développement en chaos polynomial . Ceci permet de générer un nombre quelconque d'échantillons Monte Carlo avec seulement quelques inversions de la distribution originale, à partir d'échantillons indépendants d'une variable dont les inversions sont disponibles analytiquement, par exemple la variable normale centrée réduite.
implémentations logicielles
Il existe des implémentations logicielles permettant d'appliquer la méthode d'échantillonnage inverse en utilisant des approximations numériques de l'inverse lorsque celle-ci n'est pas disponible sous forme analytique. Par exemple, une approximation de l'inverse peut être calculée si l'utilisateur fournit des informations sur les distributions, telles que la fonction de densité de probabilité (PDF) ou la fonction de répartition (CDF).
- Bibliothèque C UNU.RAN
- Bibliothèque R Runuran
- Échantillonnage de sous-packages Python dans scipy.stats