IniziaInizia gratis

Test d'ipotesi bootstrap sui conteggi di spermatozoi delle api

Ora testerai la seguente ipotesi: in media, i maschi di ape trattati con insetticidi neonicotinoidi hanno lo stesso numero di spermatozoi attivi per millilitro di seme rispetto ai maschi non trattati. Userai la differenza delle medie come statistica test.

Per riferimento, la firma di chiamata della funzione draw_bs_reps() che hai scritto nel capitolo 2 è draw_bs_reps(data, func, size=1).

Questo esercizio fa parte del corso

Pensiero statistico in Python (Parte 2)

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola la media del conteggio di spermatozoi vivi di control meno quella di treated.
  • Calcola la media di tutti i conteggi di spermatozoi vivi. Per farlo, concatena prima control e treated e poi calcola la media dell'array concatenato.
  • Genera dataset traslati sia per control sia per treated in modo che abbiano la stessa media. Questo è già stato fatto per te.
  • Genera 10.000 repliche bootstrap della media per ciascuno dei due array traslati. Usa la tua funzione draw_bs_reps().
  • Calcola le repliche bootstrap della differenza delle medie.
  • Il codice per calcolare e stampare il p-value è già stato scritto per te. Premi Invia per vedere il risultato!

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Compute the difference in mean sperm count: diff_means
diff_means = ____

# Compute mean of pooled data: mean_count
mean_count = ____

# Generate shifted data sets
control_shifted = control - np.mean(control) + mean_count
treated_shifted = treated - np.mean(treated) + mean_count

# Generate bootstrap replicates
bs_reps_control = ____(____,
                       np.mean, size=10000)
bs_reps_treated = ____(____,
                       np.mean, size=10000)

# Get replicates of difference of means: bs_replicates
bs_replicates = ____

# Compute and print p-value: p
p = np.sum(bs_replicates >= np.mean(control) - np.mean(treated)) \
            / len(bs_replicates)
print('p-value =', p)
Modifica ed esegui il codice