← 문제 목록/Bootstrap Confidence Interval [medium]
문제 해설

Bootstrap Confidence Interval [medium]

통계 · medium

preview

Bootstrap Confidence Interval [medium]

v1 bootstrap 샘플 은 한 번의 resample. 실제 활용은 B 번 반복 해서 통계량의 경험 분포 를 얻는 것. 그 분포로 신뢰구간 (CI) 계산.

Percentile Bootstrap CI

통계량 θ\theta (예: 평균, 중앙값, 상관계수) 에 대해:

  1. 원본 데이터 xx 에서 크기 nn 복원 추출 xx^* 생성.
  2. θ^b=θ(xb)\hat{\theta}^{*b} = \theta(x^{*b}) 계산.
  3. BB 번 반복해 {θ^1,,θ^B}\{\hat{\theta}^{*1}, \ldots, \hat{\theta}^{*B}\} 얻음.
  4. 100α/2100\alpha/2100(1α/2)100(1 - \alpha/2) 백분위수 반환: CI=(θ^α/2,θ^1α/2)\text{CI} = (\hat{\theta}^*_{\alpha/2}, \hat{\theta}^*_{1-\alpha/2})

왜 강력한가

  • 분포 가정 불필요: 평균의 경우 Student t 대신 empirical distribution.
  • 임의의 통계량 에 적용 가능: 중앙값, IQR, 상관계수 등 표준 CI 공식 없는 경우에도.
  • 구현 단순, 통계적 근거 탄탄 (Efron & Tibshirani).

수렴성

BB \to \infty 에 따라 경험 분포 → 진짜 sampling distribution. 보통 B1000B \ge 1000 이면 안정.

과제

함수 bootstrap_ci(data, stat_fn, n_boot, alpha, seed) 를 완성하세요.

  • data: 1D array shape (n,).
  • stat_fn: callable, stat_fn(sample) -> scalar.
  • n_boot: 리샘플 횟수.
  • alpha: 유의수준 (0.05 → 95% CI).
  • 반환: (low, high) — Python float.
  • 하나의 rng = np.random.default_rng(seed) 로 모든 리샘플.

테스트 케이스

#이름검증
1반환 (float, float)
2CI 포함: low ≤ stat(data) ≤ high
3재현성
4정규 분포 평균 CI ≈ 이론 t-기반 CI
5alpha=1.0 → CI 포인트 (점추정)
6임의 통계량 (median) 도 동작
7큰 B 에서 안정 (두 번 호출해 거의 같음)
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.