La distribution d’échantillonnage
Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 21 sur 64.
Les sessions vidéo présentent une asymétrie à droite : la plupart durent quelques minutes, quelques-unes durent deux heures. Pourtant, les moyennes de 1000 échantillons de 40 sessions forment une cloche :
L’histogramme de nombreuses moyennes d’échantillons constitue la distribution d’échantillonnage. Avec suffisamment de valeurs dans chaque échantillon, il prend la forme d’une cloche centrée sur la moyenne de la population, même pour des données asymétriques :
means = sample_means(sessions, 40, 1000) # votre fonction de Sample Means Vary
ax.hist(means, bins=12)C’est le théorème central limite. Il rend les moyennes prévisibles : l’erreur moyenne d’un modèle sur un ensemble de test suit elle aussi approximativement une loi normale.
Défi
MoyenLes tailles des 6000 fichiers d’un espace de stockage cloud dans files (Mo) présentent une asymétrie à droite : beaucoup de documents, quelques vidéos. Le programme lit une taille d’échantillon ; le code de départ contient sample_means et deux graphiques.
- Obtiens 500 moyennes d’échantillons de cette taille.
- Affiche la moyenne moins la médiane des fichiers, puis celle des moyennes (2 décimales).
- Trace l’histogramme des fichiers sur
axs[0]et celui des moyennes suraxs[1], avecbins=12, puis affiche-les.
Pour un autre espace de stockage et 60 :
Files: mean - median = 25.28 MB
Sample means: mean - median = 0.55 MBCoddy affiche ensuite chaque graphique. Un écart proche de 0 signifie que l’asymétrie a disparu.
Essayez vous-même
import numpy as np
import matplotlib.pyplot as plt
size = int(input())
# Ne modifiez pas les lignes ci-dessous : la taille en MB de chaque fichier du lecteur
rng = np.random.default_rng(21)
files = np.round(rng.random(6000) ** 4 * 300 + 5, 2)
# Votre fonction de Sample Means Vary : les moyennes de count échantillons
def sample_means(data, size, count):
means = []
for i in range(count):
sample = rng.choice(data, size=size, replace=False)
means.append(sample.mean())
return np.array(means)
fig, axs = plt.subplots(1, 2)
axs[0].set_title("All Files")
axs[0].set_xlabel("File size (MB)")
axs[1].set_title("Sample Means")
axs[1].set_xlabel("Mean file size (MB)")
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Statistiques pour le ML
1Centre et dispersion
Moyenne et médianePercentiles et quartilesVariance et écart-typeÉchantillon ou population ?La valeur la plus fréquenteRécapitulatif : délais de livraison4Échantillons et populations
Population et échantillonLes moyennes d’échantillon varientLa distribution d’échantillonnageDes échantillons plus grands, moins de bruitRécapitulatif : sonder une ville2Distributions
Histogrammes de densitéFormes des donnéesLa courbe normaleLa règle des 68-95-99,7Scores zRécapitulatif : autonomie de la batterie5Valeurs aberrantes
Diagrammes en boîteLa règle de l’écart interquartileLa règle du score ZTraiter les valeurs aberrantesRécapitulatif : anomalies des capteurs3Les probabilités par simulation
La probabilité comme fréquenceLa loi des grands nombresSommes de désEspérance mathématiqueProbabilité conditionnelleRécapitulatif : les chances au stand de dés6Relations
Lire des nuages de pointsCorrélationMatrice de corrélationCartes thermiques de corrélationCorrélation n’est pas causalitéRécapitulatif : glace et soleil9Mise à l’échelle des caractéristiques
Pourquoi mettre les caractéristiques à l’échelleMise à l’échelle Min-MaxStandardisationStandardScalerRécapitulatif : partenaires d’escaladeEntraînez-vous par vous-même : Compilateur Python en ligne