Zacznij terazZacznij za darmo

Analiza mocy testu – część II

Wcześniej zasymulowaliśmy jedno wystąpienie eksperymentu i wygenerowaliśmy wartość p. Teraz wykorzystamy ten schemat do obliczenia mocy statystycznej. Moc eksperymentu to jego zdolność do wykrycia różnicy między grupą eksperymentalną a kontrolną, jeśli różnica rzeczywiście istnieje. Dobrą praktyką statystyczną jest dążenie do mocy na poziomie 80%.

Dla naszej strony internetowej chcemy wiedzieć, ile osób musi odwiedzić każdy wariant, aby wykryć 10-procentowy wzrost czasu spędzonego na stronie przy mocy 80%. Zaczynamy od małej próby (50 obserwacji), symulujemy wiele wystąpień eksperymentu i sprawdzamy moc. Jeśli moc osiągnie 80%, przerywamy. Jeśli nie – zwiększamy rozmiar próby i próbujemy ponownie.

To ćwiczenie jest częścią kursu

Symulacje statystyczne w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dla zmiennych losowych time_spent ustaw size jako krotkę, tak aby kształt wynosił sample_size \(\times\) sims.
  • Oblicz power jako ułamek wartości p mniejszych od 0,05 (statystycznie istotnych).
  • Jeśli power jest większe lub równe 80%, użyj break, aby wyjść z pętli while. W przeciwnym razie zwiększaj sample_size o 10.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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))
Edytuj i uruchom kod