Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Implémentation de l'Échantillonnage en Python | Probabilité et Statistiques
Mathématiques pour la Science des Données

Implémentation de l'Échantillonnage en Python

Glissez pour afficher le menu

Échantillonnage aléatoire simple

1234567
import random N = 30 # population size n = 5 # sample size sample_srs = random.sample(range(1, N+1), n) print(f"Simple Random Sample: {sample_srs}")
  • random.sample(range(1, N+1), n) sélectionne aléatoirement n valeurs uniques de la population ;
  • Fonctionne sans remise (aucune répétition) ;
  • Chaque membre de la population a une chance égale d'être choisi.

Échantillonnage stratifié

123456789
N_males = 18 N_females = 12 N_total = N_males + N_females n_total = 10 n_males = round((N_males / N_total) * n_total) n_females = round((N_females / N_total) * n_total) print(f"Stratified Sample Size -> Males: {n_males}, Females: {n_females}")
  • La population est divisée en sous-groupes (strates) ;
  • L'échantillon est prélevé proportionnellement dans chaque sous-groupe ;
  • Garantit la représentation des groupes clés.

Échantillonnage en grappes

1234567
import random clusters = 5 students_per_cluster = 25 selected_cluster = random.randint(1, clusters) print(f"Selected cluster (classroom): {selected_cluster} containing {students_per_cluster} students")
  • Population divisée en groupes (par exemple, des salles de classe) ;
  • Un ou plusieurs groupes sont sélectionnés aléatoirement ;
  • Tous les membres du ou des groupes choisis sont interrogés ;
  • Méthode efficace lorsque lister chaque individu est impraticable.

Échantillonnage systématique

123456789101112
import random N = 1000 n = 100 k = N // n # Sampling interval start = random.randint(1, k) # Random start sample_systematic = list(range(start, N+1, k)) print(f"Sampling interval k = {k}") print(f"Random start = {start}") print(f"First 10 samples: {sample_systematic[:10]}")
  • Intervalle k=Nnk = \frac{N}{n} ;
  • Point de départ choisi aléatoirement entre 1 et kk ;
  • Sélection de chaque kk-ième élément de la population ordonnée.

Résumé des méthodes

  • Aléatoire simple : chance égale pour tous, sans répétition ;
  • Stratifié : garantit la représentation des sous-groupes ;
  • Par grappes : sélection aléatoire de groupes entiers ;
  • Systématique : sélection à intervalles fixes après un départ aléatoire.
question mark

Quelle fonction est utilisée pour un échantillonnage aléatoire simple sans remise ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Implémentation de l'Échantillonnage en Python

Échantillonnage aléatoire simple

1234567
import random N = 30 # population size n = 5 # sample size sample_srs = random.sample(range(1, N+1), n) print(f"Simple Random Sample: {sample_srs}")
  • random.sample(range(1, N+1), n) sélectionne aléatoirement n valeurs uniques de la population ;
  • Fonctionne sans remise (aucune répétition) ;
  • Chaque membre de la population a une chance égale d'être choisi.

Échantillonnage stratifié

123456789
N_males = 18 N_females = 12 N_total = N_males + N_females n_total = 10 n_males = round((N_males / N_total) * n_total) n_females = round((N_females / N_total) * n_total) print(f"Stratified Sample Size -> Males: {n_males}, Females: {n_females}")
  • La population est divisée en sous-groupes (strates) ;
  • L'échantillon est prélevé proportionnellement dans chaque sous-groupe ;
  • Garantit la représentation des groupes clés.

Échantillonnage en grappes

1234567
import random clusters = 5 students_per_cluster = 25 selected_cluster = random.randint(1, clusters) print(f"Selected cluster (classroom): {selected_cluster} containing {students_per_cluster} students")
  • Population divisée en groupes (par exemple, des salles de classe) ;
  • Un ou plusieurs groupes sont sélectionnés aléatoirement ;
  • Tous les membres du ou des groupes choisis sont interrogés ;
  • Méthode efficace lorsque lister chaque individu est impraticable.

Échantillonnage systématique

123456789101112
import random N = 1000 n = 100 k = N // n # Sampling interval start = random.randint(1, k) # Random start sample_systematic = list(range(start, N+1, k)) print(f"Sampling interval k = {k}") print(f"Random start = {start}") print(f"First 10 samples: {sample_systematic[:10]}")
  • Intervalle k=Nnk = \frac{N}{n} ;
  • Point de départ choisi aléatoirement entre 1 et kk ;
  • Sélection de chaque kk-ième élément de la population ordonnée.

Résumé des méthodes

  • Aléatoire simple : chance égale pour tous, sans répétition ;
  • Stratifié : garantit la représentation des sous-groupes ;
  • Par grappes : sélection aléatoire de groupes entiers ;
  • Systématique : sélection à intervalles fixes après un départ aléatoire.
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 6
some-alt