Porovnání výběrových a bootstrap rozdělení

Vzorkování v Pythonu

James Chapman

Curriculum Manager, DataCamp

Výběrová podmnožina dat o kávě

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]
Vzorkování v Pythonu

Bootstrap průměrné chuti kávy

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
Vzorkování v Pythonu

Bootstrap rozdělení průměrné chuti

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

Histogram bootstrap rozdělení.

Vzorkování v Pythonu

Průměry: výběr, bootstrap rozdělení, populace

Výběrový průměr:

coffee_sample['flavor'].mean()
7.5132200000000005

Odhadovaný průměr populace:

np.mean(bootstrap_distn)
7.513357731999999

Skutečný průměr populace:

coffee_ratings['flavor'].mean()
7.526046337817639
Vzorkování v Pythonu

Interpretace průměrů

Průměr bootstrap rozdělení:

  • Obvykle blízký průměru výběru
  • Nemusí být dobrým odhadem průměru populace

  Bootstrapping nedokáže opravit zkreslení způsobená výběrem

Vzorkování v Pythonu

Výběrová vs. bootstrap směrodatná odchylka

Výběrová směrodatná odchylka:

coffee_sample['flavor'].std()
0.3540883911928703

Odhadovaná směrodatná odchylka populace?

np.std(bootstrap_distn, ddof=1)
0.015768474367958217
Vzorkování v Pythonu

Směrodatné odchylky: výběr, bootstrap rozdělení, populace

Výběrová směrodatná odchylka:

coffee_sample['flavor'].std()
0.3540883911928703

Odhadovaná směrodatná odchylka populace:

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

Standardní chyba je směrodatná odchylka sledované statistiky

Skutečná směrodatná odchylka:

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

Standardní chyba násobená odmocninou velikosti výběru odhaduje směrodatnou odchylku populace

Vzorkování v Pythonu

Interpretace standardních chyb

  • Odhadovaná standardní chyba → směrodatná odchylka bootstrap rozdělení výběrové statistiky
  • $\text{Směr. odch. populace} \approx \text{Std. chyba} \times \sqrt{\text{Velikost výběru}}$
Vzorkování v Pythonu

Pojďme si procvičit!

Vzorkování v Pythonu

Preparing Video For Download...