IniziaInizia gratis

Power Analysis - Parte I

Passiamo ora alla power analysis. In genere vuoi assicurarti che qualsiasi esperimento o test A/B che esegui abbia almeno l’80% di potenza statistica. Un modo per garantirlo è calcolare la dimensione del campione necessaria per ottenere l’80% di potenza.

Supponi di essere responsabile di un sito di news e di voler aumentare il tempo che gli utenti trascorrono sul sito. Al momento, il tempo trascorso è distribuito normalmente con media di 1 minuto e deviazione standard di 0,5 minuti. Stai introducendo una funzionalità che carica le pagine più velocemente e vuoi sapere qual è la dimensione del campione necessaria per misurare un aumento del 5% del tempo trascorso sul sito.

In questo esercizio imposteremo il framework per eseguire una simulazione, eseguire un t-test e calcolare il p-value.

Questo esercizio fa parte del corso

Simulazione statistica in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza effect_size al 5%, control_mean a 1 e control_sd a 0.5.
  • Usando np.random.normal(), simula un’estrazione di control_time_spent e treatment_time_spent utilizzando i valori che hai inizializzato.
  • Esegui un t-test su treatment_time_spent e control_time_spent usando st.ttest_ind() dove st è scipy.stats, già importato.
  • La significatività statistica stat_sig deve essere True se p_value è minore di 0.05, altrimenti deve essere False.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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