CommencerCommencer gratuitement

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)

Afficher le cours

Instructions

  • Écrivez une boucle for pour 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_june et rain_november avec votre fonction permutation_sample().
    • Générez les valeurs x et y d’une ECDF pour chacun des deux échantillons par permutation avec votre fonction ecdf().
    • Tracez l’ECDF du premier échantillon par permutation (x_1 et y_1) sous forme de points. Faites de même pour le second échantillon (x_2 et y_2).
  • Générez les valeurs x et y des ECDF pour les données rain_june et rain_november et tracez les ECDF en utilisant respectivement les arguments nommés color='red' et color='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()
Modifier et exécuter le code