실험을 돌렸는데 차이가 유의하지 않았다면, 그 이유는 두 가지 중 하나다. 정말 차이가 없거나, 차이를 잡아낼 만큼 표본이 크지 않았거나. 이 둘을 구별하는 개념이 검정력이다.
검정력(statistical power)은 실제로 효과가 존재할 때, 검정이 그 효과를 유의하다고 잡아낼 확률이다. 9강에서 다룬 가설 검정의 틀로 보면, 검정에서 저지를 수 있는 오류는 두 종류다.
| 실제로 효과 없음 | 실제로 효과 있음 | |
|---|---|---|
| 검정이 "유의하다" | 1종 오류(Type I error), 확률 | 올바른 검출, 확률 |
| 검정이 "유의하지 않다" | 올바른 판단 | 2종 오류(Type II error), 확률 |
1종 오류는 없는 효과를 있다고 하는 오류이고, 그 상한 는 관례적으로 0.05로 잡는다. 2종 오류는 있는 효과를 놓치는 오류이며, 검정력은 그 여집합 다. "검정력 80%"는 관례적인 최소 기준으로, 진짜 효과가 있어도 다섯 번 중 한 번은 놓친다는 뜻이다.
핵심은 비대칭성이다. 는 검정 절차가 자동으로 통제해 주지만, 는 연구자가 표본 크기를 설계해야만 통제된다. 표본 크기를 생각하지 않고 실험을 돌리면 만 관리되고 는 방치된 검정을 하게 된다.
"유의하지 않음"은 "효과 없음"의 증거가 아니다. 이것이 이 강의 전체에서 가장 자주 틀리는 지점이다.
동전 비유가 정확하다. 앞면이 나올 확률이 55%로 살짝 기울어진 동전을 10번 던져서는, 공정한 동전과 구별할 수 없다. 10번의 결과가 유의하지 않았다고 해서 "이 동전은 공정하다"고 결론 내리면 틀린다. 동전이 기울어져 있지 않은 것이 아니라, 10번으로는 그 기울기를 볼 수 없는 것이다.
LLM 실험으로 옮기면 이렇다. 한국어 초성 줄임말 이해를 4지선다로 평가하는데, 문항 40개로 모델 A(정답률 70%)와 모델 B(정답률 75%)를 비교했다고 하자. 40문항에서 5%p 차이는 문항 2개 차이다. 검정은 거의 확실히 유의하지 않게 나오고, 그 결과는 "두 모델이 같다"가 아니라 "40문항으로는 아무것도 알 수 없다"를 뜻한다. 검정력이 낮은 실험의 음성 결과는 정보가 거의 없다. 반대로 검정력을 충분히 확보한 실험의 음성 결과는 의미 있는 발견이 된다. 이 이야기는 16강에서 다룬다.
검정력은 세 값이 함께 결정하며, 실험 전에 그중 둘을 고정하면 나머지 하나가 계산된다.
이라는 형태가 실무 감각의 근원이다. 표준오차를 절반으로 줄이려면 표본이 4배 필요하다. "문항을 조금 더 모으면 되겠지"가 잘 통하지 않는 이유이고, 작은 효과를 잡으려면 표본이 기대보다 훨씬 많이 필요한 이유다.
4지선다 정답률처럼 비율을 추정하는 경우, 정답률 추정치의 95% 신뢰구간 반폭은 대략 이다. 근처에서 계산해 보면 규모감이 나온다.
| 문항 수 | 정답률 추정의 95% CI 반폭(대략) |
|---|---|
| 50 | 약 ±13%p |
| 200 | 약 ±6%p |
| 500 | 약 ±4%p |
| 2000 | 약 ±2%p |
문항 50개짜리 벤치마크에서 "우리 방법이 6%p 앞선다"는 주장은 신뢰구간 반폭보다 작은 차이를 말하는 것이다. 두 모델을 비교할 때는 불확실성이 양쪽에서 겹치므로 단일 비율 추정보다 더 많은 표본이 필요하다. 다만 같은 문항에 두 모델을 모두 돌리는 대응 설계(paired design)를 쓰면 문항 난이도 변동이 상쇄되어 필요 표본이 크게 줄어든다. 대응 설계가 왜 강력한지는 11강에서 다뤘다. LLM 평가에서 두 arm이 같은 문항 집합을 공유하도록 설계하는 것은 검정력 관점에서 공짜에 가까운 이득이므로 기본값으로 삼는다.
검정력 부족은 개별 연구 하나의 문제로 끝나지 않고 분야 전체의 신뢰도를 무너뜨린다는 것이 지난 십수 년간 실증적으로 드러났다.
신경과학 분야에서는 출판된 연구들의 메타분석을 통해 분야의 전형적인 검정력을 추정한 리뷰 연구가 큰 반향을 일으켰다. 결론은 신경과학 문헌의 평균 검정력이 관례적 기준인 80%에 한참 못 미치는 낮은 수준이라는 것이었다. 저검정력 연구는 단지 효과를 놓치기만 하는 게 아니다. 저검정력 상태에서 어쩌다 유의하게 나온 결과는 실제 효과를 과대추정하기 쉽다(승자의 저주, winner's curse). 유의성 문턱을 넘으려면 우연히 크게 나온 표본이어야 하기 때문이다. 그래서 저검정력 분야의 출판 문헌은 부풀려진 효과 크기로 가득 차게 된다.
심리학에서는 100편 규모의 발표 논문을 원저자 협력 하에 다시 실험한 대규모 재현 프로젝트(심리학 재현성 프로젝트)가 수행되었는데, 원 논문의 절반에도 훨씬 못 미치는 비율만 유의한 결과가 재현되었고 재현된 효과 크기도 원 논문보다 대체로 작았다. 원인은 복합적이지만(15강의 p-해킹, 출판 편향 등), 작은 표본으로 얻은 부풀려진 효과가 그 크기 그대로는 재현되지 않는다는 검정력의 논리가 그 중심에 있다.
LLM 연구도 예외가 아니다. 수십 문항짜리 소규모 평가셋에서 몇 %p 차이로 우열을 가리는 리더보드식 비교는 구조적으로 위 신경과학 문헌과 같은 상황이다. 문항 수가 적으면 순위는 표본 잡음으로 뒤바뀌고, 유의하게 나온 차이는 과대추정되어 있을 가능성이 높다.
검정력 분석(power analysis)은 결과를 본 뒤가 아니라 데이터를 모으기 전에 한다. 절차는 네 단계다.
통계가 아니라 연구 판단의 문제다. "정답률 차이가 몇 %p 이상이면 실질적으로 의미 있다고 볼 것인가"를 먼저 정한다. 초성 줄임말 실험이라면 예컨대 "5%p 미만 차이는 실용적으로 무의미하다"고 선을 긋는 식이다. 이 값을 최소 관심 효과 크기(minimum effect size of interest)라 한다. 선행 연구의 효과 크기(3강)나 파일럿 실험이 근거가 된다. 단, 위에서 본 승자의 저주 때문에 선행 연구의 효과 크기는 부풀려져 있을 수 있으므로 보수적으로 잡는다.
11강에서 정한 비교 설계(대응 여부, 층화 여부)에 맞는 검정을 고르고, (다중 비교가 있으면 보정 후 값), 목표 검정력 80%(엄격하게는 90%)를 정한다.
손계산이 아니라 도구를 쓴다. Python이면 statsmodels.stats.power의 검정력 계산 함수, R이면 pwr 패키지가 표준이며, 해석적 공식이 없는 설계(대응 4지선다 비교, 층화 분석 등)는 시뮬레이션으로 구한다. 시뮬레이션 방식은 개념적으로 단순하다: 가정한 효과 크기로 가짜 데이터를 수천 번 생성해 각각 검정을 돌리고, 유의하게 나온 비율이 곧 그 표본 크기에서의 검정력이다. 표본 크기를 바꿔 가며 목표 검정력을 넘는 최소 을 찾는다. 참고로 두 평균 비교의 고전적 어림 공식은
로, 필요 표본이 효과 크기 의 제곱에 반비례함을 보여준다. 잡으려는 효과를 절반 크기로 낮추면 표본은 4배 필요하다.
초성 줄임말 실험에 맞춘 시뮬레이션 검정력 분석의 뼈대는 다음과 같다. 두 모델이 같은 문항을 푸는 대응 설계이므로, 문항별로 (A 정답, B 정답) 결과 쌍을 생성하고 McNemar 검정을 돌린다.
import numpy as np
from statsmodels.stats.contingency_tables import mcnemar
def power_at(n_items, p_a=0.70, p_b=0.75, n_sim=5000, alpha=0.05):
rng = np.random.default_rng(0) # 시뮬레이션 자체도 시드 고정
hits = 0
for _ in range(n_sim):
a = rng.random(n_items) < p_a # 모델 A의 문항별 정오
b = rng.random(n_items) < p_b # 모델 B의 문항별 정오
table = [[np.sum(a & b), np.sum(a & ~b)],
[np.sum(~a & b), np.sum(~a & ~b)]]
if mcnemar(table, exact=True).pvalue < alpha:
hits += 1
return hits / n_sim # 이 문항 수에서의 검정력
# n_items를 100, 200, 400, ...으로 올려 가며 0.80을 넘는 최소값을 찾는다
위 코드는 문항 간 독립과 모델 간 무상관을 가정한 가장 단순한 형태다. 실제로는 두 모델의 정오가 문항 난이도를 통해 상관되며(쉬운 문항은 둘 다 맞힌다), 이 상관이 클수록 대응 검정의 검정력은 더 올라간다. 상관 구조까지 반영하려면 파일럿 데이터에서 일치율을 추정해 시뮬레이션에 넣는다. 어느 쪽이든 원리는 같다. 가정을 코드로 명시하고, 그 가정 아래에서 필요한 표본을 실험 전에 계산한다.
"문항 몇 개, 시드 몇 개, 어떤 검정, 어떤 효과 크기 가정"을 실험 전에 문서로 고정한다(14강). 이 연구실 관례로는 프로젝트의 01_QUESTION.md에 반증 조건과 함께 적는다. 계산된 표본을 확보할 수 없다면 그 사실 자체가 설계 판단 재료다. 검출 가능한 효과의 하한을 명시하고 탐색적 연구로 성격을 낮추거나, 실험을 다시 설계한다. 저검정력인 줄 알면서 확증적 결론을 내는 실험을 돌리는 것이 최악의 선택이다.
주의: 결과가 유의하지 않게 나온 뒤 "관측된 효과 크기로 계산해 보니 검정력이 낮았다"고 덧붙이는 사후 검정력(post-hoc power) 분석은 무의미하다. 관측 효과 크기로 계산한 사후 검정력은 p값과 일대일로 묶여 있어서 새로운 정보를 전혀 주지 않는다. 검정력 분석의 가치는 오직 사전에 있다.
LLM 평가에서 표본 크기는 문항 수 하나가 아니라 여러 축에 걸쳐 있다.
전체 문항 수만 보고 "표본은 충분하다"고 판단하면, 정작 논문의 핵심 주장이 걸린 하위 분석은 저검정력인 채로 남는 일이 흔하다.