Visualiser l’échantillonnage par permutation
Pour comprendre visuellement le fonctionnement de l’échantillonnage par permutation, vous allez générer des échantillons par permutation et les examiner graphiquement.
Nous allons réutiliser les données de la station météo de Sheffield, en nous concentrant cette fois sur les précipitations mensuelles en juin (mois sec) et en novembre (mois humide). Comme nous nous attendons à des distributions différentes, nous allons prendre des échantillons par permutation pour voir à quoi leurs ECDF ressembleraient si elles étaient identiquement distribuées.
Les données sont stockées dans les tableaux NumPy rain_june et rain_november.
Pour rappel, permutation_sample() a la signature permutation_sample(data_1, data_2) et renvoie permuted_data[:len(data_1)], permuted_data[len(data_1):], où permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).
Cet exercice fait partie du cours
Réflexion statistique en Python (Partie 2)
Instructions
- Écrivez une boucle
forpour générer 50 échantillons par permutation, calculer leurs ECDF et les tracer.- Générez une paire d’échantillons par permutation à partir de
rain_juneetrain_novemberavec votre fonctionpermutation_sample(). - Générez les valeurs
xetyd’une ECDF pour chacun des deux échantillons par permutation avec votre fonctionecdf(). - Tracez l’ECDF du premier échantillon par permutation (
x_1ety_1) sous forme de points. Faites de même pour le second échantillon (x_2ety_2).
- Générez une paire d’échantillons par permutation à partir de
- Générez les valeurs
xetydes ECDF pour les donnéesrain_juneetrain_novemberet tracez les ECDF en utilisant respectivement les arguments nomméscolor='red'etcolor='blue'. - Indiquez les labels des axes, définissez une marge de 2 % et affichez votre graphique. Cela a été fait pour vous : il vous suffit de Soumettre la réponse pour voir le graphique !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
for _ in ____:
# Generate permutation samples
perm_sample_1, perm_sample_2 = ____
# Compute ECDFs
x_1, y_1 = ____
x_2, y_2 = ____
# Plot ECDFs of permutation sample
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='red', alpha=0.02)
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='blue', alpha=0.02)
# Create and plot ECDFs from original data
x_1, y_1 = ____
x_2, y_2 = ____
_ = plt.plot(x_1, y_1, marker='.', linestyle='none', color='red')
_ = plt.plot(x_2, y_2, marker='.', linestyle='none', color='blue')
# Label axes, set margin, and show plot
plt.margins(0.02)
_ = plt.xlabel('monthly rainfall (mm)')
_ = plt.ylabel('ECDF')
plt.show()