Кореляція між нащадками та батьками
Щоб кількісно оцінити кореляцію між глибиною дзьоба у нащадків і батьків, ми хочемо обчислити статистики, зокрема коефіцієнт кореляції Пірсона, між батьками та нащадками. Щоб отримати довірчі інтервали, нам потрібно виконати парний бутстреп (pairs bootstrap).
Ви вже написали функцію для парного бутстрепу, щоб отримувати оцінки параметрів, виведених із лінійної регресії. Ваше завдання у цій вправі — створити нову функцію з сигнатурою виклику draw_bs_pairs(x, y, func, size=1), яка виконує парний бутстреп і обчислює єдину статистику на визначених парних вибірках. Потрібну статистику слід обчислювати викликом func(bs_x, bs_y). У наступній вправі ви використаєте pearson_r як func.
Ця вправа є частиною курсу
Статистичне мислення в Python (Частина 2)
Інструкції до вправи
- Підготуйте масив індексів для вибірки. (Пам'ятайте: у парному бутстрепі ми випадково обираємо індекси й використовуємо їх, щоб сформувати пари.)
- Ініціалізуйте масив бутстреп-реплік. Це має бути одновимірний масив довжини
size. - Напишіть цикл
forдля генерування вибірок. - Випадково виберіть індекси з раніше підготовленого масиву індексів.
- За щойно вибраними індексами отримайте значення
xіyз вхідних масивів, щоб згенерувати бутстреп-вибірку. - Використайте
func, щоб обчислити потрібну статистику з бутстреп-вибірокxтаy, і збережіть її у вашому масиві бутстреп-реплік. - Поверніть масив бутстреп-реплік.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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