부트스트래핑

Python에서 배우는 추론 통계 기초

Paul Savala

Assistant Professor of Mathematics

부트스트래핑

  • 부트스트래핑 = 복원추출 샘플링
    1. 무작위로 표본 선택
    2. 기록
    3. 데이터에 되돌려놓기(복원)
    4. 반복
  • 부트스트랩 표본 = 부트스트래핑으로 생성된 표본
Python에서 배우는 추론 통계 기초

비모수 신뢰구간

  • stats.norm.interval의 비모수적 대응
    • 복원추출로 샘플링
    • 검정 통계량 계산
    • 기록
    • 반복
  • 경험적 분포 생성
Python에서 배우는 추론 통계 기초
salaries_df['Years of Employment']
[6, 11, 14, 3, 2, ...]
sample_1 = salaries_df['Years of Employment'].sample(n=10)

print(max(sample_1) - min(sample_1))
7
  • 이 과정을 여러 번 반복합니다
  • 결과의 중앙 95% = 95% 부트스트랩 신뢰구간
Python에서 배우는 추론 통계 기초
# Statistic function
def max_min(x):
    return max(x) - min(x)

# Data as a tuple data = (salaries_df['Years of Employment'], )
bootstrap_ci = stats.bootstrap(data, max_min, vectorized=False, n_resamples=1000)
print(bootstrap_ci)
BootstrapResult(confidence_interval=ConfidenceInterval(low=33.0, high=38.0),
standard_error=1.3843971812870597)
Python에서 배우는 추론 통계 기초

정규 신뢰구간

 

  • 데이터가 정규분포여야 함
  • 평균과 표준오차만으로 계산
  • 추론은 정규 데이터에만 유효
  • 계산이 매우 빠름

부트스트랩 신뢰구간

 

  • 어떤 분포도 허용
  • 재표집으로 데이터에서 직접 계산
  • 추론은 어떤 데이터에도 유효
  • 계산이 훨씬 느림
Python에서 배우는 추론 통계 기초

부트스트래핑 사용 사례

  • 정규분포가 아닌 데이터에서
    • 순위 데이터
    • 왜도 있는 데이터
  • 정규 CI가 의심스러운 값을 줄 때
  • 원하는 통계량에 적용 가능
Python에서 배우는 추론 통계 기초

Passons à la pratique !

Python에서 배우는 추론 통계 기초

Preparing Video For Download...