Outils pour utilisateurs

Outils du site


bts:python:echantillonnage

Échantillonnage

On part d'une loi de probabilité quelconque. On souhaite observer ce qui se passe quand on prélève des échantillons et qu'on calcule des moyennes.

Loi quelconque

Dans le code ci-dessous, on définit une table DATA qui donne une certaine répartition. Vous voyez qu'il n'y a pas de 9, qu'il y a beaucoup de 12… cela définit la probabilités d'obtenir les différentes valeurs.

# echantillonnage.py
import numpy as np
import matplotlib.pyplot as plt
from random import choice

DATA = (1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 14, 14, 14, 15, 15, 16, 16, 16, 17, 19, 19)

print("moyenne pop :", np.mean(DATA))
print("écart-type pop :", np.std(DATA))

valeurs, effectifs = np.unique(DATA , return_counts=True)
plt.bar(valeurs, effectifs)
plt.show()

Le graphique vous donne un aperçu de la répartition des valeurs dans cette population. Notez les valeurs de la moyenne et de l'écart-type.

Quand vous aurez vu le graphique, vous pourrez supprimer les 3 dernières lignes du code.

def alea():
    """
    renvoie un nombre aléatoire entre 0 et 20 selon la répartition de DATA
    """
    return choice(DATA)

Échantillon de taille n

On veut une relève un échantillon de taille n.

def echantillon(n:int):
    """
    renvoie un tableau contenant n valeur prise aléatoirement
    """
    # à vous

Beaucoup d'échantillons

On va prélever beaucoup d'échantillons d'une certaine taille n, pour chaque échantillon on va calculer la moyenne, puis on va représenter sur histogramme les moyennes trouvées.

n = 10 # choix de n
resultats = []
for i in range(1000):
    e = echantillon(n)
    m = np.mean(e)
    resultats.append(m)
    
print("moyenne des moyenne :", np.mean(resultat))
print("écart type :", np.std(resultat))
plt.hist(resultats, density = True)
plt.show()

Vous pouvez changer la valeur de n pour voir l'effet sur le résultat.

Vous pouvez aussi faire le même travail sur les écarts-types.

bts/python/echantillonnage.txt · Dernière modification : de goupillwiki