Visualizzare il p-value
In questo esercizio visualizzerai il p-value, ovvero la probabilità che l’effetto (o la "velocità") che abbiamo stimato sia il risultato della variazione casuale nel campione. Il tuo obiettivo è mostrarlo come la frazione di punti nella distribuzione della statistica di test rimescolata che cadono a destra della media della statistica di test ("effect size") calcolata dai campioni non rimescolati.
Per iniziare, abbiamo già caricato group_duration_short e group_duration_long e le funzioni compute_test_statistic(), shuffle_and_split() e plot_test_statistic_effect().
Questo esercizio fa parte del corso
Introduzione alla modellazione lineare in Python
Istruzioni dell'esercizio
- Usa
compute_test_statistic()per otteneretest_statistic_unshuffleddagroup_duration_shortegroup_duration_long; poi usanp.mean()per calcolare l’effect size. - Usa
shuffle_and_split()per creareshuffle_half1eshuffle_half2, e usacompute_test_statistic()per calcolaretest_statistic_shuffled. - Crea una maschera booleana
conditionin cui i valori ditest_statistic_shuffledsiano maggiori o uguali aeffect_size, quindi usa questa maschera per calcolare ilp_value. - Stampa il
p_valuee traccia entrambe le statistiche di test usandoplot_test_statistic_effect().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Compute the test stat distribution and effect size for two population groups
test_statistic_unshuffled = compute_test_statistic(____, ____)
effect_size = np.mean(____)
# Randomize the two populations, and recompute the test stat distribution
shuffled_half1, ____ = shuffle_and_split(group_duration_short, ____)
test_statistic_shuffled = compute_test_statistic(shuffled_half1, ____)
# Compute the p-value as the proportion of shuffled test stat values >= the effect size
condition = ____ >= ____
p_value = len(test_statistic_shuffled[____]) / len(test_statistic_shuffled)
# Print p-value and overplot the shuffled and unshuffled test statistic distributions
print("The p-value is = {}".format(____))
fig = plot_test_stats_and_pvalue(test_statistic_unshuffled, test_statistic_shuffled)