부트스트랩 (Bootstrap)

통계량이나 모델 파라미터(모수)의 표본분포를 추정하는 쉽고 효과적인 방법은, 현재 있는 표본에서 추가적으로 표본을 복원추출하고 각 표본에 대한 통계량과 모델을 다시 계산하는 것이다. 이러한 절차를 부트스트랩이라 하며, 데이터나 표본 통계량이 정규분포를 따라야 한다는 가정은 꼭 필요하지 않다.

개념적으로 부트스트랩은 원래 표본을 수천, 수백만번 복제하는 것이라고 생각할 수 있따. 그리고 이를 통해 원래 표본으로부터 얻어지는 모든 정보를 포함하는 가상의 모집단을 얻게 된다. 그런 다음 이 가상 모집단으로부터 표본분포를 추정할 목적으로 표본을 수집할 수 있다.

boot
Figure adapted from Banjanovic et al. 2016

부트스트랩의 반복적인 리샘플링은 개념적으로는 단순하다. 경제학자이자 인구통계학자인 Simon (1969)는 부트스트랩을 포함한 리샘플링 예제의 개요를 발표했다. 하지만 이는 엄청난 계산을 필요로하는 방법이기 때문에, 고성능 컴퓨터가 널리 보급되기 전에는 현실적으로 불가능한 방법이었다. 이 기술은 1970년대 후반과 1980년대 초 Efron의 논문들과 책이 출간되면서 이름을 얻고 알려지기 시작했다.

그렇다고 표본을 실제 엄청난 횟수로 반복 복제한다는 것은 아니다. 대신 각각의 표본을 뽑은 후 각 관측치를 다시 원래 자리에 돌려 놓는다. 즉, 복원추출을 한다. 이런 식의 효과적인 방법으로 뽑을 때마다 각 원소가 뽑힐 확률은 그대로 유지하면서 무한한 크기의 모집단을 만들어 낼 수 있다. 크기 n의 샘플의 평균을 구하는 부트스트랩 재표본추출의 알고리즘은 다음과 같다.

  1. 샘플값을 하나 뽑아서 기록하고 제자리에 놓는다.
  2. n번 반복한다.
  3. 재표본 추출된 값의 평균을 기록한다.
  4. 1~3 단계를 반복한다.
  5. R개의 결과를 사용하여
    1. 그것들의 표준편차 (표본평균의 표준오차)를 계산한다.
    2. 히스토그램 또는 상자그림을 그린다.
    3. 신뢰구간을 찾는다.

R (부트스트랩 반복 횟수)는 임의로 설정한다. 반복 횟수가 많을 수록 표준오차나 신뢰구간에 대한 추정이 더 정확해진다. 이런 절차를 통해 표본통계량 혹은 추정한 모델 파라미터의 부트스트랩 집합을 얻게 되고, 결과적으로 이 집합이 얼마나 변하는지 조사할 수 있다.

기본적으로 부트스트랩은 다음의 문법을 가진다.


bootobject <- boot(data = , statistic = , R = )

mean(mtcars$mpg)
## [1] 20.09062

median(mtcars$mpg)
## [1] 19.2

weighted.mean(mtcars$mpg)
## [1] 20.09062

library(boot)
stat <- function(x, idx) median(x[idx])
boot(mtcars$mpg, R = 1000, statistic = stat)
## ORDINARY NONPARAMETRIC BOOTSTRAP
## 
## 
## Call:
## boot(data = mtcars$mpg, statistic = stat, R = 1000)
## 
## 
## Bootstrap Statistics :
##     original  bias    std. error
## t1*     19.2 0.09575    1.223657

Reference

  • Banjanovic ES, Osborne JW. Confidence Intervals for Effect Sizes: Applying Bootstrap Resampling. Practical Assessment, Research & Evaluation. 2016 Mar 1;21.
  • Bruce P, Bruce A. Practical statistics for data scientists: 50 essential concepts.  O’Reilly Media, Inc. 2017
  • Efron B, Tibshirani RJ. An introduction to the bootstrap. CRC press; 1994 May 15.
  • Efron B. Bootstrap methods: another look at the jackknife. InBreakthroughs in statistics 1992 (pp. 569-593). Springer, New York, NY.
  • Efron B, Tibshirani R. Bootstrap methods for standard errors, confidence intervals, and other measures of statistical accuracy. Statistical science. 1986 Feb 1:54-75.
  • Hall P. A short prehistory of the bootstrap. Statistical Science. 2003 May 1:158-67.