ПочатиПочніть безкоштовно

Візуалізація перестановочного вибірковування

Щоб краще зрозуміти, як працює перестановочне вибірковування, у цій вправі ви згенеруєте перестановочні вибірки та розглянете їх на графіку.

Ми знову використаємо дані Метеостанції Шеффілда, цього разу — місячні опади у червні (сухий місяць) і листопаді (вологий місяць). Очікуємо, що їхні розподіли можуть відрізнятися, тож візьмемо перестановочні вибірки, щоб побачити, як виглядали б їхні ECDF, якби вони були однаково розподілені.

Дані збережено в масивах NumPy rain_june і rain_november.

На згадку: permutation_sample() має сигнатуру permutation_sample(data_1, data_2) і повертає permuted_data[:len(data_1)], permuted_data[len(data_1):], де permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).

Ця вправа є частиною курсу

Статистичне мислення в Python (Частина 2)

Переглянути курс

Інструкції до вправи

  • Напишіть цикл for, щоб згенерувати 50 перестановочних вибірок, обчислити їхні ECDF і побудувати їх на графіку.
    • Згенеруйте пару перестановочних вибірок із rain_june та rain_november, використовуючи вашу функцію permutation_sample().
    • Згенеруйте значення x і y для ECDF для кожної з двох перестановочних вибірок за допомогою вашої функції ecdf().
    • Побудуйте ECDF першої перестановочної вибірки (x_1 і y_1) у вигляді точок. Зробіть те саме для другої перестановочної вибірки (x_2 і y_2).
  • Згенеруйте значення x і y для ECDF для даних rain_june і rain_november та побудуйте їхні ECDF, використавши відповідно ключові аргументи color='red' і color='blue'.
  • Додайте підписи до осей, встановіть поле 2% і покажіть графік. Це вже зроблено за вас, тож просто натисніть «Надіслати відповідь», щоб переглянути графік!

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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()
Редагувати та запускати код