LoslegenKostenlos loslegen

Permutationsstichproben visualisieren

Um zu verstehen, wie Permutationsstichproben funktionieren, erzeugst du in dieser Übung Permutationsstichproben und betrachtest sie grafisch.

Wir verwenden wieder die Daten der Wetterstation Sheffield, diesmal den monatlichen Niederschlag im Juni (ein trockener Monat) und im November (ein nasser Monat). Wir erwarten, dass diese unterschiedlich verteilt sind, daher ziehen wir Permutationsstichproben, um zu sehen, wie ihre ECDFs aussehen würden, wenn sie identisch verteilt wären.

Die Daten liegen in den NumPy-Arrays rain_june und rain_november.

Zur Erinnerung: permutation_sample() hat die Funktionssignatur permutation_sample(data_1, data_2) und gibt permuted_data[:len(data_1)], permuted_data[len(data_1):] zurück, wobei permuted_data = np.random.permutation(np.concatenate((data_1, data_2))) ist.

Diese Übung ist Teil des Kurses

Statistical Thinking in Python (Teil 2)

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine for-Schleife, um 50 Permutationsstichproben zu erzeugen, ihre ECDFs zu berechnen und zu plotten.
    • Erzeuge ein Permutationsstichproben-Paar aus rain_june und rain_november mit deiner Funktion permutation_sample().
    • Erzeuge die x- und y-Werte für eine ECDF für jede der beiden Permutationsstichproben mit deiner Funktion ecdf().
    • Plotte die ECDF der ersten Permutationsstichprobe (x_1 und y_1) als Punkte. Mache dasselbe für die zweite Permutationsstichprobe (x_2 und y_2).
  • Erzeuge x- und y-Werte für ECDFs für die Daten rain_june und rain_november und plotte die ECDFs mit den Keyword-Argumenten color='red' bzw. color='blue'.
  • Beschrifte die Achsen, setze einen Rand von 2 % und zeige den Plot an. Das ist bereits für dich erledigt – klicke also einfach auf Antwort senden, um den Plot zu sehen!

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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()
Code bearbeiten und ausführen