Misurare l’ereditarietà
Ricorda che il coefficiente di correlazione di Pearson è il rapporto tra la covarianza e la media geometrica delle varianze dei due insiemi di dati. Questa è una misura della correlazione tra genitori e figli, ma potrebbe non essere la stima migliore dell’ereditarietà. Se ci pensiamo, ha più senso definire l’ereditarietà come il rapporto tra la covarianza tra genitori e figli e la varianza dei soli genitori. In questo esercizio stimerai l’ereditarietà ed eseguirai un bootstrap a coppie per ottenere l’intervallo di confidenza al 95%.
Questo esercizio mette in evidenza un punto molto importante. L’inferenza statistica (e l’analisi dei dati in generale) non è un’attività meccanica. Devi riflettere con attenzione sulle domande a cui vuoi rispondere con i tuoi dati e analizzarle in modo adeguato. Se ti interessa quanto siano ereditabili i tratti, la quantità che abbiamo definito come ereditarietà è più adatta dello statistico “preconfezionato”, il coefficiente di correlazione di Pearson.
Ricorda che i dati sono memorizzati in bd_parent_scandens, bd_offspring_scandens, bd_parent_fortis e bd_offspring_fortis.
Questo esercizio fa parte del corso
Pensiero statistico in Python (Parte 2)
Istruzioni dell'esercizio
- Scrivi una funzione
heritability(parents, offspring)che calcoli l’ereditarietà, definita come il rapporto tra la covarianza del tratto in genitori e figli e la varianza del tratto nei genitori. Suggerimento: ripassa la funzionenp.cov()che abbiamo visto nel prequel di questo corso. - Usa questa funzione per calcolare l’ereditarietà per G. scandens e G. fortis.
- Ottieni 1000 repliche bootstrap dell’ereditarietà usando il pairs bootstrap per G. scandens e G. fortis.
- Calcola l’intervallo di confidenza al 95% per entrambe usando le tue repliche bootstrap.
- Stampa i risultati.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
def heritability(parents, offspring):
"""Compute the heritability from parent and offspring samples."""
covariance_matrix = np.cov(parents, offspring)
return ____ / ____
# Compute the heritability
heritability_scandens = ____
heritability_fortis = ____
# Acquire 1000 bootstrap replicates of heritability
replicates_scandens = draw_bs_pairs(
____, ____, ____, size=____)
replicates_fortis = draw_bs_pairs(
____, ____, ____, size=____)
# Compute 95% confidence intervals
conf_int_scandens = ____
conf_int_fortis = ____
# Print results
print('G. scandens:', heritability_scandens, conf_int_scandens)
print('G. fortis:', heritability_fortis, conf_int_fortis)