κ의 역설 — 일치율 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 paradoxbias 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). 어느 쪽도 “라벨링 품질”과는 무관하다.

실무 처방은 다음과 같다.

  1. κ 하나만 보고하지 않는다. 항상 \(p_o\), 각 라벨러의 주변분포(\(p_{1+}, p_{+1}\)), κ, PABAK, AC1을 함께 보고한다.
  2. 유병률이 다른 두 연구·두 라운드의 κ 원값을 직접 비교하지 않는다. Landis & Koch (1977) 등급표는 그 저자들 스스로 “임의적”이라 밝힌 관습일 뿐이고, \(PI\)가 다르면 같은 κ도 다른 뜻이다.
  3. 희소 클래스(유해)의 실질 합의는 PA(양성 특이 일치도)로 따로 본다. 이게 #4에서 본 “불균형에서 accuracy가 오도한다”는 문제와 구조적으로 같은 문제이고, 해법도 같은 형태(전체 요약 대신 클래스별 분해)다.
  4. 목표 κ 값을 KPI로 삼지 말 것. “이번 분기 κ를 0.6 이상으로 올려라”는 목표는 유병률이 고정된 한 종류의 안전 라벨링 태스크에서는 애초에 달성 불가능한 수치를 강제할 수 있다. 개선해야 할 것은 κ 자체가 아니라 \(b, c\)(실제 불일치 건수)와 PA다.

여기까지가 신뢰도(reliability) — 같은 데이터를 다른 사람이 봐도 같은 라벨이 나오는가 — 를 다룬 4부의 마지막 편이다. 신뢰도가 확보됐다고 해서 끝난 게 아니다. 다음 편 #15 신뢰구간부터는 유의성(significance) — 라벨이 일관된다고 해서 두 모델의 점수 차이가 통계적으로 유의한 것은 아니다 — 로 넘어간다. 라벨러들이 κ=0.9로 완벽히 합의해도, 그 합의된 라벨로 계산한 모델 A와 모델 B의 점수 차이 2%p가 표본 변동 안에 있는 잡음인지는 전혀 다른 질문이다.

참고 문헌


LLM 평가 체계 시리즈

이 글은 LLM 평가 체계 시리즈의 열네 번째 글이다.

1부. 평가란 무엇인가

  1. 측정으로서의 평가 — 구성개념·조작화·타당도·신뢰도
  2. 벤치마크는 무엇을 재고 있나 — 벤치 445편 구성타당도 리뷰

2부. 무엇을 숫자로 만드나 — 평가 metric

  1. 척도와 허용 연산 — Likert 평균을 내도 되는가
  2. 분류 지표 — accuracy의 함정부터 PR-AUC까지
  3. 생성 지표와 그 타당도 — BLEU에서 COMET까지
  4. 객관식 평가는 왜 흔들리나 — 위치 편향과 포맷 민감도

3부. LLM 벤치마크 지형도

  1. 지식과 추론 — MMLU 계열의 흥망 — MMLU·GPQA·BBH·HELM
  2. 검증 가능한 도메인 — 수학과 코드 — GSM8K·MATH·HumanEval·SWE-bench
  3. 개방형 대화 — MT-Bench에서 Arena까지 — judge 기반 벤치의 등장
  4. 능력의 다른 축 — 지시따르기·긴 문맥·사실성
  5. 한국어 벤치마크 — 번역이 아니라 원산, 그리고 문화 타당도

4부. 사람이 읽는다 — 정성평가와 일치도

  1. 사람 평가 설계 — 루브릭·Likert·pairwise·BWS
  2. 우연을 빼다 — κ 계열 — Cohen·Fleiss·weighted·Krippendorff
  3. (현재 글) κ의 역설 — 일치율 90%인데 κ가 0.21

5부. 차이는 진짜인가 — 정량평가의 통계

  1. 점수는 추정치다 — 이항비율 신뢰구간과 Wald의 실패
  2. 차이는 유의한가 — paired bootstrap·순열검정·McNemar
  3. 몇 개를 재야 하나 — 검정력·표본크기·다중비교
  4. LLM eval의 통계 실무 — 클러스터 SE·IQM·분산 분해

6부. 신뢰할 수 있는 평가 체계

  1. judge를 통계로 다루기 — 편향·Bradley-Terry·PPI
  2. 오염·재현성·효율 — 오염 검정·harness·IRT
  3. 안전 평가의 통계와 체계 설계 — 희귀사건·calibration·체크리스트

본 시리즈는 21편으로 구성된다.




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • 안전 평가의 통계와 체계 설계 — 희귀사건과 calibration, 스물한 편의 마지막 체크리스트
  • 오염·재현성·효율 — 이 점수는 무엇을 재고 있나
  • judge를 통계로 다루기 — 편향, Bradley-Terry, PPI
  • LLM eval의 통계 실무 — 클러스터 SE, 분산 분해, IQM
  • 몇 개를 재야 하나 — 검정력, 표본크기, 다중비교