Generowanie replikacji K-S
Potrzebujesz teraz funkcji do generowania replikacji Kołmogorowa-Smirnowa z docelowego rozkładu f. Napisz funkcję o sygnaturze draw_ks_reps(n, f, args=(), size=10000, n_reps=10000). Parametr n oznacza liczbę punktów danych, a f to funkcja używana do generowania próbek z docelowej dystrybuanty. Na przykład, aby testować zgodność z rozkładem wykładniczym, możesz przekazać np.random.exponential jako f. Taka funkcja zazwyczaj przyjmuje argumenty, które należy podać jako krotkę. Jeśli chcesz pobierać próbki z rozkładu wykładniczego o średniej x_mean, użyj słowa kluczowego args=(x_mean,). Argumenty kluczowe size i n_reps oznaczają odpowiednio liczbę próbek pobieranych z docelowego rozkładu oraz liczbę generowanych replikacji.
To ćwiczenie jest częścią kursu
Studia przypadków w myśleniu statystycznym
Instrukcje do ćwiczenia
- Napisz funkcję o sygnaturze
draw_ks_reps(n, f, args=(), size=10000, n_reps=10000), która wykonuje następujące kroki.- Wygeneruj
sizepróbek z docelowego rozkładuf. Pamiętaj, aby przekazaćargsdo funkcji próbkującej przy użyciu konstrukcjif(*args, size=size). Wynik zapisz jakox_f. - Zainicjalizuj tablicę replikacji
repsjako pustą tablicę zn_repswpisami. - Napisz pętlę
for, która wykona następujące krokin_repsrazy.- Pobierz
npróbek zf. Ponownie użyj*argsw wywołaniu funkcji. Wynik zapisz w zmiennejx_samp. - Oblicz statystykę K-S przy użyciu
dcst.ks_stat()– to funkcja, którą napisałeś(-aś) w poprzednim ćwiczeniu, dostępna wygodnie w moduledcst. Wynik zapisz w tablicyreps.
- Pobierz
- Zwróć tablicę
reps.
- Wygeneruj
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
____ ____:
# 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