Permütasyon örneklemesini görselleştirme
Permütasyon örneklemenin nasıl çalıştığını daha iyi görmek için bu egzersizde permütasyon örnekleri üretecek ve bunları görsel olarak inceleyeceksin.
Yine Sheffield Hava Durumu İstasyonu verilerini kullanacağız; bu kez Haziran (kurak bir ay) ve Kasım (yağışlı bir ay) aylarındaki aylık yağış miktarlarına bakacağız. Dağılımlarının farklı olabileceğini bekliyoruz; bu yüzden, özdeş dağıtılmış olsalardı ECDF'lerinin nasıl görüneceğini görmek için permütasyon örnekleri alacağız.
Veriler NumPy dizileri rain_june ve rain_november içinde saklı.
Hatırlatma olarak, permutation_sample() fonksiyon imzası permutation_sample(data_1, data_2) şeklindedir ve dönüş değeri permuted_data[:len(data_1)], permuted_data[len(data_1):] olur; burada permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).
Bu egzersiz, kursun bir parçasıdır
Python ile İstatistiksel Düşünme (Bölüm 2)
Egzersiz talimatları
- 50 permütasyon örneği üretmek, bunların ECDF'lerini hesaplamak ve çizmek için bir
fordöngüsü yaz.permutation_sample()fonksiyonunu kullanarakrain_juneverain_november'dan bir permütasyon örneği çifti üret.- Her iki permütasyon örneği için
ecdf()fonksiyonunu kullanarak ECDF'ninxveydeğerlerini üret. - İlk permütasyon örneğinin (
x_1vey_1) ECDF'sini nokta olarak çiz. İkinci permütasyon örneği (x_2vey_2) için de aynısını yap.
rain_juneverain_novemberverileri için ECDF'lerinxveydeğerlerini üret ve ECDF'leri sırasıylacolor='red'vecolor='blue'anahtar argümanlarıyla çiz.- Eksenleri etiketle, yüzde 2 kenar boşluğu ayarla ve grafiği göster. Bunlar senin için yapıldı; grafiği görmek için sadece gönder tuşuna bas!
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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()