Test di ipotesi con bootstrap
Il test di permutazione ha un'ipotesi piuttosto restrittiva: che le lunghezze dei bout degli eterozigoti e del tipo selvatico siano distribuite in modo identico. Ora usa un test di ipotesi con bootstrap per verificare l'ipotesi che le medie siano uguali, senza fare assunzioni sulle distribuzioni.
Questo esercizio fa parte del corso
Casi di studio nel pensiero statistico
Istruzioni dell'esercizio
- Crea un array,
bout_lengths_concat, che contenga tutte le lunghezze dei bout sia del tipo selvatico (bout_lengths_wt) sia degli eterozigoti (bout_lengths_het) usandonp.concatenate(). - Calcola la media di tutte le lunghezze dei bout da questo array concatenato (
bout_lengths_concat), salvando il risultato nella variabilemean_bout_length. - Trasla entrambi gli insiemi di dati in modo che abbiano la stessa media, cioè
mean_bout_length. Salva gli array traslati nelle variabiliwt_shiftedehet_shifted. - Usa
dcst.draw_bs_reps()per estrarre 10.000 repliche bootstrap della media per ciascuno degli insiemi di dati traslati. Salva le rispettive repliche inbs_reps_wtebs_reps_het. - Sottrai
bs_reps_wtdabs_reps_hetper ottenere le repliche bootstrap della differenza delle medie. Salva i risultati nella variabilebs_reps. - Calcola il p-value, definendo "almeno altrettanto estremo" come il caso in cui la differenza delle medie sotto l'ipotesi nulla sia maggiore o uguale a quella osservata sperimentalmente. La variabile
diff_means_expdall'esercizio precedente è già nel tuo namespace.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Concatenate arrays: bout_lengths_concat
bout_lengths_concat = ____((____, ____))
# Compute mean of all bout_lengths: mean_bout_length
mean_bout_length = ____
# Generate shifted arrays
wt_shifted = ____ - np.mean(____) + ____
het_shifted = ____ - ____ + ____
# Compute 10,000 bootstrap replicates from shifted arrays
bs_reps_wt = ____
bs_reps_het = ____
# Get replicates of difference of means: bs_replicates
bs_reps = ____ - ____
# Compute and print p-value: p
p = ____(____ >= ____) / len(____)
print('p-value =', p)