Как работает бустрап
Бутстрап (bootstrap) — это мощная и универсальная статистическая техника, основанная на ресемплинге (повторной выборке) с возвращением. Основная идея бутстрапа заключается в оценке свойств статистики (например, среднего, медианы, дисперсии, доверительного интервала, коэффициентов регрессии) не через теоретические распределения, а с помощью многократного моделирования и случайного подвыборочного анализа.
Бутстрап позволяет работать даже в ситуациях, когда:
-
размер выборки мал;
-
распределение неизвестно или не нормальное;
-
невозможно аналитически вывести формулу доверительного интервала.
🔹 Основная идея бутстрапа
Пусть у нас есть выборка X = {x₁, x₂, ..., xₙ} объема n.
Бутстрап работает следующим образом:
-
Повторно и случайно извлекаем из X n наблюдений с возвращением, образуя новую выборку X* (один бутстрап-реплицат).
-
Вычисляем нужную статистику (например, среднее, медиану, корреляцию) по выборке X*.
-
Повторяем шаги 1–2 много раз (обычно 1 000 – 10 000).
-
Получаем распределение этой статистики по всем 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 раз, можно построить эмпирическое распределение среднего и оценить, например, его доверительный интервал.
🔹 Формальные шаги
Пусть θ — интересующая нас статистика, например, среднее μ, медиана, дисперсия, коэффициент корреляции, коэффициенты модели и т.д.
-
Получить выборку X = {x₁, ..., xₙ}.
-
Сгенерировать B бутстрап-реплик:
Для каждой b ∈ {1, ..., B}:-
Сгенерировать X_b* — бутстрап-выборку;
-
Вычислить θ_b* = θ(X_b*).
-
-
Получить бутстрап-распределение θ_b* и использовать его:
- Для оценки среднего и стандартной ошибки (SE):
SEbootstrap=1B−1∑b=1B(θb∗−θ∗‾)2SE_{bootstrap} = \sqrt{ \frac{1}{B-1} \sum_{b=1}^B (\theta_b^* - \overline{\theta^*})^2 } - Для построения доверительных интервалов.
- Для оценки среднего и стандартной ошибки (SE):
🔹 Виды бутстрапа
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)
Корректирует перцентильный интервал на смещение и сжатие распределения. Один из самых точных подходов, особенно на малых выборках.
🔹 Применение бутстрапа
-
Оценка доверительных интервалов, когда:
-
Распределение неизвестно;
-
Теоретические формулы ненадёжны;
-
Выборка мала или не нормальная.
-
-
Оценка устойчивости моделей:
- В ML можно бутстрапировать обучающую выборку, чтобы построить распределение коэффициентов логистической регрессии или важности признаков.
-
Ensemble методы (bagging, Random Forest):
- В основе bagging — бутстрап: каждый базовый классификатор обучается на своей бутстрап-выборке.
-
Feature selection:
- Оцениваем, какие признаки стабильно оказываются важными в повторных бутстрап-репликах.
-
Оценка ошибок предсказаний, особенно когда метрика нестабильна (например, AUC при редких классах).
-
Гипотезы и p-values:
- Вместо традиционного t-теста можно сгенерировать распределение разницы между группами через бутстрап и посмотреть, сколько случаев превышают наблюдаемое значение.
🔹 Преимущества бутстрапа
-
Не требует предположений о распределении;
-
Простой в реализации;
-
Работает даже при сложных метриках, для которых нет формул;
-
Хорош для небольших выборок.
🔹 Недостатки
-
Затратен по времени при большом количестве наблюдений и итераций;
-
Может не отражать реальной дисперсии, если выборка сильно искажена или имеет выбросы;
-
При зависимости между наблюдениями (например, временные ряды) — обычный бутстрап не применим.
🔹 Отличие от бутстрэппинга в машинном обучении
В ML термин "bootstrap" часто используется в контексте:
-
bagging — бутстрап + усреднение предсказаний;
-
Random Forest — деревья обучаются на бутстрап-выборках;
-
оценка out-of-bag (OOB) ошибки — ошибка предсказания на объектах, не попавших в бутстрап-выборку.
Таким образом, бутстрап — это не только инструмент статистики, но и ключевой элемент ансамблевых методов.