ПочатиПочніть безкоштовно

Аналіз потужності — Частина II

Раніше ми змоделювали один запуск експерименту й отримали p-значення. Тепер використаємо цю схему, щоб обчислити статистичну потужність. Потужність експерименту — це здатність експерименту виявити різницю між варіантом і контролем, якщо така різниця справді є. Гарною практикою вважається прагнути до 80% потужності.

Для нашого вебсайту припустімо, що ви хочете дізнатися, скільки людей має відвідати кожен варіант, щоб ми могли виявити зростання часу, проведеного на сайті, на 10% із потужністю 80%. Для цього ми починаємо з невеликої вибірки (50), моделюємо декілька запусків цього експерименту й перевіряємо потужність. Якщо досягнуто 80% потужності — зупиняємося. Якщо ні — збільшуємо розмір вибірки й пробуємо знову.

Ця вправа є частиною курсу

Статистичне моделювання в Python

Переглянути курс

Інструкції до вправи

  • Для випадкових змінних time_spent задайте size як кортежі так, щоб форма була sample_size \(\times\) sims.
  • Обчисліть power як частку p-значень, менших за 0,05 (статистично значущих).
  • Якщо power більше або дорівнює 80%, виконайте break з циклу while. Інакше продовжуйте збільшувати sample_size на 10.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

sample_size = 50

# Keep incrementing sample size by 10 till we reach required power
while 1:
    control_time_spent = np.random.normal(loc=control_mean, scale=control_sd, size=(____,____)))
    treatment_time_spent = np.random.normal(loc=control_mean*(1+effect_size), scale=control_sd, size=(____,____))
    t, p = st.ttest_ind(treatment_time_spent, control_time_spent)
    
    # Power is the fraction of times in the simulation when the p-value was less than 0.05
    power = (p < 0.05).sum()/____
    if ____: 
        ____
    else: 
        ____ += ____
print("For 80% power, sample size required = {}".format(sample_size))
Редагувати та запускати код