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
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 ciblef. N’oubliez pas que pour passerargsà la fonction d’échantillonnage, vous devez utiliser la constructionf(*args, size=size). Stockez le résultat dansx_f. - Initialisez le tableau des réplicats,
reps, comme un tableau vide avecn_repsentrées. - Écrivez une boucle
forpour répéter les opérations suivantesn_repsfois.- Tirez
néchantillons à partir def. Là encore, utilisez*argsdans votre appel de fonction. Stockez le résultat dans la variablex_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 moduledcst. Stockez le résultat dans le tableaureps.
- Tirez
- Retournez le tableau
reps.
- Générez
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