Что такое бутстрап (Bootstrap) в статистике?

«Что такое бутстрап (Bootstrap) в статистике?» — вопрос из категории Статистика и теория вероятностей, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основные шаги метода:

  1. Имеется исходная выборка размера n.
  2. Генерируется B бутстрап-выборок (обычно B = 1000-10000). Каждая бутстрап-выборка формируется путём случайного отбора n наблюдений из исходной выборки с возвращением (т.е. одно наблюдение может попасть в выборку несколько раз).
  3. Для каждой бутстрап-выборки вычисляется интересующая статистика ( theta^* ) (например, выборочное среднее).
  4. Распределение этих B значений ( theta^* ) используется как аппроксимация выборочного распределения исходной статистики.

Пример на Python: построение 95% доверительного интервала для медианы.

import numpy as np

# Исходные данные (например, время отклика сервиса в мс)
data = np.array([120, 135, 98, 155, 210, 103, 178, 145])
n = len(data)
B = 10000

bootstrap_medians = []
for _ in range(B):
    # Генерация бутстрап-выборки с возвращением
    bootstrap_sample = np.random.choice(data, size=n, replace=True)
    # Вычисление статистики для этой выборки
    bootstrap_medians.append(np.median(bootstrap_sample))

# Построение перцентильного доверительного интервала
ci_lower = np.percentile(bootstrap_medians, 2.5)
ci_upper = np.percentile(bootstrap_medians, 97.5)
print(f"Бутстрап 95% ДИ для медианы: ({ci_lower:.2f}, {ci_upper:.2f})")

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

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

Ограничения: Может давать смещённые оценки для статистик, сильно зависящих от "хвостов" распределения, или данных со сложной структурой (например, временные ряды).