Порівняння вибіркових і бутстреп-розподілів

Sampling у 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]
Sampling у 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
Sampling у Python

Бутстреп-розподіл середнього смаку

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

Гістограма бутстреп-розподілу.

Sampling у Python

Вибірка, бутстреп-розподіл, середні по сукупності

Вибіркове середнє:

coffee_sample['flavor'].mean()
7.5132200000000005

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

np.mean(bootstrap_distn)
7.513357731999999

Справжнє середнє генеральної сукупності:

coffee_ratings['flavor'].mean()
7.526046337817639
Sampling у Python

Тлумачення середніх

Середнє бутстреп-розподілу:

  • Зазвичай близьке до вибіркового середнього
  • Може бути поганою оцінкою середнього по сукупності

  Бутстреп не усуває зсув, спричинений вибіркою

Sampling у Python

Вибіркове SD vs. SD бутстреп-розподілу

Вибіркове стандартне відхилення:

coffee_sample['flavor'].std()
0.3540883911928703

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

np.std(bootstrap_distn, ddof=1)
0.015768474367958217
Sampling у 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

Стандартна похибка, помножена на корінь з обсягу вибірки, оцінює стандартне відхилення по сукупності

Sampling у Python

Тлумачення стандартних похибок

  • Оцінена стандартна похибка → стандартне відхилення бутстреп-розподілу для вибіркової статистики
  • $\text{Population std. dev} \approx \text{Std. Error} \times \sqrt{\text{Sample size}}$
Sampling у Python

Давайте потренуємось!

Sampling у Python

Preparing Video For Download...