Variation in Stichprobenstatistiken
Wenn wir eine Stichprobe mit size=1000 erzeugen, indem wir so viele Punkte aus einer Population ziehen, und anschließend eine Stichprobenstatistik wie den Mittelwert berechnen, erhalten wir einen einzelnen Wert, der die Stichprobe zusammenfasst.
Wiederholst du diesen Ziehungsprozess num_samples=100 Mal, erhältst du 100 Stichproben. Wenn du für jede dieser Stichproben die Stichprobenstatistik, etwa den Mittelwert, berechnest, entsteht eine Verteilung der Mittelwerte. Ziel ist es dann, den Mittelwert der Mittelwerte und die Standardabweichung der Mittelwerte zu berechnen.
Hier verwendest du die vorab geladenen Variablen population, num_samples und num_pts. Beachte außerdem, dass die Arrays means und deviations mit Nullen initialisiert wurden und dir als Container für die for-Schleife dienen.
Diese Übung ist Teil des Kurses
Einführung in lineares Modellieren mit Python
Anleitung zur Übung
- Erzeuge für jede der
num_samples=100Iterationen eine Stichprobe und berechne und speichere die Stichprobenstatistiken. - Erzeuge in jeder Iteration ein
sample, indem du mitnp.random.choice()1000zufällige Punkte aus der Population ziehst. - Berechne und speichere in jeder Iteration mit den Methoden
sample.mean()undsample.std()den Mittelwert und die Standardabweichung der Stichprobe. - Berechne für das Array
meansund das Arraydeviationsjeweils sowohl den Mittelwert als auch die Standardabweichung und gib die Ergebnisse aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Initialize two arrays of zeros to be used as containers
means = np.zeros(num_samples)
stdevs = np.zeros(num_samples)
# For each iteration, compute and store the sample mean and sample stdev
for ns in range(num_samples):
sample = np.____.choice(population, num_pts)
means[ns] = sample.____()
stdevs[ns] = sample.____()
# Compute and print the mean() and std() for the sample statistic distributions
print("Means: center={:>6.2f}, spread={:>6.2f}".format(means.mean(), means.std()))
print("Stdevs: center={:>6.2f}, spread={:>6.2f}".format(stdevs.____(), stdevs.____()))