LoslegenKostenlos loslegen

Power-Analyse – Teil II

Zuvor haben wir eine Instanz des Experiments simuliert und einen p-Wert erzeugt. Jetzt nutzen wir diesen Rahmen, um die statistische Power zu berechnen. Die Power eines Experiments ist die Fähigkeit des Experiments, einen Unterschied zwischen Treatment und Control zu erkennen, wenn der Unterschied tatsächlich existiert. Gute statistische Praxis ist es, auf 80 % Power hinzuarbeiten.

Für unsere Website wollen wir wissen, wie viele Personen jede Variante besuchen müssen, damit wir einen Anstieg der aufgewendeten Zeit um 10 % mit 80 % Power erkennen können. Dafür starten wir mit einer kleinen Stichprobe (50), simulieren mehrere Instanzen dieses Experiments und prüfen die Power. Wenn 80 % erreicht sind, stoppen wir. Wenn nicht, erhöhen wir die Stichprobengröße und versuchen es erneut.

Diese Übung ist Teil des Kurses

Statistische Simulation in Python

Kurs anzeigen

Anleitung zur Übung

  • Setze für die Zufallsvariablen time_spent size als Tupel, sodass die Form sample_size × sims ist.
  • Berechne power als den Anteil der p-Werte kleiner als 0,05 (statistisch signifikant).
  • Wenn power größer oder gleich 80 % ist, break aus der while-Schleife. Andernfalls erhöhe sample_size weiterhin in Schritten von 10.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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))
Code bearbeiten und ausführen