Сравнение выборочных и бутстрап-распределений

Выборка в Python

James Chapman

Curriculum Manager, DataCamp

Подмножество данных о кофе

coffee_sample = coffee_ratings[["variety", "country_of_origin", "flavor"]]\
    .reset_index().sample(n=500)
     index         variety       country_of_origin  flavor
132    132           Other              Costa Rica    7.58
51      51            None  United States (Hawaii)    8.17
42      42  Yellow Bourbon                  Brazil    7.92
569    569         Bourbon               Guatemala    7.67
..     ...             ...                     ...     ...
643    643          Catuai              Costa Rica    7.42
356    356         Caturra                Colombia    7.58
494    494            None               Indonesia    7.58
169    169            None                  Brazil    7.81

[500 rows x 4 columns]
Выборка в Python

Бутстрап среднего значения вкуса кофе

import numpy as np
mean_flavors_5000 = []
for i in range(5000):
    mean_flavors_5000.append(
        np.mean(coffee_sample.sample(frac=1, replace=True)['flavor'])
    )
bootstrap_distn = mean_flavors_5000
Выборка в Python

Бутстрап-распределение среднего вкуса

import matplotlib.pyplot as plt
plt.hist(bootstrap_distn, bins=15)
plt.show()

Гистограмма бутстрап-распределения.

Выборка в Python

Средние: выборка, бутстрап-распределение, генеральная совокупность

Выборочное среднее:

coffee_sample['flavor'].mean()
7.5132200000000005

Оценка среднего генеральной совокупности:

np.mean(bootstrap_distn)
7.513357731999999

Истинное среднее генеральной совокупности:

coffee_ratings['flavor'].mean()
7.526046337817639
Выборка в Python

Интерпретация средних значений

Среднее бутстрап-распределения:

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

  Бутстрап не устраняет смещения, возникшие при выборке

Выборка в Python

Стандартное отклонение выборки и бутстрап-распределения

Выборочное стандартное отклонение:

coffee_sample['flavor'].std()
0.3540883911928703

Оценка стандартного отклонения генеральной совокупности?

np.std(bootstrap_distn, ddof=1)
0.015768474367958217
Выборка в Python

Стандартные отклонения: выборка, бутстрап-распределение, генеральная совокупность

Выборочное стандартное отклонение:

coffee_sample['flavor'].std()
0.3540883911928703

Оценка стандартного отклонения генеральной совокупности:

standard_error = np.std(bootstrap_distn, ddof=1)

Стандартная ошибка – это стандартное отклонение исследуемой статистики

Истинное стандартное отклонение:

coffee_ratings['flavor'].std(ddof=0)
0.34125481224622645
standard_error * np.sqrt(500)
0.3525938058821761

Стандартная ошибка, умноженная на корень из объёма выборки, даёт оценку стандартного отклонения генеральной совокупности

Выборка в Python

Интерпретация стандартных ошибок

  • Оценка стандартной ошибки → стандартное отклонение бутстрап-распределения для выборочной статистики
  • $\text{Population std. dev} \approx \text{Std. Error} \times \sqrt{\text{Sample size}}$
Выборка в Python

Давайте потренируемся!

Выборка в Python

Preparing Video For Download...