부트스트랩 신뢰구간 계산기
자료를 붙여넣고 통계량(평균, 중앙값, 표준편차 또는 상관계수)을 고르면 백분위수 및 BCa 부트스트랩 신뢰구간, 부트스트랩 표준오차와 편향, 재표본 통계량의 히스토그램을 얻을 수 있습니다. 난수 시드가 기록되므로 모든 결과가 정확히 반복되며, 계산 방법은 Efron과 Tibshirani의 방식과 R의 boot.ci를 따릅니다. 무료이며 회원가입이 필요 없고, 자료는 브라우저 안에만 머뭅니다.
0 개의 값이 감지됨
같은 자료, 설정, 시드에서는 항상 같은 구간이 나옵니다.
자료를 입력한 다음 “부트스트랩 실행”을 누르세요.
부트스트랩 신뢰구간 계산기 사용 방법
- 1. 통계량을 고르고 자료를 붙여넣으세요. 평균, 중앙값 또는 표준편차라면 숫자 목록 하나를 입력하세요. 상관계수라면 짝을 이룬 x와 y 값을 입력하세요. 최대 2,000개 값까지 지원합니다.
- 2. 신뢰수준과 재표본 수를 정하세요. 기본값인 95%와 5,000회는 무난한 선택입니다. 구간 끝값이 소수점 둘째 자리까지 안정적이기를 원하면 10,000회 이상을 사용하세요.
- 3. 시드를 기록하세요. 시드는 난수 생성기를 시작하는 값입니다. 같은 자료, 설정, 시드에서는 항상 같은 구간이 나오므로 시드를 방법 섹션에 적어 두세요. 새로운 재표본 세트를 얻으려면 “새 난수 시드”를 누르세요.
- 4. “부트스트랩 실행”을 누르세요. 백분위수 구간과 BCa 구간, 부트스트랩 표준오차와 편향을 읽고, 재표본 통계량의 히스토그램을 확인하세요.
부트스트랩의 작동 방식
부트스트랩은 자신의 표본을 모집단의 대리물로 봅니다. 같은 크기의 새 표본을 자료에서 복원 추출로 뽑아 통계량을 계산하고, 이 과정을 수천 번 반복합니다. 재표본 통계량들이 퍼진 정도는 표본마다 통계량이 얼마나 달라질 수 있는지를 보여 줍니다. 표준오차를 구하는 공식이 필요 없으므로, 교과서식 구간을 구하기 어렵거나 없는 중앙값, 상관계수 같은 통계량에도 쓸 수 있습니다. 만능은 아닙니다. 편향되었거나 아주 작은 표본을 고칠 수 없으며, 최댓값처럼 극단값에 좌우되는 통계량에서는 실패합니다.
백분위수, BCa, 기본 및 정규 구간
| 구간 | 구성 방법 | 장점 | 단점 |
|---|---|---|---|
| 백분위수 | 재표본 통계량의 가운데 95% (2.5번째와 97.5번째 백분위수) | 단순하고, 가능한 범위 안에 머뭅니다. 단조 변환에도 그대로 유지됩니다 | 통계량이 편향되었거나 치우쳐 있으면 편향됩니다 |
| BCa | 백분위수와 같지만, 편향(z₀)과 치우침(가속 계수 a)을 보정한 백분위수를 씁니다 | 2차 정확도를 가지며, 권장 기본값입니다 (Efron & Tibshirani, 1993) | 비교적 큰 표본과 충분한 재표본이 필요합니다 |
| 기본 | 2 × 추정값 − 반대쪽 백분위수 | 부트스트랩 분포가 추정값을 얼마나 빗나가는지 반영합니다 | 통계량이 가능한 범위를 벗어날 수 있습니다. 예: 상관계수가 1을 넘음 |
| 정규 | 추정값 − 편향 ± z × 부트스트랩 표준오차 | 읽기 쉽습니다 | 부트스트랩 분포가 종 모양이라고 가정합니다 |
BCa는 두 가지 값을 씁니다. 편향 보정 z₀ = Φ⁻¹(추정값보다 작은 재표본의 비율)은 재표본 통계량이 추정값을 중심으로 고르게 놓여 있으면 0입니다. 가속 계수 a는 표준오차가 모수에 따라 얼마나 빨리 변하는지를 나타내며, 잭나이프, 즉 값을 하나씩 빼고 통계량을 다시 계산하는 방법으로 추정합니다. 실제로 읽는 백분위수는 2.5%와 97.5%가 아니라 Φ(z₀ + (z₀ + z) ÷ (1 − a(z₀ + z)))이며, R의 boot 패키지와 똑같이 정규 척도 위에서 순서통계량 사이를 보간합니다.
실제 예시
“예시 사용해 보기”를 누르면 12개의 값이 입력됩니다: 2.1, 2.4, 2.6, 2.7, 2.9, 3, 3.2, 3.5, 3.9, 4.6, 5.8, 8.2. 오른쪽으로 치우친 표본이며, 통계량은 평균, 신뢰수준 95%, 재표본 5,000회, 시드 12345입니다. 평균은 3.7417이고, 부트스트랩 표준오차는 0.4812, 편향은 −0.0054입니다.
- 백분위수 구간: 2.9333에서 4.7998까지.
- BCa 구간: 3.05에서 5.125까지이며, z₀ = 0.0818, a = 0.0755입니다. 자료의 치우침 때문에 BCa 구간은 위쪽으로 이동하고, 백분위수 구간에 비해 위쪽 끝이 길어집니다.
- 비교를 위해, 고전적인 t 구간은 2.635에서 4.848까지입니다. 이는 평균을 중심으로 대칭이며 치우침을 무시합니다.
생성기에 시드를 두었으므로 이 숫자들은 실행할 때마다 반복됩니다. 같은 자료에 대해 재표본 200,000회로 R의 boot.ci를 실행하면 백분위수 구간은 2.917에서 4.792까지, BCa 구간은 3.033에서 5.1까지 나옵니다. 방법은 같고 난수 추출만 다르므로, 두 결과는 몬테카를로 오차 범위 안에서 일치합니다. 통계량을 중앙값으로 하면 같은 설정에서 중앙값 3.1, 백분위수 구간 2.65에서 4.25까지, BCa 구간 2.6에서 4.05까지가 나옵니다. 이 경우 잭나이프 가속 계수는 0인데, 짝수 개 표본에서 값 하나를 빼면 중앙값이 두 값 중 하나로만 옮겨 가기 때문입니다. 상관계수 예시에서 추정값은 r = 0.9063이고, 백분위수 구간은 0.7371에서 0.9706까지, BCa 구간은 0.6703에서 0.9632까지입니다. 기본 구간의 위쪽 끝이 1을 넘으므로 백분위수 구간이나 BCa 구간을 쓰는 것이 좋습니다.
재표본 수 정하기
Efron과 Tibshirani는 표준오차에는 50~200회를, 신뢰구간에는 최소 1,000회를 권합니다. 구간 끝값은 재표본 분포의 꼬리에서 나오는데, 그곳에는 값이 적기 때문입니다. 끝값의 몬테카를로 오차는 재표본 수의 제곱근에 비례해 줄어들므로, 20,000회는 5,000회일 때 오차의 약 절반으로 줄입니다. 재표본 오차는 표본이 작아서 생기는 오차와는 별개이며, 재표본을 더 해도 후자는 고쳐지지 않습니다.
자주 묻는 질문
- 부트스트랩 신뢰구간이란 무엇인가요?
- 자신의 자료를 복원 추출로 재표본 추출하여 매번 통계량을 다시 계산하고, 그 결과들의 분포에서 구간을 읽어 내는 통계량의 구간입니다. 95% 백분위수 구간이라면 재표본 통계량의 2.5번째와 97.5번째 백분위수를 취합니다.
- 백분위수 구간과 BCa 구간 중 무엇을 써야 하나요?
- BCa가 더 나은 기본값입니다. 재표본 분포의 편향과 치우침을 보정하며, 이론과 실제 모두에서 더 정확합니다. 설명을 가장 단순하게 하고 싶거나, 표본이 아주 작거나, 모든 재표본이 추정값의 한쪽에만 놓여 BCa를 계산할 수 없을 때는 백분위수 구간을 쓰세요.
- 부트스트랩 재표본은 몇 회나 필요한가요?
- 신뢰구간에는 최소 1,000회, 안정적인 BCa 구간에는 5,000~10,000회가 필요합니다. 재표본을 늘리면 구간 끝값의 무작위 흔들림은 줄지만, 작은 표본이 더 많은 정보를 주게 되지는 않습니다.
- 난수 시드는 무엇에 쓰나요?
- 부트스트랩은 난수를 사용하므로 보통 두 번 실행하면 구간이 조금 다르게 나옵니다. 시드는 난수열을 고정해 실행을 정확히 반복할 수 있게 합니다. 다른 사람이 구간을 재현할 수 있도록 시드, 재표본 수, 방법을 함께 보고하세요.
- R, SPSS, Stata와 정확히 같은 결과가 나오나요?
- 방법은 일치합니다. 백분위수와 BCa 구간은 R의 boot.ci를 따르며, 같은 재표본을 쓰면 구간도 똑같습니다. 다만 각 프로그램은 자기만의 난수 생성기를 쓰므로, 구간은 마지막 자릿수가 아니라 몬테카를로 오차 범위 안에서 일치합니다. 수천 회 재표본이면 차이는 보통 소수점 둘째 자리에 나타납니다.
- 언제 부트스트랩을 쓰면 안 되나요?
- 표본이 아주 작을 때(대략 10~15개 값 미만)는 표본이 모집단을 대표하지 못할 수 있습니다. 최솟값이나 최댓값처럼 극단값에 좌우되는 통계량, 시계열처럼 서로 의존하는 자료(블록 부트스트랩을 쓰는 경우는 예외), 그리고 표본이 편향되었을 때도 쓰면 안 됩니다. 재표본 추출은 편향을 그대로 재현하기 때문입니다.