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)
Instrucțiuni pentru exercițiu
- Scrie o buclă
forcare 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șirain_novemberfolosind funcțiapermutation_sample(). - Generează valorile
xșiyale ECDF-ului pentru fiecare dintre cele două eșantioane de permutare, folosind funcțiaecdf(). - Trasează ECDF-ul primului eșantion de permutare (
x_1șiy_1) ca puncte. Fă același lucru pentru al doilea eșantion de permutare (x_2șiy_2).
- Generează o pereche de eșantioane de permutare din
- Generează valorile
xșiypentru ECDF-urile datelorrain_juneșirain_novemberși trasează ECDF-urile folosind, respectiv, argumentele cheiecolor='red'șicolor='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()