IniziaInizia gratis

Test d'ipotesi: i becchi sono più profondi nel 2012?

Il tuo grafico ECDF e l'intervallo di confidenza fanno capire piuttosto chiaramente che i becchi di G. scandens su Daphne Major sono diventati più profondi. Ma è possibile che questo effetto sia dovuto solo al caso? In altre parole, qual è la probabilità di ottenere la differenza osservata nella media della profondità del becco se le medie fossero uguali?

Attenzione! L'ipotesi che stiamo testando non è che le profondità dei becchi provengano dalla stessa distribuzione. Per quello potremmo usare un test di permutazione. L'ipotesi è che le medie siano uguali. Per eseguire questo test d'ipotesi, dobbiamo traslare i due insiemi di dati in modo che abbiano la stessa media e poi usare il bootstrap per calcolare la differenza delle medie.

Questo esercizio fa parte del corso

Pensiero statistico in Python (Parte 2)

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un array concatenato con le profondità del becco del 1975 e del 2012 e calcolane e memorizzane la media.
  • Trasla bd_1975 e bd_2012 in modo che le loro medie siano uguali a quella che hai appena calcolato per l'insieme di dati combinato.
  • Esegui 10.000 bootstrap replicates della media sia per le profondità del becco del 1975 sia per quelle del 2012.
  • Sottrai i replicates del 1975 da quelli del 2012 per ottenere i bootstrap replicates della differenza.
  • Calcola e stampa il p-value. La differenza osservata tra le medie che hai calcolato nell'ultimo esercizio è ancora nel tuo namespace come mean_diff.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Compute mean of combined data set: combined_mean
combined_mean = ____(____((bd_1975, bd_2012)))

# Shift the samples
bd_1975_shifted = ____
bd_2012_shifted = ____

# Get bootstrap replicates of shifted data sets
bs_replicates_1975 = ____
bs_replicates_2012 = ____

# Compute replicates of difference of means: bs_diff_replicates
bs_diff_replicates = ____

# Compute the p-value
p = np.sum(____ >= ____) / len(____)

# Print p-value
print('p =', p)
Modifica ed esegui il codice