Recherche de site Web

Échantillonnage bootstrap en Python


Ceci est un tutoriel sur l'échantillonnage par bootstrap en Python. Dans ce tutoriel, nous allons apprendre ce qu'est le bootstrapping et ensuite voir comment l'implémenter.

Commençons.

Qu'est-ce que l'échantillonnage Bootstrap ?

La définition de l'échantillonnage par bootstrap est la suivante :

En statistique, l'échantillonnage Bootstrap est une méthode qui consiste à extraire des données d'échantillons de manière répétée avec remise à partir d'une source de données afin d'estimer un paramètre de population.

Cela signifie essentiellement que l'échantillonnage bootstrap est une technique permettant d'estimer des paramètres comme la moyenne pour une population entière sans avoir à considérer explicitement chaque point de donnée de la population.

Au lieu de regarder toute la population, nous regardons plusieurs sous-ensembles de même taille provenant de la population.

Par exemple, si votre taille de population est de 1000. Alors, pour trouver la moyenne, au lieu de considérer les 1000 entrées, vous pouvez prendre 50 échantillons de taille 4 chacun et calculer la moyenne pour chaque échantillon. De cette manière, vous prendrez en moyenne 200 entrées (50X4) choisies au hasard.

Une stratégie similaire est utilisée par les chercheurs de marché pour mener des recherches dans une vaste population.

Comment implémenter l'échantillonnage Bootstrap en Python ?

Voyons maintenant comment mettre en œuvre l'échantillonnage bootstrap en python.

Nous allons générer des données aléatoires avec une moyenne prédéfinie. Pour ce faire, nous allons utiliser le module NumPy en Python.

Commençons par importer les modules nécessaires.

1. Importez les modules nécessaires.

Les modules dont nous avons besoin sont :

  • Numpy
  • Aléatoire

Pour importer ces modules, utilisez :

import numpy as np
import random

Dans l'étape suivante, nous devons générer des données aléatoires. Faisons cela en utilisant le module Numpy.

2. Générer des données aléatoires

Générons une distribution normale avec une moyenne de 300 et avec 1000 entrées.

Le code pour cela est donné ci-dessous :

x = np.random.normal(loc= 300.0, size=1000)

Nous pouvons calculer la moyenne de ces données en utilisant :

print (np.mean(x))

Sortie :

300.01293472373254

Notez que c'est la véritable moyenne de la population.

3. Utilisez un échantillonnage bootstrap pour estimer la moyenne

Créons 50 échantillons de taille 4 chacun pour estimer la moyenne.

Le code pour faire cela est :

sample_mean = []

for i in range(50):
  y = random.sample(x.tolist(), 4)
  avg = np.mean(y)
  sample_mean.append(avg)

La liste sample_mean contiendra la moyenne de tous les 50 échantillons. Pour estimer la moyenne de la population, nous devons calculer la moyenne pour sample_mean.

Vous pouvez le faire en utilisant :

print(np.mean(sample_mean))

Sortie :

300.07261467146867

Maintenant, si nous exécutons à nouveau le code dans cette section, nous obtiendrons une sortie différente. Cela est dû au fait qu'à chaque fois que nous exécutons le code, nous générons de nouveaux échantillons. Cependant, chaque fois, la sortie sera proche de la moyenne réelle (300).

En exécutant à nouveau le code dans cette section, nous obtenons la sortie suivante :

299.99137705245636

En le lançant à nouveau, nous obtenons :

300.13411004148315

Code complet pour implémenter l'échantillonnage bootstrap en Python

Voici le code complet pour ce tutoriel :

import numpy as np
import random

x = np.random.normal(loc= 300.0, size=1000)
print(np.mean(x))

sample_mean = []
for i in range(50):
  y = random.sample(x.tolist(), 4)
  avg = np.mean(y)
  sample_mean.append(avg)

print(np.mean(sample_mean))

Conclusion

Ce tutoriel portait sur l'échantillonnage Bootstrap en Python. Nous avons appris à estimer la moyenne d'une population en créant des échantillons plus petits. C'est très utile dans le monde de l'apprentissage automatique pour éviter le surajustement. J'espère que vous avez pris plaisir à apprendre avec nous !