ÎncepețiÎncepe gratuit

Test de ipoteză bootstrap pe numărul de spermatozoizi la albine

Vei testa acum următoarea ipoteză: în medie, albinele mascule tratate cu insecticid neonicotinoid au același număr de spermatozoizi activi pe mililitru de spermă ca albinele mascule netratate. Vei folosi diferența de medii ca statistică de test.

Pentru referință, semnătura apelului funcției draw_bs_reps() pe care ai scris-o în capitolul 2 este draw_bs_reps(data, func, size=1).

Acest exercițiu face parte din cursul

Gândire statistică în Python (Partea 2)

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează media numărului de spermatozoizi activi din control minus cea din treated.
  • Calculează media tuturor numărătorilor de spermatozoizi activi. Pentru aceasta, concatenează mai întâi control și treated, apoi calculează media array-ului concatenat.
  • Generează seturi de date deplasate atât pentru control, cât și pentru treated, astfel încât seturile deplasate să aibă aceeași medie. Acest pas a fost deja realizat pentru tine.
  • Generează 10.000 de replicate bootstrap ale mediei pentru fiecare dintre cele două array-uri deplasate. Folosește funcția draw_bs_reps().
  • Calculează replicatele bootstrap ale diferenței de medii.
  • Codul pentru calcularea și afișarea valorii p a fost deja scris pentru tine. Apasă Trimite răspunsul pentru a vedea rezultatul!

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul