НачатьНачать бесплатно

Визуализация перестановочного сэмплирования

Чтобы лучше понять, как работает перестановочное сэмплирование, в этом упражнении вы сгенерируете перестановочные выборки и изучите их графически.

Мы снова воспользуемся данными метеостанции Шеффилда — на этот раз рассмотрим месячное количество осадков в июне (сухой месяц) и ноябре (дождливый месяц). Мы предполагаем, что их распределения могут различаться, поэтому построим перестановочные выборки, чтобы посмотреть, как выглядели бы их 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()
Редактировать и запускать код