IniziaInizia gratis

Analisi della potenza - Parte II

In precedenza, abbiamo simulato un'istanza dell'esperimento e generato un p-value. Ora useremo questa impostazione per calcolare la potenza statistica. La potenza di un esperimento è la sua capacità di rilevare una differenza tra trattamento e controllo, se la differenza esiste davvero. È buona prassi statistica puntare all'80% di potenza.

Per il nostro sito web, supponiamo di voler sapere quante persone devono visitare ciascuna variante affinché possiamo rilevare un aumento del 10% del tempo trascorso con una potenza dell'80%. Per farlo, partiamo con un campione piccolo (50), simuliamo più volte questo esperimento e verifichiamo la potenza. Se raggiungiamo l'80%, ci fermiamo. In caso contrario, aumentiamo la dimensione del campione e riproviamo.

Questo esercizio fa parte del corso

Simulazione statistica in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Per le variabili casuali time_spent, imposta size come tuple in modo che la forma sia sample_size \(\times\) sims.
  • Calcola power come la frazione di p-value inferiori a 0.05 (statisticamente significativi).
  • Se power è maggiore o uguale all'80%, esci dal ciclo while con break. Altrimenti, continua ad aumentare sample_size di 10.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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))
Modifica ed esegui il codice