Memvisualisasikan pengambilan sampel permutasi
Untuk membantu memahami cara kerja pengambilan sampel permutasi, pada latihan ini Anda akan menghasilkan sampel permutasi dan meninjaunya secara grafis.
Kita akan kembali menggunakan data Stasiun Cuaca Sheffield, kali ini mempertimbangkan curah hujan bulanan pada bulan Juni (bulan kering) dan November (bulan basah). Kita memperkirakan keduanya mungkin berdistribusi berbeda, sehingga kita akan mengambil sampel permutasi untuk melihat seperti apa ECDF mereka jika diasumsikan berdistribusi identik.
Data disimpan dalam array NumPy rain_june dan rain_november.
Sebagai pengingat, permutation_sample() memiliki tanda tangan fungsi permutation_sample(data_1, data_2) dengan nilai kembalian permuted_data[:len(data_1)], permuted_data[len(data_1):], di mana permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).
Latihan ini adalah bagian dari kursus
Pemikiran Statistik dengan Python (Bagian 2)
Petunjuk latihan
- Tulis sebuah loop
foruntuk menghasilkan 50 sampel permutasi, hitung ECDF-nya, dan plot hasilnya.- Hasilkan sepasang sampel permutasi dari
rain_junedanrain_novembermenggunakan fungsipermutation_sample()Anda. - Hasilkan nilai
xdanyuntuk ECDF bagi masing-masing dari dua sampel permutasi menggunakan fungsiecdf()Anda. - Plot ECDF dari sampel permutasi pertama (
x_1dany_1) sebagai titik. Lakukan hal yang sama untuk sampel permutasi kedua (x_2dany_2).
- Hasilkan sepasang sampel permutasi dari
- Hasilkan nilai
xdanyuntuk ECDF dari datarain_junedanrain_novemberdan plot ECDF-nya dengan argumen kata kunci masing-masingcolor='red'dancolor='blue'. - Beri label pada sumbu, atur margin 2%, dan tampilkan plot Anda. Ini telah disiapkan untuk Anda, jadi langsung kirim saja untuk melihat plotnya!
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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()