CommencerCommencer gratuitement

Analyse de puissance - Partie II

Précédemment, nous avons simulé une 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 témoin et le groupe traité si cette différence existe réellement. Il est recommandé, par 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 pour détecter une augmentation de 10 % du temps passé avec une puissance de 80 %. Pour cela, nous commençons avec un petit échantillon (50), nous simulons plusieurs instances de cette expérience et nous évaluons la puissance. Si nous atteignons 80 % de puissance, nous nous arrêtons. Sinon, nous augmentons la taille de l’échantillon et réessayons.

Cet exercice fait partie du cours

Simulation statistique en Python

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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