Analyse de puissance – Partie I
Passons maintenant à l'analyse de puissance. Vous voulez généralement vous assurer que toute expérimentation ou tout test A/B que vous menez a au moins 80 % de puissance. Une façon d'y parvenir est de calculer la taille d'échantillon nécessaire pour atteindre 80 % de puissance.
Supposons que vous dirigez un site de médias d'information et que vous souhaitez augmenter le temps que les utilisateurs passent sur votre site. À l'heure actuelle, le temps passé par les utilisateurs sur votre site suit une loi normale avec une moyenne de 1 minute et un écart type de 0,5 minute. Supposons que vous introduisez une fonctionnalité qui charge les pages plus rapidement et que vous voulez connaître la taille d'échantillon nécessaire pour mesurer une augmentation de 5 % du temps passé sur le site.
Dans cet exercice, nous allons mettre en place le cadre pour exécuter une simulation, effectuer un test t, et calculer la valeur p.
Cette activité fait partie du cours
Simulation statistique en Python
Instructions de l’exercice
- Initialisez
effect_sizeà 5 %,control_meanà 1 etcontrol_sdà 0,5. - À l'aide de
np.random.normal(), simulez un tirage decontrol_time_spentet detreatment_time_spenten utilisant les valeurs que vous avez initialisées. - Effectuez un test t sur
treatment_time_spentetcontrol_time_spentavecst.ttest_ind()oùstcorrespond àscipy.stats, qui est déjà importé. - La signification statistique
stat_sigdoit êtreTruesip_valueest inférieure à 0,05; autrement, elle doit êtreFalse.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))