Как работает бустрап


Бутстрап (bootstrap) — это мощная и универсальная статистическая техника, основанная на ресемплинге (повторной выборке) с возвращением. Основная идея бутстрапа заключается в оценке свойств статистики (например, среднего, медианы, дисперсии, доверительного интервала, коэффициентов регрессии) не через теоретические распределения, а с помощью многократного моделирования и случайного подвыборочного анализа.

Бутстрап позволяет работать даже в ситуациях, когда:

  • размер выборки мал;

  • распределение неизвестно или не нормальное;

  • невозможно аналитически вывести формулу доверительного интервала.

🔹 Основная идея бутстрапа

Пусть у нас есть выборка X = {x₁, x₂, ..., xₙ} объема n.

Бутстрап работает следующим образом:

  1. Повторно и случайно извлекаем из X n наблюдений с возвращением, образуя новую выборку X* (один бутстрап-реплицат).

  2. Вычисляем нужную статистику (например, среднее, медиану, корреляцию) по выборке X*.

  3. Повторяем шаги 1–2 много раз (обычно 1 000 – 10 000).

  4. Получаем распределение этой статистики по всем X*, из которого можно:

    • Оценить среднее, дисперсию, смещение;

    • Построить доверительные интервалы;

    • Построить плотность, асимметрию, хвосты и т.д.

Каждый бутстрап-реплицат имеет тот же размер, что и исходная выборка, но наблюдения могут повторяться.

🔹 Пример

Исходная выборка: X = [2, 4, 5, 8, 10].

Бутстрап-репликация с возвращением может выглядеть так:

  • X₁* = [4, 4, 8, 10, 2]

  • X₂* = [5, 5, 2, 8, 8]

  • X₃* = [10, 4, 4, 2, 2]

  • ...

С каждой создаётся выборочное среднее. Повторив это 1000 раз, можно построить эмпирическое распределение среднего и оценить, например, его доверительный интервал.

🔹 Формальные шаги

Пусть θ — интересующая нас статистика, например, среднее μ, медиана, дисперсия, коэффициент корреляции, коэффициенты модели и т.д.

  1. Получить выборку X = {x₁, ..., xₙ}.

  2. Сгенерировать B бутстрап-реплик:
    Для каждой b ∈ {1, ..., B}:

    • Сгенерировать X_b* — бутстрап-выборку;

    • Вычислить θ_b* = θ(X_b*).

  3. Получить бутстрап-распределение θ_b* и использовать его:

    • Для оценки среднего и стандартной ошибки (SE):
      SEbootstrap=1B−1∑b=1B(θb∗−θ∗‾)2SE_{bootstrap} = \sqrt{ \frac{1}{B-1} \sum_{b=1}^B (\theta_b^* - \overline{\theta^*})^2 }
    • Для построения доверительных интервалов.

🔹 Виды бутстрапа

1. Обычный (nonparametric bootstrap)

Бутстрап из самой исходной выборки. Распространён по умолчанию.

2. Параметрический бутстрап

Используется, если предполагается известное распределение (например, нормальное). Извлечение происходит не из данных, а из предполагаемого распределения с параметрами, оцененными на X.

3. Stratified bootstrap

Если выборка имеет группы (например, классы), то ресемплирование выполняется внутри каждой группы, чтобы сохранить структуру.

4. Blocked bootstrap / Moving block bootstrap

Используется в задачах с зависимостями (например, временные ряды). Вместо отдельных точек бутстрапирует блоки данных, чтобы сохранить автокорреляцию.

5. Wild bootstrap

Используется при гетероскедастичности (в регрессии) — вариации создаются не через ресемплирование наблюдений, а через рандомизацию остатков.

🔹 Доверительные интервалы

После получения B бутстрап-реплик можно построить доверительный интервал несколькими способами:

1. Percentile bootstrap (перцентильный)

Берутся квантили из распределения θ*:

CI95%=\[2.5-й перцентиль, 97.5-й перцентиль\]CI_{95\\%} = \\left\[ \\text{2.5-й перцентиль},\\ \\text{97.5-й перцентиль} \\right\]

2. Basic bootstrap

CI=\[2θ^θ97.5%, 2θ^θ2.5%\]CI = \[2\\hat{\\theta} - \\theta_{97.5\\%}^\*,\\ 2\\hat{\\theta} - \\theta_{2.5\\%}^\*\]

3. BCa (bias-corrected and accelerated)

Корректирует перцентильный интервал на смещение и сжатие распределения. Один из самых точных подходов, особенно на малых выборках.

🔹 Применение бутстрапа

  1. Оценка доверительных интервалов, когда:

    • Распределение неизвестно;

    • Теоретические формулы ненадёжны;

    • Выборка мала или не нормальная.

  2. Оценка устойчивости моделей:

    • В ML можно бутстрапировать обучающую выборку, чтобы построить распределение коэффициентов логистической регрессии или важности признаков.
  3. Ensemble методы (bagging, Random Forest):

    • В основе bagging — бутстрап: каждый базовый классификатор обучается на своей бутстрап-выборке.
  4. Feature selection:

    • Оцениваем, какие признаки стабильно оказываются важными в повторных бутстрап-репликах.
  5. Оценка ошибок предсказаний, особенно когда метрика нестабильна (например, AUC при редких классах).

  6. Гипотезы и p-values:

    • Вместо традиционного t-теста можно сгенерировать распределение разницы между группами через бутстрап и посмотреть, сколько случаев превышают наблюдаемое значение.

🔹 Преимущества бутстрапа

  • Не требует предположений о распределении;

  • Простой в реализации;

  • Работает даже при сложных метриках, для которых нет формул;

  • Хорош для небольших выборок.

🔹 Недостатки

  • Затратен по времени при большом количестве наблюдений и итераций;

  • Может не отражать реальной дисперсии, если выборка сильно искажена или имеет выбросы;

  • При зависимости между наблюдениями (например, временные ряды) — обычный бутстрап не применим.

🔹 Отличие от бутстрэппинга в машинном обучении

В ML термин "bootstrap" часто используется в контексте:

  • bagging — бутстрап + усреднение предсказаний;

  • Random Forest — деревья обучаются на бутстрап-выборках;

  • оценка out-of-bag (OOB) ошибки — ошибка предсказания на объектах, не попавших в бутстрап-выборку.

Таким образом, бутстрап — это не только инструмент статистики, но и ключевой элемент ансамблевых методов.