Menu
CoddyTech

Stichprobenmittelwerte variieren

Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 20 von 64.

Eine Stichprobe von 30 Paketen liefert eine Schätzung ihres mittleren Gewichts. Zieh erneut eine Stichprobe, und du erhältst eine weitere Schätzung. Hier sind 40 Stichproben:

40 Punkte, einer pro Stichprobe von 30 Paketen, verteilt zwischen etwa 7.2 und 8.8 kg um eine gestrichelte Linie beim tatsächlichen Mittelwert aller Pakete von 8.05 kg

Um sie zu sammeln, wiederhole die Stichprobenziehung in einer Schleife, füge jeden Mittelwert einer Liste hinzu und wandle die Liste dann in ein Array um:

means = []
for i in range(5):
    sample = rng.choice(parcels, size=30, replace=False)
    means.append(sample.mean())
means = np.array(means)
print(np.round(means, 2))

Dies gibt aus:

[7.98 8.05 8.12 8.19 8.76]

Ein Stichprobenmittelwert ist selbst zufällig, und means.std() misst, wie stark er schwankt. Der Testergebniswert eines Modells ist ein solcher Mittelwert: Ein anderer Testsatz würde ihn verschieben.

challenge icon

Aufgabe

Mittel

Ein Gärtner misst jede Woche eine Zufallsstichprobe der 1800 Bambuspflanzen einer Baumschule. Wie stark kann der Stichprobenmittelwert zwischen den Wochen schwanken?

Vervollständige sample_means(data, size, count): Ziehe count Stichproben mit jeweils size Werten aus data, wobei kein Wert innerhalb einer Stichprobe doppelt vorkommt, und füge den Mittelwert jeder Stichprobe hinzu. Die letzten Zeilen des Startcodes rufen die Funktion auf und geben den Bericht aus.

Für eine andere Baumschule und Stichproben der Größe 10:

200 means of 10 plants: 105.25 to 137.13 cm
Spread of the means (std): 5.27 cm

Probier es selbst

import numpy as np

size = int(input())

# Ändere die folgenden Zeilen nicht: die Höhe jeder Bambuspflanze in cm
rng = np.random.default_rng(20)
heights = np.round(rng.normal(95, 15, size=1800), 1)


def sample_means(data, size, count):
    means = []
    # Schreibe deinen Code unten: Ziehe count Stichproben mit jeweils size Werten und speichere jeden Mittelwert

    return np.array(means)


# Ändere die folgenden Zeilen nicht
means = sample_means(heights, size, 200)
print(f"200 means of {size} plants: {np.round(means.min(), 2)} to {np.round(means.max(), 2)} cm")
print(f"Spread of the means (std): {np.round(means.std(), 2)} cm")
quiz iconTeste dich selbst

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

Übe selbstständig: Online-Python-Compiler