Zacznij terazZacznij za darmo

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

Zobacz kurs

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 size próbek z docelowego rozkładu f. Pamiętaj, aby przekazać args do funkcji próbkującej przy użyciu konstrukcji f(*args, size=size). Wynik zapisz jako x_f.
    • Zainicjalizuj tablicę replikacji reps jako pustą tablicę z n_reps wpisami.
    • Napisz pętlę for, która wykona następujące kroki n_reps razy.
      • Pobierz n próbek z f. Ponownie użyj *args w wywołaniu funkcji. Wynik zapisz w zmiennej x_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 module dcst. Wynik zapisz w tablicy reps.
    • Zwróć tablicę reps.

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
Edytuj i uruchom kod