CommencezCommencez 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. Créez 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 fonction de répartition (CDF) cible. Par exemple, pour tester par rapport à une distribution exponentielle, vous passeriez np.random.exponential comme f. Cette fonction prend généralement des arguments, qui doivent être transmis sous forme de tuple. Donc, si vous voulez tirer des échantillons d'une distribution exponentielle de moyenne x_mean, utilisez le mot-clé args=(x_mean,). Les paramètres 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.

Cette activité fait partie du cours

Études de cas en pensée statistique

Voir le cours

Instructions de l’exercice

  • Écrivez une fonction avec la signature draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) qui fait ce qui suit.
    • Générez size échantillons à partir de la distribution cible f. N'oubliez pas que, pour transmettre args à la fonction d'échantillonnage, vous devez utiliser la construction f(*args, size=size). Enregistrez le résultat dans x_f.
    • Initialisez le tableau des réplicats, reps, comme un tableau vide contenant n_reps entrées.
    • Écrivez une boucle for pour faire ce qui suit n_reps fois.
      • Tirez n échantillons à partir de f. De nouveau, utilisez *args dans votre appel de fonction. Stockez le résultat dans la variable x_samp.
      • Calculez la statistique K-S à l'aide de dcst.ks_stat(), la fonction que vous avez écrite à l'exercice précédent, et qui est commodément 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 ce code d’exemple.

____ ____:
    # 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