Python에서 부트스트래핑을 수행하는 방법(예제 포함)


부트스트래핑은 표본 크기가 작고 기본 분포를 알 수 없는 경우 통계 에 대한 신뢰 구간을 구성하는 데 사용할 수 있는 방법입니다.

부트스트래핑의 기본 프로세스는 다음과 같습니다.

  • 주어진 데이터 세트에서 k개의 반복 샘플을 복원하여 추출합니다.
  • 각 샘플에 대해 관심 있는 통계를 계산합니다.
  • 이는 주어진 통계에 대해 k개의 서로 다른 추정치를 제공하며, 이를 사용하여 통계에 대한 신뢰 구간을 계산할 수 있습니다.

Python에서 부트스트랩하는 가장 쉬운 방법은 SciPy 라이브러리의 부트스트랩 기능을 사용하는 것입니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: Python에서 부트스트래핑 수행

15개의 값을 포함하는 Python에서 데이터 세트를 생성한다고 가정합니다.

 #define array of data values
data = [7, 9, 10, 10, 12, 14, 15, 16, 16, 17, 19, 20, 21, 21, 23]

다음 코드를 사용하여 중앙값에 대한 95% 부트스트랩 신뢰 구간을 계산할 수 있습니다.

 from scipy. stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np. median , confidence_level= 0.95 ,
                         random_state= 1 , method=' percentile ')

#view 95% boostrapped confidence interval
print ( bootstrap_ci.confidence_interval )

ConfidenceInterval(low=10.0, high=20.0)

중앙값에 대한 95% 부트스트랩 신뢰 구간은 [10.0, 20.0] 으로 나타납니다.

Boostrap() 함수가 내부적으로 실제로 수행한 작업은 다음과 같습니다.

  • bootstrap() 함수는 교체를 통해 9,999개의 샘플을 생성했습니다. (기본값은 9999이지만 n_resamples 인수를 사용하여 이 숫자를 변경할 수 있습니다)
  • 각 부트스트랩 샘플에 대해 중앙값이 계산되었습니다.
  • 각 표본의 중앙값은 가장 작은 것부터 큰 것 순으로 정렬되었으며, 2.5% 백분위수와 97.5% 백분위수의 중앙값을 사용하여 95% 신뢰구간의 하한과 상한을 구성하였다. %.

거의 모든 통계에 대해 부트스트랩 신뢰 구간을 계산할 수 있습니다.

예를 들어 bootstrap() 함수에서 np.median을 np.std 로 대체하여 표준 편차에 대한 95% 신뢰 구간을 계산할 수 있습니다.

 from scipy. stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np. std , confidence_level= 0.95 ,
                         random_state= 1 , method=' percentile ')

#view 95% boostrapped confidence interval
print ( bootstrap_ci.confidence_interval )

ConfidenceInterval(low=3.3199732261303283, high=5.66478399066117)

표준편차에 대한 95% 부트스트랩 신뢰구간은 [3.32, 5.67] 로 나타납니다.

참고 : 이 예에서는 95% 신뢰 구간을 생성하도록 선택했지만 trust_level 인수 값을 변경하여 다른 크기의 신뢰 구간을 생성할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 다른 통계 소프트웨어에서 부트스트랩하는 방법을 설명합니다.

R에서 부트스트랩하는 방법
Excel에서 부트스트랩하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다