신뢰구간
신뢰구간 (Confidence Interval, CI)
- 대표적 구간 추정 방법.
- 계산:
신뢰구간 = 통계량 ± 오차범위
- 오차 범위: 신뢰수준, 표본 크기, 데이터 변산성 등 고려하여 이론적으로 유도하여 사용.
평균의 신뢰구간
- 모든 통계량(중간값, 비율 등)에 신뢰구간 존재.
- 특히 평균의 경우, 이론적으로 신뢰구간 간단히(정규분포/t-분포 이용) 구할 수 있음.
- 예시: 평균의 95% 신뢰구간 계산 (pingouin 패키지 사용)
import pingouin as pg
# df.price 데이터의 평균이 0과 다른지 t-검정 수행 (겸사겸사 신뢰구간 계산)
# 여기서는 모평균이 0이라는 가설 검정 자체보다 신뢰구간 값에 주목
pg.ttest(df.price, 0, confidence=0.95)- 결과 표에서
CI95%
항목 확인 (예:[814.1, 893.22]
) - 해석: df.price의 모평균은 95% 신뢰수준에서 814.1 ~ 893.22 사이에 있을 것으로 추정됨.
- 결과 표에서
부트스트래핑 (Bootstrapping)
- 평균과 달리 중간값, 최빈값 등 다른 통계량은 오차 범위 이론적 유도 어려움.
- 대안: 표본 충분히 크면, 컴퓨터 시뮬레이션(재표집) 통해 신뢰구간 추정 가능 → 이것이 부트스트래핑.
- 예시: 중간값의 95% 신뢰구간 계산 (scipy 활용)
import numpy as np
import scipy as sp # scipy 통계 기능 사용
np.random.seed(1234) # 재현성 있는 결과를 위해 시드 설정
# 부트스트래핑 실행
res = sp.stats.bootstrap(
[df.price], # 데이터
np.median, # 계산할 통계량 (중간값)
n_resamples=10000, # 시뮬레이션(재표집) 횟수
confidence_level=0.95 # 신뢰수준
)
print(res.confidence_interval) # 신뢰구간 결과 출력- 결과 예시:
ConfidenceInterval(low=770.0, high=865.0)
- 해석: 중간값의 95% 신뢰구간은 약 770 ~ 865 추정.
- 특징: 시뮬레이션 기반이므로 실행할 때마다 결과 조금씩 달라질 수 있음.
- 결과 예시: