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

Анализ мощности — часть I

Теперь перейдём к анализу мощности. Как правило, любой эксперимент или A/B-тест должен иметь мощность не менее 80%. Один из способов этого добиться — заранее рассчитать необходимый объём выборки.

Предположим, что вы отвечаете за новостной сайт и хотите увеличить время, которое пользователи проводят на нём. В настоящее время это время подчиняется нормальному распределению со средним значением 1 минута и стандартным отклонением 0,5 минуты. Вы планируете внедрить функцию ускоренной загрузки страниц и хотите определить, какой объём выборки позволит зафиксировать увеличение времени пребывания на сайте на 5%.

В этом упражнении вы настроите фреймворк для одной симуляции, проведёте t-тест и вычислите p-значение.

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

Статистическое моделирование на Python

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

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

  • Инициализируйте effect_size значением 5%, control_mean — значением 1, а control_sd — значением 0.5.
  • С помощью np.random.normal() смоделируйте одну выборку для control_time_spent и treatment_time_spent, используя заданные значения.
  • Выполните t-тест для treatment_time_spent и control_time_spent с помощью st.ttest_ind(), где st — это scipy.stats (уже импортирован).
  • Присвойте переменной статистической значимости stat_sig значение True, если p_value меньше 0.05, иначе — False.

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

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

# Initialize effect_size, control_mean, control_sd
effect_size, sample_size, control_mean, control_sd = ____, 50, ____, ____

# Simulate control_time_spent and treatment_time_spent, assuming equal variance
control_time_spent = np.random.normal(loc=control_mean, scale=____, size=sample_size)
treatment_time_spent = np.random.normal(loc=____*(1+effect_size), scale=control_sd, size=____)

# Run the t-test and get the p_value
t_stat, p_value = st.ttest_ind(____, ____)
stat_sig = p_value < ____
print("P-value: {}, Statistically Significant? {}".format(p_value, stat_sig))
Редактировать и запускать код