Začněte nyníZačněte zdarma

Analýza síly testu – část I

Teď se zaměříme na analýzu síly testu. Zpravidla chceš mít jistotu, že každý experiment nebo A/B test, který spustíš, má sílu alespoň 80 %. Jedním ze způsobů, jak toho dosáhnout, je vypočítat velikost vzorku potřebnou k dosažení 80% síly.

Představ si, že máš na starosti zpravodajský web a chceš zvýšit dobu, kterou uživatelé na webu stráví. V současnosti se tato doba řídí normálním rozdělením s průměrem 1 minuta a směrodatnou odchylkou 0,5 minuty. Uvažuješ o zavedení funkce, která urychlí načítání stránek, a chceš zjistit, jak velký vzorek potřebuješ k měření 5% nárůstu doby strávené na webu.

V tomto cvičení připravíš framework pro spuštění jedné simulace, provedení t-testu a výpočet p-hodnoty.

Toto cvičení je součástí kurzu

Statistické simulace v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Inicializuj effect_size na 5 %, control_mean na 1 a control_sd na 0.5.
  • Pomocí np.random.normal() simuluj jedno náhodné tažení pro control_time_spent a treatment_time_spent s použitím inicializovaných hodnot.
  • Spusť t-test na treatment_time_spent a control_time_spent pomocí st.ttest_ind(), kde st je scipy.stats (již naimportováno).
  • Statistická významnost stat_sig by měla nabývat hodnoty True, pokud je p_value menší než 0.05, jinak False.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód