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

Проверка гипотезы: стали ли клювы глубже в 2012 году?

По графику ECDF и доверительному интервалу довольно очевидно, что клювы G. scandens на острове Дафне-Мейджор стали глубже. Но может ли этот эффект объясняться случайностью? Иными словами, какова вероятность получить наблюдаемую разность средних глубин клювов, если истинные средние одинаковы?

Будьте внимательны! Проверяемая гипотеза — не то, что глубины клювов взяты из одного распределения: для этого можно было бы использовать тест перестановок. Гипотеза состоит в равенстве средних. Чтобы выполнить эту проверку, нужно сдвинуть оба набора данных так, чтобы их средние совпадали, а затем применить бутстреп-выборку для вычисления разности средних.

Это упражнение является частью курса

Статистическое мышление на Python (часть 2)

Посмотреть курс

Инструкции к упражнению

  • Объедините данные о глубине клювов за 1975 и 2012 годы в один массив и вычислите его среднее значение, сохранив результат.
  • Сдвиньте bd_1975 и bd_2012 так, чтобы их средние были равны среднему объединённого набора данных.
  • Получите по 10 000 бутстреп-реплик среднего для глубин клювов за 1975 и 2012 годы.
  • Вычтите реплики 1975 года из реплик 2012 года, чтобы получить бутстреп-реплики разности.
  • Вычислите и выведите p-значение. Наблюдаемая разность средних, вычисленная в предыдущем упражнении, по-прежнему доступна в вашем пространстве имён как mean_diff.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Compute mean of combined data set: combined_mean
combined_mean = ____(____((bd_1975, bd_2012)))

# Shift the samples
bd_1975_shifted = ____
bd_2012_shifted = ____

# Get bootstrap replicates of shifted data sets
bs_replicates_1975 = ____
bs_replicates_2012 = ____

# Compute replicates of difference of means: bs_diff_replicates
bs_diff_replicates = ____

# Compute the p-value
p = np.sum(____ >= ____) / len(____)

# Print p-value
print('p =', p)
Редактировать и запускать код