ÎncepețiÎncepe gratuit

Generarea replicatelor K-S

Acum ai nevoie de o funcție care să genereze replicate Kolmogorov-Smirnov dintr-o distribuție țintă, f. Construiește o funcție cu semnătura draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) în acest scop. Aici, n reprezintă numărul de puncte de date, iar f este funcția pe care o vei folosi pentru a genera eșantioane din CDF-ul țintă. De exemplu, pentru a testa față de o distribuție exponențială, ai transmite np.random.exponential ca f. Această funcție primește de obicei argumente, care trebuie transmise ca un tuplu. Astfel, dacă vrei să preiei eșantioane dintr-o distribuție exponențială cu media x_mean, folosești argumentul cheie args=(x_mean,). Argumentele cheie size și n_reps reprezintă, respectiv, numărul de eșantioane extrase din distribuția țintă și numărul de replicate generate.

Acest exercițiu face parte din cursul

Studii de caz în gândirea statistică

Vezi cursul

Instrucțiuni pentru exercițiu

  • Scrie o funcție cu semnătura draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) care face următoarele:
    • Generează size eșantioane din distribuția țintă f. Reține că, pentru a transmite args funcției de eșantionare, trebuie să folosești construcția f(*args, size=size). Stochează rezultatul în x_f.
    • Inițializează array-ul de replicate, reps, ca un array gol cu n_reps intrări.
    • Scrie o buclă for care execută de n_reps ori următoarele:
      • Extrage n eșantioane din f. Folosește din nou *args în apelul funcției. Stochează rezultatul în variabila x_samp.
      • Calculează statistica K-S folosind dcst.ks_stat(), funcția pe care ai scris-o în exercițiul anterior, stocată convenabil în modulul dcst. Stochează rezultatul în array-ul reps.
    • Returnează array-ul reps.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

____ ____:
    # 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
Editează și rulează codul