Inizia subitoInizia gratis

Estrazione di replicati K-S

Ora ti serve una funzione per estrarre replicati di Kolmogorov–Smirnov da una distribuzione target, f. Costruisci una funzione con firma draw_ks_reps(n, f, args=(), size=10000, n_reps=10000). Qui, n è il numero di punti dati e f è la funzione che userai per generare campioni dalla CDF target. Per esempio, per testare contro una distribuzione esponenziale, passeresti np.random.exponential come f. Questa funzione di solito richiede degli argomenti, che devono essere passati come tupla. Quindi, se volessi campionare da una distribuzione esponenziale con media x_mean, useresti il parametro args=(x_mean,). I parametri size e n_reps rappresentano rispettivamente il numero di campioni da estrarre dalla distribuzione target e il numero di replicati da generare.

Questo esercizio fa parte del corso

Casi di studio nel pensiero statistico

Visualizza corso

Istruzioni dell'esercizio

  • Scrivi una funzione con firma draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) che faccia quanto segue.
    • Genera size campioni dalla distribuzione target f. Ricorda: per passare args alla funzione di campionamento, usa la costruzione f(*args, size=size). Salva il risultato come x_f.
    • Inizializza l'array dei replicati, reps, come un array vuoto con n_reps elementi.
    • Scrivi un ciclo for per ripetere quanto segue n_reps volte.
      • Estrai n campioni da f. Anche qui usa *args nella chiamata di funzione. Salva il risultato nella variabile x_samp.
      • Calcola la statistica K-S usando dcst.ks_stat(), la funzione che hai scritto nell'esercizio precedente e che è comodamente disponibile nel modulo dcst. Salva il risultato nell'array reps.
    • Restituisci l'array reps.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

____ ____:
    # 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
Modifica ed esegui il codice