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

Бутстрэп-тест гипотезы о количестве сперматозоидов у пчёл

Теперь вы проверите следующую гипотезу: в среднем у самцов пчёл, обработанных инсектицидом-неоникотиноидом, количество активных сперматозоидов на миллилитр семенной жидкости такое же, как у необработанных самцов. В качестве тестовой статистики используйте разность средних значений.

Для справки: сигнатура вызова функции draw_bs_reps(), которую вы написали во 2-й главе, выглядит так: draw_bs_reps(data, func, size=1).

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

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

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

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

  • Вычислите среднее количество активных сперматозоидов для control минус среднее для treated.
  • Вычислите среднее по всем значениям количества активных сперматозоидов. Для этого сначала конкатенируйте control и treated, затем найдите среднее объединённого массива.
  • Сформируйте смещённые наборы данных для control и treated так, чтобы их средние значения совпадали. Этот шаг уже выполнен за вас.
  • Сгенерируйте по 10 000 бутстрэп-реплик среднего для каждого из двух смещённых массивов с помощью функции draw_bs_reps().
  • Вычислите бутстрэп-реплики разности средних значений.
  • Код для вычисления и вывода p-значения уже написан за вас. Нажмите «Отправить ответ», чтобы увидеть результат!

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

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

# Compute the difference in mean sperm count: diff_means
diff_means = ____

# Compute mean of pooled data: mean_count
mean_count = ____

# Generate shifted data sets
control_shifted = control - np.mean(control) + mean_count
treated_shifted = treated - np.mean(treated) + mean_count

# Generate bootstrap replicates
bs_reps_control = ____(____,
                       np.mean, size=10000)
bs_reps_treated = ____(____,
                       np.mean, size=10000)

# Get replicates of difference of means: bs_replicates
bs_replicates = ____

# Compute and print p-value: p
p = np.sum(bs_replicates >= np.mean(control) - np.mean(treated)) \
            / len(bs_replicates)
print('p-value =', p)
Редактировать и запускать код