ÎncepețiÎncepe gratuit

Vizualizarea eșantionării prin permutare

Pentru a înțelege mai bine cum funcționează eșantionarea prin permutare, în acest exercițiu vei genera eșantioane de permutare și le vei examina grafic.

Vom folosi din nou datele de la Stația Meteo Sheffield, de data aceasta analizând cantitatea lunară de precipitații în iunie (o lună secetoasă) și noiembrie (o lună ploioasă). Ne așteptăm ca distribuțiile lor să fie diferite, așa că vom genera eșantioane de permutare pentru a vedea cum ar arăta ECDF-urile lor dacă ar fi distribuite identic.

Datele sunt stocate în array-urile NumPy rain_june și rain_november.

Ca reminder, permutation_sample() are semnătura permutation_sample(data_1, data_2) și returnează permuted_data[:len(data_1)], permuted_data[len(data_1):], unde permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).

Acest exercițiu face parte din cursul

Gândire statistică în Python (Partea 2)

Vezi cursul

Instrucțiuni pentru exercițiu

  • Scrie o buclă for care să genereze 50 de eșantioane de permutare, să calculeze ECDF-urile acestora și să le traseze grafic.
    • Generează o pereche de eșantioane de permutare din rain_june și rain_november folosind funcția permutation_sample().
    • Generează valorile x și y ale ECDF-ului pentru fiecare dintre cele două eșantioane de permutare, folosind funcția ecdf().
    • Trasează ECDF-ul primului eșantion de permutare (x_1 și y_1) ca puncte. Fă același lucru pentru al doilea eșantion de permutare (x_2 și y_2).
  • Generează valorile x și y pentru ECDF-urile datelor rain_june și rain_november și trasează ECDF-urile folosind, respectiv, argumentele cheie color='red' și color='blue'.
  • Etichetează axele, setează o marjă de 2% și afișează graficul. Acest pas a fost deja realizat pentru tine, deci apasă Trimite răspunsul pentru a vedea graficul!

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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()
Editează și rulează codul