Проверка гипотезы: стали ли клювы глубже в 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)