Aan de slagGa gratis aan de slag

Poweranalyse - Deel I

Nu gaan we aan de slag met poweranalyse. Je wilt er meestal voor zorgen dat elk experiment of elke A/B-test die je uitvoert minstens 80% power heeft. Een manier om dat te garanderen, is het benodigde steekproefvolume te berekenen om 80% power te behalen.

Stel dat je verantwoordelijk bent voor een nieuwssite en je de tijd wilt verhogen die gebruikers op je website doorbrengen. Op dit moment is de bezoektijd normaal verdeeld met een gemiddelde van 1 minuut en een standaarddeviatie van 0,5 minuut. Stel dat je een functie introduceert die pagina’s sneller laadt en je wilt weten welk steekproefvolume nodig is om een toename van 5% in bezoektijd te meten.

In deze oefening zetten we het raamwerk op om één simulatie te draaien, een t-test uit te voeren en de p-waarde te berekenen.

Deze oefening maakt deel uit van de cursus

Statisticale simulatie in Python

Cursus bekijken

Oefeninstructies

  • Initialiseer effect_size op 5%, control_mean op 1 en control_sd op 0,5.
  • Gebruik np.random.normal() om één trekking te simuleren van control_time_spent en treatment_time_spent met de waarden die je hebt ingesteld.
  • Voer een t-test uit op treatment_time_spent en control_time_spent met st.ttest_ind(), waarbij st scipy.stats is, dat al is geïmporteerd.
  • Statistische significantie stat_sig moet True zijn als p_value kleiner is dan 0,05; anders moet het False zijn.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren