Začněte nyníZačněte zdarma

Generování K-S replikátů

Teď potřebuješ funkci, která bude generovat Kolmogorov-Smirnovovy replikáty z cílového rozdělení f. Napiš funkci se signaturou draw_ks_reps(n, f, args=(), size=10000, n_reps=10000). Parametr n udává počet datových bodů a f je funkce, pomocí které budeš generovat vzorky z cílové CDF. Například pro testování oproti exponenciálnímu rozdělení předáš jako f funkci np.random.exponential. Taková funkce obvykle vyžaduje argumenty, které se předávají jako n-tice. Pokud chceš vzorkovat z exponenciálního rozdělení se střední hodnotou x_mean, použiješ klíčové slovo args=(x_mean,). Klíčové argumenty size a n_reps pak určují počet vzorků z cílového rozdělení, respektive počet replikátů.

Toto cvičení je součástí kurzu

Případové studie ve statistickém myšlení

Zobrazit kurz

Pokyny k cvičení

  • Napiš funkci se signaturou draw_ks_reps(n, f, args=(), size=size), která provede následující.
    • Vygeneruj size vzorků z cílového rozdělení f. Nezapomeň předat args do vzorkovací funkce pomocí konstrukce f(*args, size=size). Výsledek ulož do proměnné x_f.
    • Inicializuj pole replikátů reps jako prázdné pole s n_reps prvky.
    • Napiš smyčku for, která n_reps-krát provede následující.
      • Vyber n vzorků z f. Opět použij *args ve volání funkce. Výsledek ulož do proměnné x_samp.
      • Vypočítej K-S statistiku pomocí dcst.ks_stat() — funkce, kterou jsi napsal/a v předchozím cvičení a která je uložená v modulu dcst. Výsledek ulož do pole reps.
    • Vrať pole reps.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

____ ____:
    # 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
Upravit a spustit kód