CommencezCommencez gratuitement

Analyse de puissance - Partie II

Plus tôt, nous avons simulé une seule instance de l'expérience et généré une valeur p. Nous allons maintenant utiliser ce cadre pour calculer la puissance statistique. La puissance d'une expérience correspond à sa capacité à détecter une différence entre le groupe traité et le groupe témoin si cette différence existe réellement. C'est une bonne pratique statistique de viser une puissance de 80 %.

Pour notre site Web, supposons que nous voulions savoir combien de personnes doivent visiter chaque variante afin de détecter une augmentation de 10 % du temps passé avec une puissance de 80 %. Pour ce faire, nous partons d'un petit échantillon (50), nous simulons plusieurs instances de cette expérience et nous vérifions la puissance. Si la puissance de 80 % est atteinte, nous arrêtons. Sinon, nous augmentons la taille de l'échantillon et nous réessayons.

Cette activité fait partie du cours

Simulation statistique en Python

Voir le cours

Instructions de l’exercice

  • Pour les variables aléatoires time_spent, définissez size comme des tuples de sorte que la forme soit sample_size × sims.
  • Calculez power comme la fraction des valeurs p inférieures à 0,05 (statistiquement significatives).
  • Si power est supérieure ou égale à 80 %, faites un break pour sortir de la boucle while. Sinon, continuez d'incrémenter sample_size par pas de 10.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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))
Modifier et exécuter le code