Bootstrap'a giriş

R'de Örnekleme

Richie Cotton

Data Evangelist at DataCamp

Yerine koyarak ya da koymadan

Yerine koymadan örnekleme

Bir kumarhane masasında oyun kartları.

Yerine koyarak örnekleme ("yeniden örnekleme")

Yuvarlanan dört zar.

R'de Örnekleme

Yerine koymadan basit rastgele örnekleme

Anakütle

Satır ve sütunlarda dizilmiş kahve çekirdekleri.

Örnek

Satır ve sütunlarda dizilmiş kahve çekirdekleri; çoğu gri renkte.

R'de Örnekleme

Yerine koyarak basit rastgele örnekleme

Anakütle

Satır ve sütunlarda dizilmiş kahve çekirdekleri.

Örnek

Bazıları yinelenen rastgele kahve çekirdekleri örneği.

R'de Örnekleme

Neden yerine koyarak örnekleme?

  • coffee_ratings verilerini, tüm kahvelerden oluşan daha büyük bir anakütlenin örneklemi olarak düşünün.
  • Örneğimizdeki her kahveyi, örneğimizde olmayan ama anakütlede bulunan birçok farklı kahveyi temsil ediyor gibi düşünün.
  • Yerine koyarak örnekleme, bu grupların farklı üyelerini örneğe dahil etmenin bir vekilidir.
R'de Örnekleme

Kahve verilerini hazırlama

coffee_focus <- coffee_ratings %>%
  select(variety, country_of_origin, flavor) %>%
  rowid_to_column()
glimpse(coffee_focus)
Rows: 1,338
Columns: 4
$ rowid             <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ...
$ variety           <chr> NA, "Other", "Bourbon", NA, "Other", NA, "Other", N...
$ country_of_origin <chr> "Ethiopia", "Ethiopia", "Guatemala", "Ethiopia", "E...
$ flavor            <dbl> 8.83, 8.67, 8.50, 8.58, 8.50, 8.42, 8.50, 8.33, 8.6...
R'de Örnekleme

slice_sample() ile yeniden örnekleme

coffee_resamp <- coffee_focus %>%
  slice_sample(prop = 1, replace = TRUE)
# A tibble: 1,338 x 4
   rowid variety country_of_origin flavor
   <int> <chr>   <chr>              <dbl>
 1  1253 Bourbon Guatemala           6.92
 2   186 Caturra Colombia            7.58
 3  1185 Bourbon Guatemala           7.42
 4  1273 NA      Philippines         6.5 
 5  1042 Caturra Honduras            7.33
 6   195 Caturra Guatemala           7.75
 7  1219 Typica  Mexico              7   
 8   952 Caturra Honduras            7.5 
 9    41 Caturra Thailand            8.33
10   460 Caturra Honduras            7.67
# ... with 1,328 more rows
R'de Örnekleme

Tekrarlanan kahveler

coffee_resamp %>% 
  count(rowid, sort = TRUE)
# A tibble: 844 x 2
   rowid     n
   <int> <int>
 1   704     5
 2   913     5
 3  1070     5
 4    16     4
 5   180     4
 6   230     4
 7   234     4
 8   342     4
 9   354     4
10   423     4
# ... with 834 more rows
R'de Örnekleme

Eksik kahveler

coffee_resamp %>% 
  summarize(
    coffees_included = n_distinct(rowid),
    coffees_not_included = n() - coffees_included
  )
# A tibble: 1 x 2
  coffees_included coffees_not_included
             <int>                <int>
1              844                  494
R'de Örnekleme

Bootstrap

Anakütleden örnekleme işleminin tersi.

Örnekleme: anakütleden daha küçük bir örneğe gitmek.

Bootstrap: örnekten kuramsal bir anakütle oluşturmak.

Bootstrap kullanım alanı

  • Tek bir örnekle örnekleme değişkenliğini anlamak.

Bir kovboy çizmesi.

R'de Örnekleme

Bootstrap süreci

  1. Özgün örnekle aynı boyutta bir yeniden örnek oluşturun.
  2. Bu bootstrap örneği için ilgilenilen istatistiği hesaplayın.
  3. 1 ve 2. adımları birçok kez tekrarlayın.

Ortaya çıkan istatistiklere "bootstrap istatistikleri" denir; değişkenliklerini görmek için incelendiğinde bu bir "bootstrap dağılımı"dır.

R'de Örnekleme

Kahve ortalama lezzeti için bootstrap

# Adım 3. Birçok kez tekrarla
mean_flavors_1000 <- replicate(
  n = 1000,
  expr = {
    coffee_focus %>%
      # Adım 1. Yeniden örnekle
      slice_sample(prop = 1, replace = TRUE) %>%
      # Adım 2. İstatistiği hesapla
      summarize(mean_flavor = mean(flavor, na.rm = TRUE)) %>% 
      pull(mean_flavor)
  })
R'de Örnekleme

Bootstrap dağılımı histogramı

bootstrap_distn <- tibble(
  resample_mean = mean_flavors_1000
)
ggplot(bootstrap_distn, aes(resample_mean)) +
  geom_histogram(binwidth = 0.0025)

Örnek ortalamanın bootstrap dağılımının histogramı.

R'de Örnekleme

Haydi pratik yapalım!

R'de Örnekleme

Preparing Video For Download...