ПочатиПочніть безкоштовно

Функція для парного bootstrap

Як пояснювалося у відео, парний bootstrap передбачає перезразкування пар даних. Кожну вибірку пар ми апроксимуємо прямою, у цьому випадку за допомогою np.polyfit(). Ми повторюємо це багато разів і отримуємо bootstrap-репліки значень параметрів. Щоб мати зручний інструмент для парного bootstrap, ви напишете функцію, що виконує парний bootstrap для набору даних x,y.

Ця вправа є частиною курсу

Статистичне мислення в Python (Частина 2)

Переглянути курс

Інструкції до вправи

  • Визначте функцію з сигнатурою виклику draw_bs_pairs_linreg(x, y, size=1) для виконання парних bootstrap-оцінок параметрів лінійної регресії.
    • Використайте np.arange(), щоб створити масив індексів від 0 до len(x). Саме їх ви перезразковуватимете й застосовуватимете, щоб вибирати значення з масивів x та y.
    • Використайте np.empty(), щоб ініціалізувати масиви реплік для коефіцієнта нахилу та вільного члена розміру size.
    • Напишіть цикл for, щоб:
      • Перезразкувати індекси inds. Зробіть це за допомогою np.random.choice().
      • Створити нові масиви \(x\) та \(y\) — bs_x і bs_y — використовуючи перезразковані індекси bs_inds. Для цього зробіть зріз x та y індексами bs_inds.
      • Застосувати np.polyfit() до нових масивів \(x\) та \(y\) і зберегти обчислені коефіцієнт нахилу та вільний член.
    • Поверніть парні bootstrap-репліки коефіцієнта нахилу та вільного члена.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

def draw_bs_pairs_linreg(x, y, size=1):
    """Perform pairs bootstrap for linear regression."""

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

    # Initialize replicates: bs_slope_reps, bs_intercept_reps
    bs_slope_reps = ____
    bs_intercept_reps = ____

    # Generate replicates
    for i in range(size):
        bs_inds = np.random.choice(____, size=____)
        bs_x, bs_y = x[____], y[____]
        bs_slope_reps[i], bs_intercept_reps[i] = ____

    return bs_slope_reps, bs_intercept_reps
Редагувати та запускати код