표본 분포와 부트스트랩 분포 비교

R에서의 표본추출

Richie Cotton

Data Evangelist at DataCamp

커피 집중 하위집합

set.seed(19790801)
coffee_sample <- coffee_ratings %>%
  select(variety, country_of_origin, flavor) %>%
  rowid_to_column() %>% 
  slice_sample(n = 500)
glimpse(coffee_sample)
Rows: 500
Columns: 4
$ rowid             <int> 10, 278, 458, 622, 131, 385, 1292, 47, 904, 1020, 5...
$ variety           <chr> "Other", "Bourbon", NA, "Caturra", "Caturra", "Yell...
$ country_of_origin <chr> "Ethiopia", "Guatemala", "Colombia", "Thailand", "C...
$ flavor            <dbl> 8.58, 7.75, 7.75, 7.50, 8.00, 7.83, 7.17, 8.08, 7.3...
R에서의 표본추출

커피 맛 평균의 부트스트랩

mean_flavors_1000 <- replicate(
  n = 1000,
  expr = coffee_sample %>%
    slice_sample(prop = 1, replace = TRUE) %>%
    summarize(mean_flavor = mean(flavor, na.rm = TRUE)) %>%
    pull(mean_flavor)
)
bootstrap_distn <- tibble(
  resample_mean = mean_flavors_1000
)
R에서의 표본추출

맛 평균 부트스트랩 분포

 ggplot(bootstrap_distn, aes(resample_mean)) +
  geom_histogram(binwidth = 0.0025)

부트스트랩 분포의 히스토그램.

R에서의 표본추출

표본, 부트스트랩, 모집단 평균

표본평균

coffee_sample %>% 
  summarize(mean_flavor = mean(flavor)) %>% 
  pull(mean_flavor)
7.5163

모평균 추정

bootstrap_distn %>% 
  summarize(mean_mean_flavor = mean(resample_mean)) %>% 
  pull(mean_mean_flavor)
7.5167

모평균(실제)

coffee_ratings %>% 
  summarize(mean_flavor = mean(flavor)) %>% 
  pull(mean_flavor)
7.5260
R에서의 표본추출

평균 해석

  • 부트스트랩 분포의 평균은 보통 표본평균과 거의 같습니다.
  • 이는 모평균의 좋은 추정값이 아닐 수 있습니다.
  • 표본과 모집단의 차이에서 오는 편향은 부트스트래핑으로 보정할 수 없습니다.
R에서의 표본추출

표본 sd vs 부트스트랩 분포 sd

표본 표준편차

coffee_focus %>% 
  summarize(sd_flavor = sd(flavor)) %>% 
  pull(sd_flavor)
0.3525

모집단 표준편차 추정?

bootstrap_distn %>% 
  summarize(sd_mean_flavor = sd(resample_mean)) %>% 
  pull(sd_mean_flavor)
0.01572
R에서의 표본추출

표본, 부트스트랩, 모집단 표준편차

표본 표준편차

coffee_focus %>% 
  summarize(sd_flavor = sd(flavor)) %>% 
  pull(sd_flavor)
0.3525

모집단 표준편차 추정

standard_error <- bootstrap_distn %>%
  summarize(sd_mean_flavor = sd(resample_mean)) %>% 
  pull(sd_mean_flavor)
standard_error * sqrt(500)
0.3515

모표준편차(실제)

coffee_ratings %>%
  summarize(sd_flavor = sd(flavor)) %>%
  pull(sd_flavor)
0.3414

표준오차는 관심 통계량의 표준편차입니다.

표준오차 × 표본크기 제곱근은 모집단 표준편차를 추정합니다.

R에서의 표본추출

표준오차 해석

  • 추정 표준오차는 표본 통계량에 대한 부트스트랩 분포의 표준편차입니다.
  • 부트스트랩 분포의 표준오차 × 표본크기 제곱근은 모집단의 표준편차를 추정합니다.
R에서의 표본추출

연습해 봅시다!

R에서의 표본추출

Preparing Video For Download...