CommencerCommencer gratuitement

Corrélation entre les données des descendants et des parents

Afin de quantifier la corrélation entre la profondeur du bec des descendants et celle des parents, nous souhaitons calculer des statistiques, comme le coefficient de corrélation de Pearson, entre parents et descendants. Pour obtenir des intervalles de confiance, nous devons utiliser un bootstrap par paires.

Vous avez déjà écrit une fonction de bootstrap par paires pour estimer des paramètres issus d’une régression linéaire. Votre tâche dans cet exercice est d’écrire une nouvelle fonction avec la signature d’appel draw_bs_pairs(x, y, func, size=1) qui effectue un bootstrap par paires et calcule une statistique unique sur des échantillons par paires définis. La statistique d’intérêt est calculée en appelant func(bs_x, bs_y). Dans le prochain exercice, vous utiliserez pearson_r pour func.

Cet exercice fait partie du cours

Réflexion statistique en Python (Partie 2)

Afficher le cours

Instructions

  • Préparez un tableau d’indices à échantillonner. (Rappelez-vous que pour le bootstrap par paires, on choisit aléatoirement des indices que l’on utilise pour former les paires.)
  • Initialisez le tableau des répliques bootstrap. Il doit s’agir d’un tableau unidimensionnel de longueur size.
  • Écrivez une boucle for pour tirer les échantillons.
  • Choisissez aléatoirement des indices à partir du tableau d’indices que vous avez préparé.
  • Extrayez les valeurs x et y des tableaux d’entrée en utilisant les indices que vous venez de choisir afin de générer un échantillon bootstrap.
  • Utilisez func pour calculer la statistique d’intérêt à partir des échantillons bootstrap de x et y, puis stockez-la dans votre tableau de répliques bootstrap.
  • Renvoyez le tableau des répliques bootstrap.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

def draw_bs_pairs(x, y, func, size=1):
    """Perform pairs bootstrap for a single statistic."""

    # Set up array of indices to sample from: inds
    inds = ____

    # Initialize replicates: bs_replicates
    bs_replicates = ____

    # Generate replicates
    for i in range(size):
        bs_inds = ____
        bs_x, bs_y = ____
        bs_replicates[i] = ____

    return bs_replicates
Modifier et exécuter le code