CommencerCommencer gratuitement

Générer des réplicats K-S

Vous avez maintenant besoin d’une fonction pour générer des réplicats de Kolmogorov-Smirnov à partir d’une distribution cible, f. Écrivez une fonction avec la signature draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) pour ce faire. Ici, n est le nombre de points de données, et f est la fonction que vous utiliserez pour générer des échantillons à partir de la CDF cible. Par exemple, pour tester une loi exponentielle, vous passeriez np.random.exponential en tant que f. Cette fonction prend généralement des arguments, qui doivent être passés sous forme de tuple. Ainsi, si vous souhaitez prélever des échantillons d’une loi exponentielle de moyenne x_mean, vous utiliserez le paramètre args=(x_mean,). Les arguments nommés size et n_reps représentent respectivement le nombre d’échantillons à tirer de la distribution cible et le nombre de réplicats à générer.

Cet exercice fait partie du cours

Études de cas en pensée statistique

Afficher le cours

Instructions

  • Écrivez une fonction avec la signature draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) qui effectue les opérations suivantes.
    • Générez size échantillons à partir de la distribution cible f. N’oubliez pas que pour passer args à la fonction d’échantillonnage, vous devez utiliser la construction f(*args, size=size). Stockez le résultat dans x_f.
    • Initialisez le tableau des réplicats, reps, comme un tableau vide avec n_reps entrées.
    • Écrivez une boucle for pour répéter les opérations suivantes n_reps fois.
      • Tirez n échantillons à partir de f. Là encore, utilisez *args dans votre appel de fonction. Stockez le résultat dans la variable x_samp.
      • Calculez la statistique K-S en utilisant dcst.ks_stat(), qui est la fonction que vous avez écrite dans l’exercice précédent et qui est disponible dans le module dcst. Stockez le résultat dans le tableau reps.
    • Retournez le tableau reps.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

____ ____:
    # 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
Modifier et exécuter le code