Die Stichprobenverteilung
Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 21 von 64.
Videositzungen sind rechtsschief verteilt: Die meisten dauern einige Minuten, einige laufen zwei Stunden. Dennoch bilden die Mittelwerte von 1000 Stichproben mit jeweils 40 Sitzungen eine Glockenkurve:
Das Histogramm vieler Stichprobenmittelwerte ist die Stichprobenverteilung. Bei genügend vielen Werten in jeder Stichprobe ist es eine Glockenkurve, die auf den Populationsmittelwert zentriert ist, selbst bei schiefen Daten:
means = sample_means(sessions, 40, 1000) # deine Funktion aus Sample Means Vary
ax.hist(means, bins=12)Das ist der zentrale Grenzwertsatz. Er macht Mittelwerte vorhersagbar: Der mittlere Fehler eines Modells über einen Testsatz ist ebenfalls ungefähr normalverteilt.
Aufgabe
MittelDie 6000 Dateigrößen eines Cloud-Laufwerks in files (MB) sind rechtsschief verteilt: viele Dokumente, wenige Videos. Das Programm liest eine Stichprobengröße ein; der Startercode enthält sample_means und zwei Diagramme.
- Ermittle 500 Stichprobenmittelwerte dieser Größe.
- Gib den Mittelwert minus den Median für die Dateien und anschließend für die Mittelwerte aus (2 Dezimalstellen).
- Erstelle ein Histogramm der Dateien auf
axs[0]und der Mittelwerte aufaxs[1]mitbins=12und zeige die Diagramme an.
Für ein anderes Laufwerk und 60:
Files: mean - median = 25.28 MB
Sample means: mean - median = 0.55 MBDann zeigt Coddy jedes Diagramm an. Eine Differenz nahe 0 bedeutet, dass die Schiefe verschwunden ist.
Probier es selbst
import numpy as np
import matplotlib.pyplot as plt
size = int(input())
# Ändere die folgenden Zeilen nicht: die Größe jeder Datei auf dem Laufwerk in MB
rng = np.random.default_rng(21)
files = np.round(rng.random(6000) ** 4 * 300 + 5, 2)
# Deine Funktion aus Sample Means Vary: die Mittelwerte von count Stichproben
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)")
# Schreibe deinen Code unten
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Statistik für ML
1Lage und Streuung
Mittelwert und MedianPerzentile und QuartileVarianz und StandardabweichungStichprobe oder Grundgesamtheit?Der häufigste WertRückblick: Lieferzeiten4Stichproben und Grundgesamtheiten
Grundgesamtheit und StichprobeStichprobenmittelwerte variierenDie StichprobenverteilungGrößere Stichproben, weniger ZufallRückblick: Eine Stadt befragen2Verteilungen
DichtehistogrammeDatenverteilungenDie NormalverteilungskurveDie 68-95-99,7-RegelZ-WerteRückblick: Akkulaufzeit3Wahrscheinlichkeit durch Simulation
Wahrscheinlichkeit als HäufigkeitDas Gesetz der großen ZahlenAugensummen beim WürfelnErwartungswertBedingte WahrscheinlichkeitRückblick: Gewinnchancen am Würfelstand6Zusammenhänge
Streudiagramme lesenKorrelationKorrelationsmatrixKorrelations-HeatmapsKorrelation ist keine KausalitätRückblick: Eiscreme und SonneÜbe selbstständig: Online-Python-Compiler