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
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 ciblef. N'oubliez pas que, pour transmettreargsà la fonction d'échantillonnage, vous devez utiliser la constructionf(*args, size=size). Enregistrez le résultat dansx_f. - Initialisez le tableau des réplicats,
reps, comme un tableau vide contenantn_repsentrées. - Écrivez une boucle
forpour faire ce qui suitn_repsfois.- Tirez
néchantillons à partir def. De nouveau, utilisez*argsdans votre appel de fonction. Stockez le résultat dans la variablex_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 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 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