Le bootstrap, ou Monte-Carlo sur son propre échantillon
On n’a qu’un échantillon, et l’on voudrait savoir comment l’estimation aurait varié avec d’autres. Le bootstrap répond en tirant au hasard dans l’échantillon lui-même : une simulation de Monte-Carlo dans un monde fabriqué à partir des données.
L’idée en une phrase. Pour connaître la précision d’une estimation, il faudrait tirer de nombreux échantillons dans la population et regarder comment l’estimation varie ; c’est impossible, car on n’a que l’échantillon. Le bootstrap (Bradley Efron, 1979) remplace la population inconnue par l’échantillon lui-même : on tire n valeurs avec remise parmi les n observées, on recalcule l’estimation, et l’on recommence des milliers de fois. La dispersion de ces estimations imite celle qu’on cherchait.
Le nom vient de l’expression anglaise « se soulever en tirant sur les languettes (bootstraps) de ses bottes » : l’échantillon semble se renseigner sur lui-même. Le procédé repose sur deux étages. Le bootstrap idéal est un calcul exact sur tous les rééchantillonnages possibles ; la simulation de Monte-Carlo en tire B au hasard parce qu’ils sont trop nombreux. Il y a donc deux erreurs à distinguer : celle du monde bootstrap par rapport au monde réel, et celle de la simulation par rapport au bootstrap idéal.
Monde réel
Monde bootstrap
Population
loi F inconnue
loi empirique F̂ : chaque observation a la probabilité 1/n
Échantillon
x₁, …, xₙ tirés selon F (une seule fois)
x*₁, …, x*ₙ tirés avec remise dans l’échantillon (autant de fois qu’on veut)
Estimation
θ̂ = t(x₁, …, xₙ)
θ̂* = t(x*₁, …, x*ₙ)
Ce qu’on cherche / ce qu’on calcule
loi de θ̂ − θ
loi de θ̂* − θ̂, qui sert d’approximation
1
Le principe : tirer avec remise dans son propre échantillon
Des temps d’attente à un guichet suivent une loi exponentielle de moyenne 10 minutes (la page la connaît, l’observateur non). On en a relevé n = 20. Leur moyenne x̄ estime la moyenne, mais avec quelle précision ? En haut, les 20 valeurs sont des boules dans une urne ; à chaque tirage, on en prend 20 avec remise (certaines plusieurs fois, d’autres jamais) et l’on calcule la moyenne. L’histogramme bleu de ces moyennes « bootstrap » se construit sous vos yeux. En vert, ce que l’observateur ne peut pas faire : tirer de vrais nouveaux échantillons dans la population.
En haut : l’échantillon (boules grises, triées) et le dernier rééchantillonnage (le chiffre indique combien de fois chaque boule a été tirée). En bas : moyennes bootstrap (barres bleues, centrées sur x̄) et vraie loi de la moyenne obtenue avec de nouveaux échantillons de la population (courbe verte, recentrée sur x̄ pour comparer les largeurs).
Rééchantillonnages B—
Erreur-type bootstrap (Monte-Carlo)—
Erreur-type du bootstrap idéal (B infini)—
Vraie erreur-type σ/√n—
Trois nombres à ne pas confondre. L’erreur-type de Monte-Carlo s’approche de celle du bootstrap idéal quand B grandit ; pour la moyenne, celle-ci se calcule exactement : c’est l’écart-type de l’échantillon (avec le diviseur n) divisé par √n. Elle diffère de la vraie erreur-type σ/√n parce que l’échantillon n’est pas la population : aucune simulation ne corrige cela. Changez d’échantillon pour le voir. Le bootstrap n’apporte rien de neuf pour la moyenne, dont on connaît la formule ; son intérêt est de marcher de la même façon pour n’importe quelle statistique.
2
Exact ou simulé : le bootstrap idéal et son approximation de Monte-Carlo
Pour un très petit échantillon, on peut écrire tous les rééchantillonnages. Avec n valeurs, il y a nⁿ tirages ordonnés, mais seulement C(2n − 1, n) compositions différentes (combien de fois chaque valeur est tirée), chacune avec un poids multinomial. On obtient ainsi la loi exacte de la médiane bootstrap, sans aucun hasard. La simulation de Monte-Carlo, elle, tire B rééchantillonnages au hasard : son erreur par rapport au calcul exact diminue comme 1/√B, la vitesse habituelle de Monte-Carlo.
À gauche : loi exacte de la médiane bootstrap (barres vertes) et fréquences obtenues par Monte-Carlo (points bleus). À droite : erreur quadratique moyenne de l’erreur-type simulée selon B, sur 30 simulations indépendantes, en échelle log-log ; la droite pointillée a la pente −½.
Rééchantillonnages possibles—
Erreur-type exacte de la médiane bootstrap—
Monte-Carlo, B tirages—
Pente mesurée de l’erreur en fonction de B—
Le bootstrap n’est pas « une simulation » par nature : c’est un calcul bien défini (une espérance sous la loi empirique) que l’on approche par simulation faute de pouvoir énumérer. Dès n = 20, il y aurait déjà 6,9·10¹⁰ compositions. La pente −½ dit le prix : diviser l’erreur de simulation par 10 coûte 100 fois plus de tirages. En pratique, B = 1 000 à 2 000 suffit pour une erreur-type, davantage pour les queues d’un intervalle.
3
Trois intervalles bootstrap, et leur vraie couverture
Avec la loi des θ̂*, on fabrique un intervalle de confiance à 95 % de plusieurs façons. Percentile : entre les quantiles 2,5 % et 97,5 % des θ̂*. De base : on retourne ces quantiles autour de θ̂ (2θ̂ − q₉₇,₅ ; 2θ̂ − q₂,₅). Bootstrap-t : on rééchantillonne la statistique studentisée (θ̂* − θ̂)/se*, comme une loi de Student fabriquée sur mesure. Pour savoir lequel tient sa promesse, il faut une seconde simulation, autour de la première : tirer de nombreux échantillons dans la population connue, et compter combien d’intervalles contiennent la vraie moyenne. C’est Monte-Carlo au carré.
À gauche : un échantillon de temps d’attente exponentiels (moyenne vraie 1), la loi bootstrap de x̄* et les quatre intervalles (t de Student classique en gris, percentile en bleu, de base en orange, bootstrap-t en violet) ; la verticale verte est la vraie moyenne. À droite : couverture cumulée de chaque méthode sur les échantillons déjà simulés, avec la cible 95 %.
Échantillons simulés (× 400 rééchantillonnages)—
Couvertures : t classique / percentile—
Couvertures : de base / bootstrap-t—
Contrôle de la couverture du t classique—
Pour des données dissymétriques et un petit n, les intervalles percentile et de base couvrent moins que promis, souvent moins que l’intervalle de Student : ils héritent de la dispersion de l’échantillon, un peu trop faible. Le bootstrap-t, qui rééchantillonne aussi l’incertitude sur l’écart-type, s’approche le plus de 95 % (sa justification théorique, due à Singh puis Hall, est une précision « du second ordre »). Tous convergent vers 95 % quand n grandit. Le bootstrap aide, mais il ne fait pas de miracle sur 10 observations.
4
Trois usages : une corrélation, une régression, une série dans le temps
L’exemple d’Efron : 15 écoles de droit américaines, avec la note moyenne d’admission (LSAT) et la moyenne universitaire (GPA) de leurs étudiants. Leur corrélation vaut r = 0,776. Quelle est sa précision ? La formule classique repose sur la normalité des deux variables ; le bootstrap rééchantillonne simplement les 15 écoles, chacune avec ses deux notes, et recalcule r.
À gauche : les 15 écoles ; les cercles bleus marquent celles du dernier rééchantillonnage (leur épaisseur, le nombre de tirages). À droite : histogramme des corrélations bootstrap r*, avec l’intervalle percentile (bleu) et l’intervalle classique par la transformation de Fisher (vert).
Corrélation r et rééchantillonnages—
Erreur-type bootstrap—
Contrôles : jackknife / formule normale—
Intervalles à 95 % : percentile / Fisher—
Une droite de régression sur 50 points, dont la dispersion est faible au milieu et forte aux deux bouts (hétéroscédasticité). Deux façons de rééchantillonner. Les résidus : on garde les x, on remet au hasard les écarts à la droite ; c’est supposer que tous les points ont la même dispersion. Les paires : on tire des points (x, y) entiers ; aucune hypothèse sur la dispersion. On compare à la vraie erreur-type de la pente, mesurée par une simulation de Monte-Carlo du modèle.
À gauche : les données et 30 droites issues du bootstrap des paires (bleu) et des résidus (orange). À droite : les deux lois bootstrap de la pente et la vraie loi de la pente (vert), recentrées sur la pente estimée.
Vraie erreur-type de la pente—
Bootstrap des paires / formule « sandwich » de White—
Bootstrap des résidus / formule classique—
Des mesures journalières qui se ressemblent d’un jour à l’autre : une série autorégressive xₜ = φ·xₜ₋₁ + εₜ, de 200 jours. Tirer les jours un par un détruit cette mémoire, et le bootstrap croit les données plus informatives qu’elles ne sont. Le bootstrap par blocs (Künsch, 1989) tire des morceaux de l jours consécutifs et les met bout à bout : la dépendance à l’intérieur des blocs est conservée.
À gauche : la série (gris) et une série bootstrap par blocs (bleu), blocs séparés par de fines verticales. À droite : erreur-type de la moyenne selon la longueur de bloc l (bleu), avec la vraie valeur (vert) et le bootstrap jour par jour, l = 1 (rouge).
Vraie erreur-type de la moyenne—
Bootstrap jour par jour (l = 1)—
Bootstrap par blocs—
Le bootstrap n’est pas une recette unique : il faut rééchantillonner ce qui est vraiment interchangeable dans les données. Pour la corrélation, ce sont les écoles entières, couple de notes compris. Pour la régression, les paires restent presque justes quand la dispersion varie (environ 5 % trop bas en moyenne), les résidus non (près de 30 % trop bas). Pour une série dans le temps, ce sont des blocs de jours consécutifs ; tirés un par un, les jours font croire à une précision deux à trois fois trop bonne quand la mémoire est forte, et les blocs rattrapent l’essentiel de l’écart, sans tout à fait l’atteindre sur 200 jours.
5
Signature — ce que le rééchantillonnage ne peut pas inventer
Le bootstrap suppose que l’échantillon ressemble assez à la population pour la remplacer. Deux situations où ce n’est pas le cas, mesurées par Monte-Carlo au carré : des milliers d’échantillons, chacun rééchantillonné des centaines de fois.
Des montants (sinistres, fortunes, tailles de fichiers) suivent souvent une loi de Pareto, de queue en x^(−α). Pour α ≤ 2, la variance est infinie : quelques valeurs énormes, rares, dominent la moyenne. Un échantillon n’en contient presque jamais assez, et le bootstrap ne peut tirer que ce qui s’y trouve. Athreya (1987) a montré que le bootstrap de la moyenne est alors faux, même pour n très grand. On mesure la couverture de l’intervalle percentile à 95 % pour la moyenne.
À gauche : un échantillon (échelle logarithmique) ; la plus grande valeur est en rouge. À droite : couverture mesurée de l’intervalle percentile selon n (10, 30, 100, 300), pour l’indice α choisi (bleu) et pour α = 5, de variance finie (gris), avec la cible 95 % (vert).
Échantillons simulés par taille—
Couverture pour n = 300—
Référence α = 5, n = 300—
Pour des données normales, l’intervalle percentile de la moyenne vaut à peu près x̄ ± 1,96·σ̂/√n, où σ̂ est l’écart-type de l’échantillon calculé avec le diviseur n. C’est l’intervalle « avec 1,96 » de la planche Student, rétréci de surcroît par √((n − 1)/n). Sa couverture est donc proche de P(|T| ≤ 1,96·√((n − 1)/n)), calculée par la loi de Student à n − 1 degrés de liberté. La simulation doit retrouver cette courbe, à un écart d’un à trois points près tant que n reste petit (jusqu’à une dizaine), car la loi bootstrap de x̄* n’y est pas encore normale.
Couverture de l’intervalle percentile pour la moyenne de données normales selon n : mesurée par Monte-Carlo au carré (points bleus, avec leur marge) contre l’approximation par la loi de Student (courbe verte) ; l’intervalle de Student, lui, couvre exactement 95 % (pointillé).
Échantillons simulés par taille—
n = 5 : mesurée / approximation—
n = 20 : mesurée / approximation—
Le bootstrap rééchantillonne l’échantillon ; il ne peut pas voir ce qui n’y est pas. Avec une variance infinie, les valeurs extrêmes qui font la moyenne manquent presque toujours, et la couverture reste loin de 95 % même avec 300 observations, alors qu’elle s’en approche pour α = 5. Avec très peu de données, l’échantillon sous-estime sa propre dispersion et l’intervalle percentile est trop court : environ 84 % de couverture pour n = 5. Plus de rééchantillonnages n’y changent rien : B réduit l’erreur de simulation, jamais celle de l’échantillon.
Repères historiques
1949Nicholas Metropolis et Stanislaw Ulam publient « The Monte Carlo Method » : calculer une quantité en simulant le hasard.
1949Maurice Quenouille propose de corriger le biais d’un estimateur en l’enlevant d’une observation à la fois.
1958John Tukey baptise cette méthode jackknife (couteau suisse) et l’utilise pour estimer une variance.
1979Bradley Efron publie « Bootstrap methods: another look at the jackknife » dans les Annals of Statistics.
1981Kesar Singh montre que le bootstrap peut être plus précis que l’approximation normale (précision du second ordre).
1987Efron introduit les intervalles BCa ; Krishna Athreya montre l’échec du bootstrap de la moyenne en variance infinie.
1989Hans Künsch propose le bootstrap par blocs pour les données dépendantes.
1993Efron et Robert Tibshirani publient « An Introduction to the Bootstrap », qui diffuse la méthode.
Ce qu’il faut retenir
Le principe
Remplacer la population par l’échantillon et tirer avec remise : la variation des estimations recalculées imite la variation d’échantillonnage. Une seule recette pour toutes les statistiques.
Les deux erreurs
L’erreur de Monte-Carlo, en 1/√B, se réduit à volonté. L’erreur du monde bootstrap, due à l’échantillon, ne dépend que de n et du problème : aucun calcul ne la supprime.
Les précautions
Rééchantillonner les bonnes unités (paires, blocs), préférer le bootstrap-t ou BCa pour les intervalles, se méfier des petits échantillons, des queues épaisses et des statistiques extrêmes comme le maximum.
Pour aller plus loin
Bootstrap paramétrique. Au lieu de tirer dans l’échantillon, on tire dans la loi ajustée (par exemple une normale de moyenne x̄ et d’écart-type s). C’est la simulation de Monte-Carlo classique, appliquée au modèle estimé.
Intervalles BCa. L’intervalle percentile corrigé du biais et de l’asymétrie (bias-corrected and accelerated) ajuste les quantiles à l’aide d’une constante de biais tirée des θ̂* et d’une « accélération » estimée par jackknife ; il a la précision du second ordre du bootstrap-t sans exiger d’erreur-type pour chaque rééchantillon.
Tests par bootstrap et permutations. Pour tester une hypothèse, on rééchantillonne dans un monde où elle est vraie (par exemple, deux groupes recentrés sur une moyenne commune). Les tests par permutation, plus anciens (Fisher, Pitman), en sont le cousin exact lorsque l’hypothèse rend les étiquettes interchangeables.