Двухвыборочный бутстреп-тест гипотезы о разности средних
Теперь проверим гипотезу о том, что у лягушки A и лягушки B одинаковое среднее значение силы удара, но не обязательно одинаковое распределение — такую гипотезу с помощью перестановочного теста проверить невозможно.
Для двухвыборочного бутстреп-теста оба массива сдвигаются так, чтобы их средние совпадали: мы моделируем гипотезу о равенстве средних. Затем из сдвинутых массивов берутся бутстреп-выборки и вычисляется разность средних. Это и есть одна бутстреп-реплика; таких реплик генерируется много. p-значение — это доля реплик, в которых разность средних больше наблюдаемой или равна ей.
Объекты forces_concat и empirical_diff_means уже доступны в вашем пространстве имён.
Это упражнение является частью курса
Статистическое мышление на Python (часть 2)
Инструкции к упражнению
- Вычислите среднее значение всех сил удара (из массива
forces_concat) с помощьюnp.mean(). - Создайте сдвинутые наборы данных для обоих массивов —
force_aиforce_b— так, чтобы среднее каждого из них совпадало со средним конкатенированного массива сил удара. - Сгенерируйте по 10 000 бутстреп-реплик среднего значения для каждого из двух сдвинутых массивов.
- Вычислите бутстреп-реплики разности средних: вычтите реплики сдвинутой силы удара лягушки B из реплик лягушки A.
- Вычислите p-значение на основе бутстреп-реплик и выведите его на экран.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Compute mean of all forces: mean_force
mean_force = ____
# Generate shifted arrays
force_a_shifted = force_a - np.mean(force_a) + mean_force
force_b_shifted = ____
# Compute 10,000 bootstrap replicates from shifted arrays
bs_replicates_a = draw_bs_reps(____, ____, ____)
bs_replicates_b = draw_bs_reps(____, ____, ____)
# Get replicates of difference of means: bs_replicates
bs_replicates = ____
# Compute and print p-value: p
p = ____ / ____
print('p-value =', p)