🤔 Что такое bootstrap?



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



🚩Почему нужен bootstrap?



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



🚩Как используется bootstrap?



🟠Исходная выборка: Допустим, у вас есть исходная выборка данных объема \( n \).

🟠Повторные выборки: Вы многократно (например, 1000 или 10,000 раз) выбираете случайные подвыборки с возвращением из исходной выборки. Это означает, что каждый элемент может быть выбран несколько раз, а некоторые элементы могут не попасть в конкретную подвыборку.

🟠Вычисление статистики: Для каждой из повторных подвыборок вы вычисляете интересующую вас статистику (например, среднее, медиану).

🟠Оценка распределения: Получив множество значений статистики, вы можете построить эмпирическое распределение этой статистики, оценить доверительные интервалы, среднее значение и другие характеристики.



import numpy as np



# Исходные данные

data = np.array([2.3, 5.1, 7.4, 2.9, 6.5, 4.8, 3.1, 5.7, 8.2, 3.4])



# Параметры bootstrap

n_iterations = 1000

n_size = len(data)



# Массив для хранения значений средней из каждой подвыборки

means = []



# Процесс bootstrap

for _ in range(n_iterations):

sample = np.random.choice(data, size=n_size, replace=True)

sample_mean = np.mean(sample)

means.append(sample_mean)



# Вычисление доверительного интервала (например, 95%)

lower_bound = np.percentile(means, 2.5)

upper_bound = np.percentile(means, 97.5)



print(f"Среднее значение: {np.mean(means)}")

print(f"95% доверительный интервал: [{lower_bound}, {upper_bound}]")




Ставь 👍 и забирай 📚 Базу знаний