Comment effectuer un bootstrapping en Python (avec exemple)



Le bootstrapping est une méthode qui peut être utilisée pour construire un intervalle de confiance pour une statistique lorsque la taille de l’échantillon est petite et que la distribution sous-jacente est inconnue.

Le processus de base pour le bootstrap est le suivant :

  • Prenez k échantillons répétés avec remplacement à partir d’un ensemble de données donné.
  • Pour chaque échantillon, calculez la statistique qui vous intéresse.
  • Cela donne k estimations différentes pour une statistique donnée, que vous pouvez ensuite utiliser pour calculer un intervalle de confiance pour la statistique.

Le moyen le plus simple d’effectuer un bootstrap en Python consiste à utiliser la fonction bootstrap de la bibliothèque SciPy .

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : effectuer un bootstrapping en Python

Supposons que nous créions un ensemble de données en Python contenant 15 valeurs :

#define array of data values
data = [7, 9, 10, 10, 12, 14, 15, 16, 16, 17, 19, 20, 21, 21, 23]

Nous pouvons utiliser le code suivant pour calculer un intervalle de confiance bootstrap de 95 % pour la valeur médiane :

from scipy.stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np.median, confidence_level=0.95,
                         random_state=1, method='percentile')

#view 95% boostrapped confidence interval
print(bootstrap_ci.confidence_interval)

ConfidenceInterval(low=10.0, high=20.0)

L’intervalle de confiance bootstrap à 95 % pour la médiane s’avère être [10,0, 20,0] .

Voici ce que la fonction boostrap() a réellement fait sous le capot :

  • La fonction bootstrap() a généré 9 999 échantillons avec remplacement. (La valeur par défaut est 9 999 mais vous pouvez utiliser l’argument n_resamples pour modifier ce nombre)
  • Pour chaque échantillon bootstrap, la médiane a été calculée.
  • La valeur médiane de chaque échantillon a été classée du plus petit au plus grand et la valeur médiane au centile 2,5 % et au centile 97,5 % a été utilisée pour construire les limites inférieure et supérieure de l’intervalle de confiance à 95 %.

Notez que vous pouvez calculer un intervalle de confiance bootstrap pour pratiquement n’importe quelle statistique.

Par exemple, nous pouvons remplacer np.median par np.std dans la fonction bootstrap() pour calculer à la place un intervalle de confiance de 95 % pour l’écart type :

from scipy.stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np.std, confidence_level=0.95,
                         random_state=1, method='percentile')

#view 95% boostrapped confidence interval
print(bootstrap_ci.confidence_interval)

ConfidenceInterval(low=3.3199732261303283, high=5.66478399066117)

L’intervalle de confiance bootstrap à 95 % pour l’écart type s’avère être [3,32, 5,67] .

Remarque : Pour ces exemples, nous avons choisi de créer des intervalles de confiance à 95 %, mais vous pouvez modifier la valeur de l’argument trust_level pour construire un intervalle de confiance d’une taille différente.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer un bootstrap dans d’autres logiciels de statistiques :

Comment effectuer un bootstrap dans R
Comment effectuer un bootstrap dans Excel

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *