Začněte nyníZačněte zdarma

Vizualizace permutačního vzorkování

Abys lépe pochopil/a, jak permutační vzorkování funguje, v tomto cvičení vygeneruješ permutační vzorky a prohlédneš si je graficky.

Opět použijeme data ze stanice Sheffield Weather Station, tentokrát se zaměříme na měsíční srážky v červnu (suchý měsíc) a v listopadu (mokrý měsíc). Předpokládáme, že jejich rozdělení se může lišit, takže pomocí permutačních vzorků zjistíme, jak by jejich ECDF vypadaly, kdyby měly stejné rozdělení.

Data jsou uložena v NumPy polích rain_june a rain_november.

Pro připomenutí: permutation_sample() má signaturu permutation_sample(data_1, data_2) a vrací permuted_data[:len(data_1)], permuted_data[len(data_1):], kde permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).

Toto cvičení je součástí kurzu

Statistical Thinking in Python (Part 2)

Zobrazit kurz

Pokyny k cvičení

  • Napiš cyklus for, který vygeneruje 50 permutačních vzorků, vypočítá jejich ECDF a vykreslí je.
    • Pomocí funkce permutation_sample() vygeneruj dvojici permutačních vzorků z rain_june a rain_november.
    • Pro každý ze dvou permutačních vzorků vygeneruj hodnoty x a y pro ECDF pomocí funkce ecdf().
    • Vykresli ECDF prvního permutačního vzorku (x_1 a y_1) jako tečky. Totéž proveď pro druhý permutační vzorek (x_2 a y_2).
  • Vygeneruj hodnoty x a y pro ECDF dat rain_june a rain_november a vykresli tyto ECDF s použitím klíčových argumentů color='red', resp. color='blue'.
  • Označ osy, nastav 2% okraj a zobraz graf. To už je připraveno za tebe – stačí kliknout na Submit!

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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()
Upravit a spustit kód