κ의 역설 — 일치율 90%인데 κ가 0.21
High Agreement but Low Kappa: I. The Problems of Two Paradoxes (Feinstein & Cicchetti, Yale University, J Clin Epidemiol 1990)
High Agreement but Low Kappa: II. Resolving the Paradoxes (Cicchetti & Feinstein, Yale University, J Clin Epidemiol 1990)
Introduction
#13에서 κ를 유도했다. \(\kappa = (p_o - p_e)/(1 - p_e)\) — 관측 일치율 \(p_o\)에서 우연 기대 일치율 \(p_e\)를 빼고, 우연이 만들 수 있었던 나머지 여지 \(1-p_e\)로 나눈다. 우연을 뺐으니 κ는 “진짜 합의”를 잰다고 믿기 쉽다.
그런데 안전성 라벨링 실무에서 이런 일이 반복해서 일어난다. 라벨러 두 명이 1,000건의 대화를 “유해/안전”으로 판정했다. 서로 다른 판정을 내린 건은 50건뿐이다. 일치율 \(p_o\)는 95%. 그런데 κ를 계산하면 0.3대가 나온다. Landis & Koch (1977) 표를 펴 보면 0.21~0.40은 “fair”다. 팀은 “가이드라인이 부실하다”고 결론짓고 가이드라인을 다시 쓴다. 다시 라벨링한다. κ는 또 0.3대다. 세 번째로 다시 쓴다. 또 0.3대다.
이 글의 결론을 먼저 말한다. 이 상황에서 κ가 낮은 것은 라벨러도, 가이드라인도 아니라 κ라는 지표의 구조적 성질이다. 유해 라벨처럼 한쪽으로 쏠린(=드문) 이진 판단에서는 \(p_o\)가 90%든 95%든 κ가 낮게 나오는 것이 오히려 정상이다. 반대로 두 라벨러의 성향이 다르면(한 명은 후하게 유해를 찍고 한 명은 짜게 찍으면) κ는 오히려 올라간다 — 이것도 반대 방향으로 오도한다.
Feinstein & Cicchetti (1990)는 이 둘을 각각 prevalence paradox와 bias paradox라고 불렀다. 이 글은 두 역설을 직접 유도하고, 숫자로 보이고, 대안 지표(PABAK, Gwet’s AC1, Krippendorff’s α)가 각각 무엇을 다르게 하는지 확인한 뒤, 안전성 라벨링이라는 정확히 이 문제가 상시 발생하는 현장에 대입한다. 강의로 옮긴다면 이 편이 4부의 하이라이트다 — κ 한 줄을 읽는 법이 완전히 달라지기 때문이다.
Background
표기 정리
두 라벨러가 이진 판정(유해/안전)을 내리는 \(2 \times 2\) 표를 쓴다.
| 라벨러 2: 유해 | 라벨러 2: 안전 | |
|---|---|---|
| 라벨러 1: 유해 | \(a\) | \(b\) |
| 라벨러 1: 안전 | \(c\) | \(d\) |
\(n = a+b+c+d\). \(a\)는 둘 다 유해라고 한 건, \(d\)는 둘 다 안전이라고 한 건, \(b, c\)는 불일치한 건이다. 이 표기를 글 전체에서 그대로 쓴다.
\[p_o = \frac{a+d}{n}\]라벨러 1의 유해 판정률(주변분포)은 \(p_{1+} = (a+b)/n\), 라벨러 2의 유해 판정률은 \(p_{+1} = (a+c)/n\)이다. 독립을 가정한 우연 기대 일치율은
\[p_e = p_{1+} \cdot p_{+1} + (1-p_{1+})(1-p_{+1})\]#13에서 다룬 대로 \(\kappa = (p_o - p_e)/(1 - p_e)\)다. 여기까지는 복습이다. 이 글의 질문은 이거다 — κ가 낮게 나왔을 때, 그게 진짜 낮은 합의 때문인지, 아니면 \(p_e\) 자체가 어떤 라벨 분포에서 구조적으로 커지거나 작아지기 때문인지 어떻게 구별하나?
유병률 지수와 편향 지수 — κ를 세 숫자로 다시 쓰기
Byrt, Bishop & Carlin (1993)이 Feinstein & Cicchetti의 관찰을 정식화했다. 두 지수를 정의한다.
\[PI = \frac{a-d}{n} \qquad (\text{prevalence index, 유병률 지수})\] \[BI = \frac{b-c}{n} \qquad (\text{bias index, 편향 지수})\]\(PI\)는 “일치한 두 칸(둘 다 유해 vs 둘 다 안전)의 크기 차”다. \(PI=0\)이면 유해/안전이 표 안에서 균형 잡혀 있다는 뜻이고, \(\lvert PI \rvert\)가 1에 가까우면 한쪽으로 극단적으로 쏠렸다는 뜻이다. \(BI\)는 “불일치한 두 칸의 크기 차”다. \(BI=0\)이면 두 라벨러가 서로 다른 방향으로 틀리는 정도가 같다는 뜻이고(대칭 불일치), \(\lvert BI \rvert\)가 크면 한 라벨러가 다른 라벨러보다 체계적으로 더 후하게(또는 짜게) 유해를 찍는다는 뜻이다(비대칭 불일치, 즉 두 라벨러 사이의 편향).
이제 \(p_e\)를 \(p_o, PI, BI\)만으로 다시 쓸 수 있다. \(a = n(p_o+PI)/2\), \(d = n(p_o-PI)/2\), \(b = n((1-p_o)+BI)/2\), \(c = n((1-p_o)-BI)/2\) (각각 \(a+d=np_o\), \(a-d=nPI\), \(b+c=n(1-p_o)\), \(b-c=nBI\)를 연립해 풀면 나온다)를 \(p_{1+}=(a+b)/n\), \(p_{+1}=(a+c)/n\)에 대입하면
\[p_{1+} = \frac{1+PI+BI}{2}, \qquad p_{+1} = \frac{1+PI-BI}{2}\]이고, \(p_e = p_{1+}p_{+1} + (1-p_{1+})(1-p_{+1})\)에 넣어 정리하면
\[p_e = \frac{1 + PI^2 - BI^2}{2}\]이 나온다. 그러면
\[\kappa = \frac{p_o - p_e}{1 - p_e} = \frac{2p_o - 1 - PI^2 + BI^2}{1 - PI^2 + BI^2}\]κ는 \(p_o\) 하나가 아니라 \(p_o, PI, BI\) 세 숫자로 결정된다. 같은 \(p_o=0.90\)이라도 \(PI, BI\)가 다르면 κ는 완전히 다른 값이 된다. 방향을 미분으로 확인하자.
\[\frac{\partial p_e}{\partial (PI^2)} = \frac{1}{2} > 0, \qquad \frac{\partial p_e}{\partial (BI^2)} = -\frac{1}{2} < 0\] \[\frac{\partial \kappa}{\partial p_e} = \frac{p_o - 1}{(1-p_e)^2} \le 0 \quad (\because p_o \le 1)\]즉 \(p_e\)는 \(PI^2\)가 커지면 커지고 \(BI^2\)가 커지면 작아지는데, κ는 \(p_e\)가 커질수록 항상 작아지거나 같다(\(p_o<1\)일 때는 반드시 작아진다). 이 두 식을 합치면 결론이 방향까지 확정된다.
- \(PI\)(유병률 쏠림)가 커지면 → \(p_e\)가 커진다 → κ가 작아진다. (역설 1)
- \(BI\)(라벨러 간 편향)가 커지면 → \(p_e\)가 작아진다 → κ가 커진다. (역설 2)
Feinstein & Cicchetti가 1990년에 두 편의 논문(“I. 문제 제기”, “II. 해결”)으로 나눠 다룬 게 바로 이 두 방향이다.
Method
역설 1: 유병률(prevalence) 역설
정의. 유해 라벨처럼 한쪽 범주가 드물면(=\(PI\)가 0에서 멀어지면) \(p_e\)가 커지고, \(p_o\)가 그대로여도 κ가 무너진다.
수치 예제 — 균형. \(n=100\), 표 \([[45,5],[5,45]]\) (\(a=45,b=5,c=5,d=45\)).
\(p_o = (45+45)/100 = 0.90\). \(PI=(45-45)/100=0\), \(BI=(5-5)/100=0\).
\(p_e = (1+0-0)/2 = 0.50\). \(\kappa = (0.90-0.50)/(1-0.50) = 0.40/0.50 = \mathbf{0.80}\).
균형 잡힌 표에서는 \(p_o=0.90\)이 κ=0.80으로 거의 그대로 옮겨간다. 여기까지는 직관과 일치한다.
수치 예제 — 쏠림. 같은 \(p_o=0.90\), 표 \([[85,5],[5,5]]\) (\(a=85,b=5,c=5,d=5\)).
\(p_o = (85+5)/100 = 0.90\) — 동일하다. \(PI=(85-5)/100=0.80\), \(BI=(5-5)/100=0\).
\(p_e = (1+0.64-0)/2 = 0.82\). \(\kappa = (0.90-0.82)/(1-0.82) = 0.08/0.18 = \mathbf{0.444}\).
같은 90% 일치율인데 κ는 0.80에서 0.444로 반토막 났다. 라벨러의 실력이 떨어진 게 아니다. 유해가 90%(!)로 흔한 범주로 바뀌면서 “둘 다 우연히 유해라고 찍을” 확률이 커졌을 뿐이다.
수치 예제 — 더 쏠림. 표 \([[90,3],[3,4]]\) (\(a=90,b=3,c=3,d=4\)).
\(p_o = (90+4)/100 = 0.94\). \(PI=(90-4)/100=0.86\), \(BI=(3-3)/100=0\).
\(p_e = (1+0.7396-0)/2 = 0.8698\). \(\kappa = (0.94-0.8698)/(1-0.8698) = 0.0702/0.1302 = \mathbf{0.539}\).
이 표는 \(PI\)가 앞의 예(0.80)보다 더 극단적인데(0.86) κ는 오히려 더 높다(0.539 > 0.444). 모순이 아니다 — \(p_o\)도 함께 올라갔기(0.90→0.94) 때문이다. κ는 \(PI\) 하나만 보고 예측할 수 없다. \(p_o\)와 \(PI\)(그리고 \(BI\))를 같이 봐야 한다. 이게 뒤에서 다룰 “Landis & Koch 기준 비판”의 핵심 근거가 된다.
핵심 슬라이드 — 유병률을 훑으며 κ 관찰. \(p_o=0.90\)을 고정하고(\(b=c=5\), \(BI=0\)), 유해 비율 \(\pi = (a+b)/n\)을 0.50에서 0.05까지 내려 보자. \(a = 100\pi - 5\), \(d = 95-100\pi\)이며, \(\pi=0.05\)에서 \(a=0\)이 되어 더 내려갈 수 없는 경계에 닿는다.
| \(\pi\) (유해 비율) | \(a\) | \(d\) | \(p_e\) | \(\kappa\) | PABAK | AC1 |
|---|---|---|---|---|---|---|
| 0.50 | 45 | 45 | 0.500 | 0.800 | 0.80 | 0.800 |
| 0.40 | 35 | 55 | 0.520 | 0.792 | 0.80 | 0.808 |
| 0.30 | 25 | 65 | 0.580 | 0.762 | 0.80 | 0.828 |
| 0.25 | 20 | 70 | 0.625 | 0.733 | 0.80 | 0.840 |
| 0.20 | 15 | 75 | 0.680 | 0.688 | 0.80 | 0.853 |
| 0.15 | 10 | 80 | 0.745 | 0.608 | 0.80 | 0.866 |
| 0.10 | 5 | 85 | 0.820 | 0.444 | 0.80 | 0.878 |
| 0.07 | 2 | 88 | 0.870 | 0.232 | 0.80 | 0.885 |
| 0.05 | 0 | 90 | 0.905 | −0.053 | 0.80 | 0.890 |
(\(b=c=5\)로 고정, PABAK·AC1은 대안 절에서 유도한다. 지금은 κ 열만 본다.)
같은 일치율 90%가 유해 비율에 따라 κ 0.80~−0.053 사이 어디든 갈 수 있다. 유해 비율 5%에서는 κ가 음수다 — 우연보다 못하다는 뜻인데, 실제로는 라벨러 둘이 90건에서 일치했다. 이 표가 시리즈 제목의 “일치율 90%인데 κ가 0.21”이 왜 대단한 사건이 아닌지 보여준다. 유해 비율 6~7% 근방에서 이미 κ는 0.2대로 떨어진다 — 안전 라벨링의 흔한 유해 비율(2~5%) 범위와 정확히 겹친다.
일상 비유. 학교에서 “전학생 찾기” 게임을 한다고 하자. 반에 전학생이 25명 중 12명이면(거의 절반) 두 사람이 “이 아이가 전학생이다”라고 우연히 동시에 가리킬 확률이 꽤 높다. 반에 전학생이 25명 중 1명이면 두 사람이 우연히 같은 아이를 가리킬 확률은 거의 0에 가깝다. 그런데 “우연 기대치”라는 잣대는 반대로 작동한다 — 전학생이 드물면 “둘 다 아니라고 말하는” 우연의 몫이 커져서, 실제로는 잘 맞힌 두 사람의 실적이 상대적으로 초라해 보인다. 유해 라벨이 드문 것도 똑같다. “둘 다 안전”이라고 우연히 맞히는 몫이 압도적으로 커지면서, 진짜 어려운 부분(드문 유해 사례에서의 일치)의 기여가 지표 안에서 왜소해진다.
역설 2: 편향(bias) 역설
정의. 두 라벨러의 주변분포가 다르면(한 명은 유해를 후하게, 한 명은 짜게 찍으면) 같은 \(p_o\)에서 κ가 오히려 올라간다.
직관적으로는 “라벨러들이 서로 다르게 행동한다”는 게 나쁜 신호로 느껴진다. 그런데 앞서 미분으로 확인했듯 \(BI\)가 커지면 \(p_e\)는 작아지고, \(p_e\)가 작아지면 κ는 커진다. 왜 그럴까 — \(p_e\)는 “두 라벨러가 서로 독립으로 행동한다면 우연히 일치할 확률”이다. 두 라벨러의 유해 판정률이 서로 다를수록(한 명 90%, 한 명 10%처럼) 그 둘을 곱해서 만드는 “우연 일치” 확률 자체가 낮아진다. 즉 편향이 커질수록 “우연이 만들어낼 수 있었던 기준선”이 낮아지고, 그 낮아진 기준선과 비교하니 실제 \(p_o\)가 상대적으로 더 근사해 보이는 것이다. 하지만 이건 라벨러들의 실제 정합성이 좋아진 게 아니라, 비교 기준선이 인위적으로 낮아진 것뿐이다.
수치 예제. \(n=100\), \(p_o=0.70\) 고정, \(PI=0\)(즉 \(a=d=35\))으로 유병률 효과를 제거하고 \(BI\)만 바꾼다.
| 표 | \(b\) | \(c\) | \(BI\) | \(p_e\) | \(\kappa\) |
|---|---|---|---|---|---|
| 대칭 불일치 | 15 | 15 | 0 | 0.500 | 0.400 |
| 비대칭 불일치 | 30 | 0 | 0.30 | 0.455 | 0.450 |
두 표 모두 \(a=35, d=35\)로 동일하고 \(p_o=0.70\)으로 동일하다. 다만 두 번째 표는 라벨러 1이 “유해”라고 하고 라벨러 2는 “안전”이라고 한 30건이 전부이고, 반대 방향(라벨러 1 안전·라벨러 2 유해)은 0건이다 — 라벨러 1이 훨씬 더 후하게 유해를 찍는다는 뜻이다. 이 명백한 비대칭(그리고 그 자체로 가이드라인 해석이 라벨러마다 다르다는 위험 신호)이 있는데도 κ는 0.400에서 0.450으로 올라갔다.
효과를 더 극단으로 밀면 방향이 더 뚜렷해진다. \(p_o=0.50\), \(PI=0\)(\(a=d=25\))로 두면:
| 표 | \(b\) | \(c\) | \(BI\) | \(p_e\) | \(\kappa\) |
|---|---|---|---|---|---|
| 대칭 불일치 | 25 | 25 | 0 | 0.500 | 0.000 |
| 완전 비대칭 | 50 | 0 | 0.50 | 0.375 | 0.200 |
\(p_o=0.50\)은 이진 판단에서 “동전 던지기와 다를 바 없다”는 뜻이라 κ=0이 맞다. 그런데 라벨러 1이 유해를 늘 후하게 찍고 라벨러 2는 전혀 그렇게 안 하는 극단적 편향만 주입하면 똑같이 절반만 맞춘 상황에서 κ가 0.200으로 뛴다. “우연보다 나은 합의”라는 착시가 순전히 편향에서 나온다.
편향 지수는 이미 위에서 \(BI=(b-c)/n\)으로 정의했다 — 두 라벨러의 유해 판정률 차이(\(p_{1+}-p_{+1}=BI\), 이는 위에서 구한 \(p_{1+}, p_{+1}\) 식을 빼면 바로 나온다)를 재는 지수다.
Landis & Koch 기준 비판
#13에서 예고한 대로, Landis & Koch (1977)의 “0~0.20 slight, 0.21~0.40 fair, 0.41~0.60 moderate, 0.61~0.80 substantial, 0.81~1 almost perfect”라는 구간 표는 경험적 근거로 도출된 게 아니라 저자들이 그 논문에서만 쓰겠다고 선언한 편의상의 관습이다. 저자들 스스로 이 구간이 “임의적(arbitrary)”이라고 명시했다. 그런데도 지금까지 나온 수많은 논문이 이 표에 κ 값을 대입해 “substantial” 같은 단어를 붙였다. Ludbrook (2002)은 이 관행에 “이론적 근거가 없고 연구자를 오도할 수 있다(no sound theoretical basis and can be positively misleading)”고 비판했다.
이 글의 유도 결과가 그 비판에 수학적 근거를 더한다. \(\kappa\)는 \(p_o, PI, BI\) 세 변수의 함수이므로, 유병률(\(PI\))이 다른 두 연구의 κ 원값을 그대로 나란히 놓고 “둘 다 substantial이니 비슷한 신뢰도”라고 말하는 것은 통계적으로 무의미하다. 다음 두 표를 보자.
| 연구 | 표 | \(p_o\) | \(PI\) | \(\kappa\) | L&K 등급 |
|---|---|---|---|---|---|
| A (희소 유해 라벨링) | \([[85,5],[5,5]]\) | 0.90 | 0.80 | 0.444 | moderate |
| B (균형 잡힌 라벨링) | \([[36,14],[14,36]]\) | 0.72 | 0 | 0.440 | moderate |
둘 다 κ≈0.44로 “moderate”라는 같은 등급을 받는다. 그런데 A의 라벨러들은 90건에서 일치했고, B의 라벨러들은 72건에서만 일치했다. 실제 라벨링 품질은 A가 명백히 더 좋다. κ라는 숫자 하나만 보고 등급표에 대입하면, 유병률이 다른 두 상황을 같은 줄에 놓는 오류를 저지른다. 반대 방향도 마찬가지다 — 앞서 본 것처럼 같은 \(p_o=0.90\)이 \(PI\)에 따라 κ 0.80에서 −0.053까지 흩어진다. κ 하나로는 어느 쪽인지 구별할 수 없다. 반드시 \(p_o\)(와 가능하면 \(PI\), \(BI\))를 함께 봐야 한다.
대안 1: PABAK — Prevalence-Adjusted Bias-Adjusted Kappa
정의. Byrt, Bishop & Carlin (1993)이 제안했다.
\[PABAK = 2p_o - 1\]유도. 위에서 구한 일반식 \(\kappa = (2p_o-1-PI^2+BI^2)/(1-PI^2+BI^2)\)에 \(PI=0, BI=0\)을 대입하면
\[\kappa\big|_{PI=0,\,BI=0} = \frac{2p_o-1-0+0}{1-0+0} = 2p_o-1\]즉 PABAK은 “유병률과 편향이 완전히 균형 잡혔다면(=\(p_e=0.5\)라면) κ가 얼마였을까“를 계산한 값이다. \(p_e\)를 실제 관측된 주변분포 대신 무조건 0.5로 고정해버리는 셈이다.
직관. 앞의 예 \([[85,5],[5,5]]\)에 적용하면 \(PABAK = 2(0.90)-1 = 0.80\)이다. κ(0.444)보다 훨씬 높다 — 유병률이 만든 왜곡을 걷어낸 값이다.
장점. \(p_o\)만 알면 계산되고, 유병률이 얼마든 편향이 얼마든 값이 흔들리지 않는다(정의상 \(p_o\)만의 함수다). 서로 다른 유병률을 가진 두 라벨링 세트를 비교할 때 왜곡 없는 공통 기준이 된다.
한계. \(p_e=0.5\)를 강제하는 것은 “우연 보정”이라는 원래 취지를 사실상 포기하는 것이다. 실제 유해 비율이 정말 5%라면, 그 5%라는 사실 자체가 데이터의 성질이지 측정 오류가 아니다. PABAK은 그 성질을 지워버리고 “만약 반반이었다면”이라는 가상의 세계를 계산한다. 그래서 PABAK 혼자 보고하면 “우연 대비 얼마나 나은가”라는 원래 질문에는 답하지 못한다 — κ와 나란히 놓고 “얼마나 벌어져 있는지”를 보는 용도로 써야 한다.
대안 2: Gwet’s AC1
정의. Gwet (2008)은 \(p_e\)를 다르게 정의해 유병률 역설을 완화한다.
\[p_e^{AC1} = 2q(1-q), \qquad q = \frac{p_{1+}+p_{+1}}{2}\]\(q\)는 두 라벨러의 유해 판정률의 평균이다. \(AC1 = (p_o - p_e^{AC1})/(1-p_e^{AC1})\)로, κ와 형태는 같고 \(p_e\) 정의만 다르다.
직관 — 왜 이게 유병률 역설을 없애는가. 앞서 \(p_{1+}=(1+PI+BI)/2\), \(p_{+1}=(1+PI-BI)/2\)를 구했으니 \(q=(1+PI)/2\)이고
\[p_e^{AC1} = 2 \cdot \frac{1+PI}{2} \cdot \frac{1-PI}{2} = \frac{1-PI^2}{2}\]Cohen’s κ의 \(p_e = (1+PI^2-BI^2)/2\)와 비교하면 \(PI^2\) 항의 부호가 정반대다. \(PI\)가 극단으로 갈 때(유병률이 0 또는 1에 가까워질 때) Cohen의 \(p_e\)는 1에 가까워져 κ를 무너뜨리지만, Gwet의 \(p_e^{AC1}\)은 오히려 0에 가까워져 AC1이 \(p_o\) 자체에 가까워진다. Gwet은 자신의 척도가 “우연에 의한 일치”가 아니라 “우연에 의한 불일치가 없다는 조건에서의 조건부 일치확률”을 계산한다고 설명한다 — 관점을 뒤집어 유병률에 먹히지 않게 만든 것이다.
앞의 핵심 슬라이드 표를 다시 보면, κ는 0.800에서 −0.053까지 붕괴하지만 AC1은 0.800에서 0.890까지, 거의 \(p_o=0.90\) 근처에 머물러 있다. 유병률이 아무리 쏠려도 관측된 raw 일치율에서 크게 벗어나지 않는다.
부수적으로 확인되는 사실 — AC1은 편향 지수 \(BI\)에 완전히 무감하다. \(q=(1+PI)/2\)는 \(BI\)를 포함하지 않는다. 즉 \(p_o\)와 \(PI\)가 고정된 상태에서 \(BI\)를 아무리 바꿔도 \(p_e^{AC1}\)은 변하지 않고, 따라서 AC1 값도 변하지 않는다. 앞서 편향 역설의 예제([[35,15,15,35]] vs [[35,30,0,35]], \(p_o=0.70\))에서 κ는 0.400→0.450으로 움직였지만, 같은 표에서 AC1은 두 경우 모두 \(q=(1+0)/2=0.5\)로 동일해 \(p_e^{AC1}=0.5\), \(AC1 = (0.70-0.5)/(1-0.5)=0.400\)으로 완전히 같다. AC1은 κ처럼 편향을 “보상”으로 잘못 주지도 않고, 편향을 벌점으로 깎지도 않는다 — 그저 그 정보를 아예 보지 않는다. (실제 두 라벨러 성향이 다르다는 사실 자체는 여전히 주변분포를 따로 보고해야 잡힌다. 뒤에서 다시 강조한다.)
한계. AC1이 유병률 역설에 강한 이유가 “우연 기준선을 다르게 정의했다”는 것뿐이라, 그 자체가 정답이라는 보장은 없다. Krippendorff는 이 지점에서 Gwet과 견해가 갈린다(다음 절).
대안 3: Krippendorff’s α — 얼마나 강한가
#13에서 α를 다중 평가자·결측치·다양한 척도로 일반화된 지표로 소개했다. 얼마나 강한지 정확히 짚으려면 먼저 κ를 다른 형태로 다시 써 보는 게 도움이 된다.
\[\kappa = \frac{p_o-p_e}{1-p_e} = 1 - \frac{1-p_o}{1-p_e} = 1 - \frac{D_o}{D_e}\]\(D_o = 1-p_o\)는 관측 불일치율, \(D_e = 1-p_e\)는 우연이 만들어낼 것으로 기대되는 불일치율이다. κ가 무너지는 매커니즘은 결국 “유병률이 쏠릴수록 \(D_e\)가 0에 가까워진다”는 것이다. 앞서 구한 \(p_e=(1+PI^2-BI^2)/2\)를 넣으면 \(D_e = (1-PI^2+BI^2)/2\)이고, \(PI^2 \to 1\)이면 \(D_e \to BI^2/2\)로 0에 가까워진다. 분모(\(D_e\))가 0에 가까워지는데 분자(\(D_o\), 실제 불일치)는 그대로 남아 있으니 비율이 커지고 κ가 무너진다(음수까지 간다).
Krippendorff’s α의 명목형(nominal) 정의도 정확히 같은 형태다. \(\alpha = 1 - D_o/D_e\)이고, 명목·2인·결측 없음의 경우 \(D_o = (b+c)/n = 1-p_o\)로 κ와 동일하지만, \(D_e\)는 두 라벨러의 판정을 하나로 합친 풀링된 비율 \(\bar p\)로 계산한다.
\[D_e^{\alpha} = 2\bar p (1-\bar p), \qquad \bar p = \frac{(a+b)+(a+c)}{2n}\]여기서 \(\bar p = (1+PI)/2\)임을 앞서 쓴 \(p_{1+}, p_{+1}\) 식을 더해 확인할 수 있다(정확히 Gwet의 \(q\)와 같다). 대입하면 \(D_e^\alpha = (1-PI^2)/2\) — κ의 \(D_e\)와 거의 같은 형태이지만 \(BI^2\) 보정 항이 없다. 이게 두 가지를 동시에 말해준다.
- 유병률 역설: α는 κ와 똑같이 취약하다. \(PI^2 \to 1\)이면 \(D_e^\alpha \to 0\)이고, κ와 마찬가지로 분모가 0에 가까워지며 무너진다. 실제로 전체 일치율이 98%를 넘어도 범주가 극단적으로 쏠려 있으면 α가 음수로 나오는 사례가 보고되어 있다. \(BI=0\)일 때는 \(D_e^\alpha\)와 κ의 \(D_e=(1-PI^2)/2\)가 정확히 같아지므로 이때 α와 κ는 수식적으로 완전히 동일한 값을 낸다.
- 편향 역설: α는 오히려 AC1처럼 완전히 무감하다. \(\bar p\)는 \(b, c\)를 각각 보지 않고 \(b+c\)로만 반영하므로(\(\bar p\)식에 \(BI\) 항이 없다) \(D_e^\alpha\)는 \(BI\)를 아예 보지 않는다. 앞서 쓴 편향 역설 예제(\(p_o=0.70\), \(PI=0\))에 그대로 적용해 보면: 대칭 불일치 표(\(b=c=15\))에서 \(\bar p=0.5\), \(D_e^\alpha=0.5\), \(\alpha = 1-0.30/0.5=0.400\) — κ(0.400)와 동일하다. 비대칭 불일치 표(\(b=30,c=0\))에서도 \(\bar p\)는 여전히 0.5(둘을 합치면 여전히 30/100)이므로 \(D_e^\alpha=0.5\), \(\alpha=1-0.30/0.5=0.400\)으로 변하지 않는다 — 반면 κ는 0.400에서 0.450으로 올라갔다. α는 라벨러 사이의 편향을 풀링 과정에서 지워버리기 때문에, κ가 겪는 편향 역설에는 걸리지 않는다.
정리하면 α는 유병률 역설에는 κ와 동일하게(때로는 \(BI=0\)일 때 수치까지 완전히 같게) 취약하고, 편향 역설에는 AC1과 같은 이유로 면역이다. “α가 결측·다인원·다척도로 일반화된 지표라 κ보다 안전할 것”이라는 인상은 유병률 문제에 관해서는 근거가 없다.
이 지점에서 흥미로운 방법론 논쟁도 있다. Krippendorff 본인은 유병률 취약성이 “버그가 아니라 사실”이라는 입장이다 — 희귀한 범주를 재는 도구는 실제로 신뢰도가 낮을 수 있고, 지표가 그걸 정직하게 보여주는 것뿐이라는 주장이다. Gwet은 반대한다 — “라벨러들이 실제로 강하게 합의하고 있다면, 그 합의를 재는 척도는 높은 값을 내야 한다”는 것이 그의 입장이며, 그는 이 문제를 “합의를 측정하는 문제”와 “드문 현상을 탐지하는 도구의 타당도 문제”를 섞어서는 안 된다고 정리한다 — 후자는 민감도·특이도 같은 진단 통계로 따로 다뤄야 한다는 것이다.
실무적으로는 이렇다. α가 κ보다 유병률에 강하다고 가정하면 안 된다(2인·결측 없음에서는 오히려 같은 값이 나올 수 있다). 다만 α는 평가자 수가 2명을 넘거나 결측치가 있거나 척도가 순서·등간이면 κ가 다루지 못하는 상황을 일반화해서 다룬다는, 유병률 문제와는 무관한 별개의 장점이 있다. 이 장점 때문에 α를 쓰더라도, 희소 범주 상황에서는 반드시 \(p_o\)·주변분포와 나란히 확인해야 한다.
대안 4: Brennan-Prediger κ
Brennan & Prediger (1981)는 범주 수 \(q\)개에 대해 우연 기대치를 관측된 주변분포가 아니라 균등분포로 못 박는다.
\[\kappa_{BP} = \frac{p_o - 1/q}{1 - 1/q}\]이진 범주(\(q=2\))에서는 \(1/q=0.5\)이므로
\[\kappa_{BP} = \frac{p_o - 0.5}{0.5} = 2p_o - 1\]이진 범주에서 Brennan-Prediger κ는 PABAK과 수식이 완전히 같다. 둘의 출발점은 다르다 — PABAK은 “일반식에서 \(PI=BI=0\)을 대입한 특수해”이고, Brennan-Prediger는 “범주 수가 몇 개든 우연은 균등하다고 가정한다”는 별개의 설계 원칙이다. 그런데 이진 범주라는 특수 사례에서 두 철학이 같은 숫자로 만난다. 범주가 3개 이상으로 늘어나면 두 접근은 갈라진다 — Brennan-Prediger는 \(1/q\)로 자연스럽게 확장되지만, PABAK의 다범주 일반화는 표준화되어 있지 않다.
실무 처방: κ 하나만 보고하지 않는다
지금까지의 대안들을 종합하면, 어느 지표도 단독으로 “정답”이 아니다. 각자 다른 것을 강조하거나 무시한다.
\[\text{항상 함께 보고할 것: } \quad p_o,\ p_e,\ \kappa,\ PABAK,\ AC1,\ p_{1+},\ p_{+1}\]\(p_{1+}, p_{+1}\)(각 라벨러의 양성률, 즉 주변분포)까지 보고해야 \(PI\)와 \(BI\)를 독자가 직접 재구성할 수 있고, κ가 왜 그 값인지 진단할 수 있다. κ 숫자 하나만 던지는 논문·보고서는 재구성이 불가능하다.
Experiments — 안전 라벨링에 대입
전형적 상황
안전성 라벨링의 흔한 설정은 이렇다. 유해 비율 2~5%, 라벨러 2~3명, 이진 라벨(유해/안전). 이건 정확히 앞의 “핵심 슬라이드” 표에서 κ가 0.2~0.4 구간으로 떨어지는 그 구간이다.
일치율 95%에서 κ가 0.3대인 것이 정상인 계산
\(n=1000\)건을 두 라벨러가 유해/안전으로 판정한다고 하자. 표: \(a=15\)(둘 다 유해), \(b=25\)(라벨러1만 유해), \(c=25\)(라벨러2만 유해), \(d=935\)(둘 다 안전).
\[p_o = \frac{15+935}{1000} = 0.95\]각 라벨러의 유해 판정률은 \((15+25)/1000 = 0.04\)로 같다(편향 없음, \(BI=0\)). \(PI = (15-935)/1000 = -0.92\).
\[p_e = \frac{1+0.92^2-0}{2} = \frac{1.8464}{2} = 0.9232\] \[\kappa = \frac{0.95-0.9232}{1-0.9232} = \frac{0.0268}{0.0768} = \mathbf{0.349}\]일치율 95%에서 κ가 0.349로 나오는 것은 계산상 정상이다. 유해 비율이 4%라는 사실 하나가 κ의 상한을 이렇게 눌러놓는다. 같은 표에서 PABAK과 AC1을 계산하면:
\[PABAK = 2(0.95)-1 = 0.90\] \[q = (1-0.92)/2 = 0.04, \quad p_e^{AC1} = 2(0.04)(0.96)=0.0768, \quad AC1 = \frac{0.95-0.0768}{1-0.0768} = \mathbf{0.946}\]같은 데이터에서 κ=0.349(“fair”), PABAK=0.90(“almost perfect”), AC1=0.946(“almost perfect”)이 동시에 나온다. 셋 다 “정답”이 아니라 셋 다 이 데이터의 다른 측면이다.
오진 시나리오
팀이 위 표와 같은 결과를 받는다. PM은 κ=0.35를 “fair”로 읽고 “가이드라인이 모호하다”고 결론짓는다. 라벨링 가이드라인을 다시 쓰고, 라벨러를 재교육하고, 1,000건을 다시 라벨링한다. 결과: \(a=17, b=23, c=23, d=937\) 정도로 소폭 개선(불일치가 50건에서 46건으로 줄었다)됐다. \(p_o = 0.954\), \(p_e = 0.040 \times 0.040 + 0.960 \times 0.960 = 0.9232\)이므로 \(\kappa = (0.954 - 0.9232)/(1 - 0.9232) = 0.401\)이다. 가이드라인을 전면 재작성하고 라벨러를 재교육해서 얻은 것이 κ 0.35 → 0.40, 겨우 0.05다. 여전히 Landis & Koch 기준으로는 “moderate” 문턱에 걸쳐 있어 PM은 만족하지 못한다. 세 번째로 다시 쓴다. 또 비슷하다.
이게 나타나면 원인이 가이드라인이 아니라 유병률이라는 신호다. 가이드라인이 정말 나빠서 라벨러들이 헤매고 있다면, 재작성마다 \(b+c\)(불일치 건수)가 눈에 띄게 줄어야 한다. 대신 \(b+c\)가 거의 그대로인데 κ만 안 오른다면, 유해 비율이 4~5%로 고정된 채 \(PI\)가 계속 -0.9 근방을 맴돌기 때문이다 — \(p_e\)의 상한이 애초에 그렇게 정해져 있다. 이때 봐야 할 것은 κ가 아니라 (1) \(p_o\)·PABAK·AC1이 세 라운드에 걸쳐 실제로 오르고 있는가, (2) \(b, c\) 각각의 절대 건수가 줄고 있는가, (3) 그리고 다음 절의 양성 특이 일치도다.
양성 클래스에 대한 일치도 — positive specific agreement
앞의 \(a,b,c,d\) 표기를 그대로 쓴다. 양성(유해) 특이 일치도는
\[PA = \frac{2a}{2a+b+c}\]음성(안전) 특이 일치도는 \(NA = 2d/(2d+b+c)\)다. \(PA\)는 “두 라벨러 중 적어도 한 명이 유해라고 부른 건들 중, 실제로 둘 다 유해라고 부른 비율”이다 — Dice (1945)가 처음 쓰고 Cicchetti & Feinstein이 되살린 지표로, 민감도·특이도처럼 양성/음성을 따로 본다.
같은 예제(\(a=15,b=25,c=25,d=935\))에 대입하면
\[PA = \frac{2(15)}{2(15)+25+25} = \frac{30}{80} = \mathbf{0.375}, \qquad NA = \frac{2(935)}{2(935)+50} = \frac{1870}{1920} = \mathbf{0.974}\]이게 실제로 유용한 숫자다. 라벨러 둘 중 하나라도 “유해”라고 부른 65건(=\(a+b+c\)) 중 실제로 둘 다 동의한 것은 37.5%뿐이다. 반면 안전 판정에서는 97.4%가 겹친다. κ=0.349라는 하나의 숫자가 이 두 이야기(양성 클래스는 진짜 애매하고, 음성 클래스는 거의 완벽히 일치한다)를 뭉쳐서 가려버린다. 안전 라벨링에서 실제로 관심 있는 건 “유해를 얼마나 일관되게 잡아내는가”이므로, 희소 클래스에서는 \(PA\)가 κ보다 정보량이 많다.
#4와의 연결 — 같은 구조, 반대 방향
#4 분류 지표에서 본 것과 정확히 같은 구조다. 그 글에서는 유해 비율이 5%인 데이터에서 “전부 안전”이라고만 찍는 분류기가 accuracy 95%를 받는 문제를 다뤘다 — 다수 클래스가 스칼라 지표의 기준선을 유리하게 왜곡한다. 여기서는 방향이 반대다. accuracy는 불균형이 심할수록 부풀려지고, κ는 불균형이 심할수록 무너진다. 하지만 원인은 똑같다 — 스칼라 지표 하나가 암묵적으로 “기준선”을 유병률에서 끌어오는데, 그 기준선이 유병률에 따라 크게 흔들리면서 지표의 원값을 다른 데이터셋·다른 연구 사이에서 비교할 수 없게 만든다. 해법도 같은 형태다. 분류에서는 accuracy 대신 precision·recall·PR-AUC로 클래스별로 쪼개 봤다. 여기서는 κ 대신 \(PA, NA\)로 클래스별로 쪼개 본다. κ에게 accuracy가 하던 역할(단일 숫자로 전체를 요약)을 시킨 것 자체가 문제였다.
통계 요약
| 지표 | 정의 | 유병률에 강한가 | 편향에 강한가 | 언제 보고할 것인가 |
|---|---|---|---|---|
| Cohen’s \(\kappa\) | \((p_o-p_e)/(1-p_e)\), \(p_e\)는 관측 주변분포로 계산 | 약함 — \(PI^2\)가 커지면 무너진다 | 약함 — \(BI^2\)가 커지면 오히려 부풀려진다 | 항상 기본으로, 단독 사용 금지 |
| PABAK | \(2p_o-1\) (= \(\kappa\)에서 \(PI=BI=0\) 대입) | 강함 — 정의상 \(p_o\)만의 함수 | 강함 — 동상 | κ와 나란히, “우연보정 없는 raw 지표”임을 명시 |
| Gwet’s AC1 | \(p_e^{AC1}=2q(1-q)\), \(q\)=두 라벨러 양성률 평균 | 강함 — \(PI\)가 커지면 \(p_e^{AC1}\)이 되레 작아진다 | 무감 — \(BI\) 자체가 식에 없다 | 유병률이 낮은(5% 이하) 안전 라벨링의 주 지표로 |
| Krippendorff’s \(\alpha\) | \(1-D_o/D_e\), \(D_e\)는 풀링된 마진에서 계산, 카테고리·척도·평가자 수·결측치 일반화 | 약함 — 2인·무결측이면 \(BI=0\)일 때 κ와 수식적으로 동일 | 강함 — 풀링 과정에서 \(BI\) 정보가 지워져 AC1처럼 무감 | 평가자 3명 이상, 결측치 있음, 순서·등간 척도일 때 |
| Brennan-Prediger \(\kappa\) | \((p_o-1/q)/(1-1/q)\), 균등 우연 가정 | 강함 — 이진 범주에서 PABAK과 동일 | 강함 — 동상 | 범주 수 \(q>2\)로 PABAK을 일반화해야 할 때 |
| 양성 특이 일치도 (PA) | \(2a/(2a+b+c)\) | 관련 없음 — 애초에 희소 클래스만 본다 | 관련 없음 — 동상 | 희소·관심 클래스(유해)의 실질 합의를 볼 때 항상 |
Conclusion
핵심을 한 줄로 요약하면: κ가 낮다고 라벨링이 나쁜 게 아니다. κ가 낮을 수밖에 없는 데이터가 있다. 유해 비율이 2~5%인 안전 라벨링이 바로 그 데이터다. 이 글에서 유도한 \(\kappa = (2p_o-1-PI^2+BI^2)/(1-PI^2+BI^2)\)가 그 이유를 정확히 보여준다 — 유병률 지수 \(PI\)가 극단이면 κ는 무너지고(역설 1), 편향 지수 \(BI\)가 크면 κ는 오히려 부풀려진다(역설 2). 어느 쪽도 “라벨링 품질”과는 무관하다.
실무 처방은 다음과 같다.
- κ 하나만 보고하지 않는다. 항상 \(p_o\), 각 라벨러의 주변분포(\(p_{1+}, p_{+1}\)), κ, PABAK, AC1을 함께 보고한다.
- 유병률이 다른 두 연구·두 라운드의 κ 원값을 직접 비교하지 않는다. Landis & Koch (1977) 등급표는 그 저자들 스스로 “임의적”이라 밝힌 관습일 뿐이고, \(PI\)가 다르면 같은 κ도 다른 뜻이다.
- 희소 클래스(유해)의 실질 합의는 PA(양성 특이 일치도)로 따로 본다. 이게 #4에서 본 “불균형에서 accuracy가 오도한다”는 문제와 구조적으로 같은 문제이고, 해법도 같은 형태(전체 요약 대신 클래스별 분해)다.
- 목표 κ 값을 KPI로 삼지 말 것. “이번 분기 κ를 0.6 이상으로 올려라”는 목표는 유병률이 고정된 한 종류의 안전 라벨링 태스크에서는 애초에 달성 불가능한 수치를 강제할 수 있다. 개선해야 할 것은 κ 자체가 아니라 \(b, c\)(실제 불일치 건수)와 PA다.
여기까지가 신뢰도(reliability) — 같은 데이터를 다른 사람이 봐도 같은 라벨이 나오는가 — 를 다룬 4부의 마지막 편이다. 신뢰도가 확보됐다고 해서 끝난 게 아니다. 다음 편 #15 신뢰구간부터는 유의성(significance) — 라벨이 일관된다고 해서 두 모델의 점수 차이가 통계적으로 유의한 것은 아니다 — 로 넘어간다. 라벨러들이 κ=0.9로 완벽히 합의해도, 그 합의된 라벨로 계산한 모델 A와 모델 B의 점수 차이 2%p가 표본 변동 안에 있는 잡음인지는 전혀 다른 질문이다.
참고 문헌
- Feinstein, A.R. & Cicchetti, D.V., 1990. High Agreement but Low Kappa: I. The Problems of Two Paradoxes. Journal of Clinical Epidemiology, 43(6), 543-549.
- Cicchetti, D.V. & Feinstein, A.R., 1990. High Agreement but Low Kappa: II. Resolving the Paradoxes. Journal of Clinical Epidemiology, 43(6), 551-558.
- Byrt, T., Bishop, J. & Carlin, J.B., 1993. Bias, Prevalence and Kappa. Journal of Clinical Epidemiology, 46(5), 423-429.
- Gwet, K.L., 2008. Computing Inter-Rater Reliability and Its Variance in the Presence of High Agreement. British Journal of Mathematical and Statistical Psychology, 61(1), 29-48.
- Brennan, R.L. & Prediger, D.J., 1981. Coefficient Kappa: Some Uses, Misuses, and Alternatives. Educational and Psychological Measurement, 41(3), 687-699.
- Landis, J.R. & Koch, G.G., 1977. The Measurement of Observer Agreement for Categorical Data. Biometrics, 33(1), 159-174.
- Shankar, V. & Bangdiwala, S.I., 2014. Observer Agreement Paradoxes in 2x2 Tables: Comparison of Agreement Measures. BMC Medical Research Methodology, 14, 100.
- Gwet, K.L., 2013. The Paradoxes of Agreement Coefficients: An Impossible Justification (blog).
- #13 우연을 빼다 — κ 계열 — 이 글의 κ, Krippendorff’s α 기본 정의.
- #4 분류 지표 — 불균형 데이터에서 accuracy가 오도하는 것과 같은 구조.
LLM 평가 체계 시리즈
이 글은 LLM 평가 체계 시리즈의 열네 번째 글이다.
1부. 평가란 무엇인가
- 측정으로서의 평가 — 구성개념·조작화·타당도·신뢰도
- 벤치마크는 무엇을 재고 있나 — 벤치 445편 구성타당도 리뷰
2부. 무엇을 숫자로 만드나 — 평가 metric
- 척도와 허용 연산 — Likert 평균을 내도 되는가
- 분류 지표 — accuracy의 함정부터 PR-AUC까지
- 생성 지표와 그 타당도 — BLEU에서 COMET까지
- 객관식 평가는 왜 흔들리나 — 위치 편향과 포맷 민감도
3부. LLM 벤치마크 지형도
- 지식과 추론 — MMLU 계열의 흥망 — MMLU·GPQA·BBH·HELM
- 검증 가능한 도메인 — 수학과 코드 — GSM8K·MATH·HumanEval·SWE-bench
- 개방형 대화 — MT-Bench에서 Arena까지 — judge 기반 벤치의 등장
- 능력의 다른 축 — 지시따르기·긴 문맥·사실성
- 한국어 벤치마크 — 번역이 아니라 원산, 그리고 문화 타당도
4부. 사람이 읽는다 — 정성평가와 일치도
- 사람 평가 설계 — 루브릭·Likert·pairwise·BWS
- 우연을 빼다 — κ 계열 — Cohen·Fleiss·weighted·Krippendorff
- (현재 글) κ의 역설 — 일치율 90%인데 κ가 0.21
5부. 차이는 진짜인가 — 정량평가의 통계
- 점수는 추정치다 — 이항비율 신뢰구간과 Wald의 실패
- 차이는 유의한가 — paired bootstrap·순열검정·McNemar
- 몇 개를 재야 하나 — 검정력·표본크기·다중비교
- LLM eval의 통계 실무 — 클러스터 SE·IQM·분산 분해
6부. 신뢰할 수 있는 평가 체계
- judge를 통계로 다루기 — 편향·Bradley-Terry·PPI
- 오염·재현성·효율 — 오염 검정·harness·IRT
- 안전 평가의 통계와 체계 설계 — 희귀사건·calibration·체크리스트
본 시리즈는 21편으로 구성된다.
Enjoy Reading This Article?
Here are some more articles you might like to read next: