K-S-Replikate ziehen
Jetzt brauchst du eine Funktion, um Kolmogorov-Smirnov-Replikate aus einer Zielverteilung f zu ziehen. Implementiere dazu eine Funktion mit der Signatur draw_ks_reps(n, f, args=(), size=10000, n_reps=10000). Dabei ist n die Anzahl der Datenpunkte und f die Funktion, mit der du Stichproben aus der Ziel-CDF erzeugst. Um beispielsweise gegen eine Exponentialverteilung zu testen, würdest du np.random.exponential als f übergeben. Diese Funktion nimmt in der Regel Parameter entgegen, die als Tupel übergeben werden müssen. Wenn du also Stichproben aus einer Exponentialverteilung mit dem Mittelwert x_mean ziehen möchtest, verwendest du das Schlüsselwort args=(x_mean,). Die Schlüsselwortargumente size und n_reps stehen jeweils für die Anzahl der Stichproben aus der Zielverteilung und die Anzahl der zu ziehenden Replikate.
Diese Übung ist Teil des Kurses
<Kurs>Fallstudien zum statistischen Denken</Kurs>Übungsanweisungen
- Schreibe eine Funktion mit der Signatur
draw_ks_reps(n, f, args=(), size=10000, n_reps=10000), die Folgendes tut.- Erzeuge
sizeStichproben aus der Zielverteilungf. Denk daran: Umargsan die Stichprobenfunktion zu übergeben, solltest du die Schreibweisef(*args, size=size)verwenden. Speichere das Ergebnis alsx_f. - Initialisiere das Replikate-Array
repsals leeres Array mitn_repsEinträgen. - Schreibe eine
for-Schleife, die Folgendesn_reps-mal ausführt.- Ziehe
nStichproben ausf. Verwende auch hier*argsim Funktionsaufruf. Speichere das Ergebnis in der Variablenx_samp. - Berechne die K-S-Statistik mit
dcst.ks_stat(), also der Funktion, die du in der vorherigen Übung geschrieben hast und die praktisch im Moduldcstgespeichert ist. Speichere das Ergebnis im Arrayreps.
- Ziehe
- Gib das Array
repszurück.
- Erzeuge
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
____ ____:
# Generate samples from target distribution
x_f = ____
# Initialize K-S replicates
reps = ____
# Draw replicates
for i in range(n_reps):
# Draw samples for comparison
x_samp = ____
# Compute K-S statistic
____[i] = ____
return reps