Аналіз потужності — Частина I
Тепер переходимо до аналізу потужності. Зазвичай потрібно, щоб будь-який експеримент або A/B‑тест, який ви запускаєте, мав щонайменше 80% потужності. Один зі способів це забезпечити — розрахувати розмір вибірки, потрібний для досягнення 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))