전체에서는 이겼는데 집단별로는 진 이유, 심슨의 역설

광고 캠페인 A와 B의 구매전환율을 비교했다고 하자.

전체 고객을 대상으로 계산한 결과는 다음과 같다.

캠페인구매 고객전체 고객구매전환율
A102명400명25.5%
B212명400명53.0%

전체 결과만 보면 캠페인 B가 압도적으로 우수하다.

그런데 고객을 신규 고객과 기존 고객으로 나누면 결과가 뒤집힌다.

고객 유형캠페인 A캠페인 B
신규 고객30/300 = 10.0%8/100 = 8.0%
기존 고객72/100 = 72.0%204/300 = 68.0%

신규 고객에서도 A가 더 높고, 기존 고객에서도 A가 더 높다.

그런데 전체 고객에서는 B의 구매전환율이 더 높다.

어떻게 모든 하위집단에서 A가 우수한데 전체 결과에서는 B가 우수할 수 있을까?

이처럼 하위집단에서 관찰되는 관계가 자료를 합쳤을 때 약해지거나 사라지거나 반대 방향으로 뒤집히는 현상을 심슨의 역설이라고 한다(Simpson, 1951; Blyth, 1972).

심슨의 역설은 통계계산의 오류가 아니다.

집단을 합칠 때 서로 다른 구성비가 가중치로 사용되기 때문에 나타나는 수학적으로 가능한 결과다. 어떤 변수를 기준으로 자료를 나누거나 합칠 것인지는 통계표 자체가 아니라 연구질문과 자료의 인과구조를 바탕으로 결정해야 한다(Hernán et al., 2011; Pearl, 2014).

핵심은 다음과 같다.

전체 평균은 각 하위집단의 결과뿐 아니라 하위집단이 얼마나 많이 포함되었는지에도 영향을 받는다.

심슨의 역설은 무엇인가

심슨의 역설은 세 변수 사이의 관계에서 나타난다.

  • \(X\): 비교하려는 처치나 집단
  • \(Y\): 결과변수
  • \(Z\): 자료를 나누는 제3의 변수

예를 들어 다음과 같이 정의할 수 있다.

  • \(X\): 캠페인 A 또는 B
  • \(Y\): 구매 여부
  • \(Z\): 신규 고객 또는 기존 고객

각 고객 유형에서 캠페인 A의 전환율이 B보다 높다고 하자.

\[
P(Y=1\mid X=A,Z=z)>P(Y=1\mid X=B,Z=z)
\]

이 관계가 신규 고객과 기존 고객 모두에서 성립해도 전체 자료에서는 반대 관계가 나타날 수 있다.

\[
P(Y=1\mid X=A)<P(Y=1\mid X=B)
\]

이를 전형적인 심슨의 역설이라고 한다.

심슨의 역설은 비율 비교에서만 나타나는 현상이 아니다.

다음 분석에서도 방향이 뒤집힐 수 있다.

  • 평균 차이
  • 상관계수
  • 회귀계수
  • 위험비
  • 오즈비
  • 생존율
  • 모델 성능
  • 학교별 성취도
  • 병원별 사망률
  • 매장별 구매전환율

예를 들어 전체 자료에서는 광고비와 매출이 양의 상관을 보이지만 기업 규모별로 나누면 각 규모 안에서는 음의 상관이 나타날 수 있다.

단순회귀계수의 부호가 통제변수를 추가한 뒤 반대로 바뀌는 현상도 심슨의 역설과 관련될 수 있다.

왜 이런 역전이 발생하는가

전체 성공률은 하위집단 성공률의 가중평균이다.

처치 \(X=x\)의 전체 성공확률은 다음과 같이 표현된다.

\[
P(Y=1\mid X=x)=\sum_z P(Y=1\mid X=x,Z=z)P(Z=z\mid X=x)
\]

첫 번째 부분은 하위집단별 성공률이다.

\[
P(Y=1\mid X=x,Z=z)
\]

두 번째 부분은 각 처치집단 안에서 하위집단이 차지하는 비율이다.

\[
P(Z=z\mid X=x)
\]

두 처치집단의 하위집단 구성비가 서로 다르면 전체 성공률은 서로 다른 가중치를 사용해 계산된다.

앞의 마케팅 사례를 다시 살펴보자.

캠페인 A에는 신규 고객이 75% 포함되어 있다.

\[
\frac{300}{400}=0.75
\]

캠페인 B에는 신규 고객이 25%만 포함되어 있다.

\[
\frac{100}{400}=0.25
\]

기존 고객은 신규 고객보다 구매 가능성이 훨씬 높다.

따라서 기존 고객이 많이 포함된 캠페인 B가 전체 전환율에서 유리해진다.

캠페인 A의 전체 전환율은 다음과 같다.

\[
0.75\times0.10+0.25\times0.72=0.255
\]

캠페인 B의 전체 전환율은 다음과 같다.

\[
0.25\times0.08+0.75\times0.68=0.530
\]

A는 두 고객 유형 모두에서 더 높은 전환율을 보인다.

하지만 A에는 구매 가능성이 낮은 신규 고객이 많이 포함되어 있고, B에는 구매 가능성이 높은 기존 고객이 많이 포함되어 있다.

그 구성비 차이가 하위집단 내부의 우위를 압도한 것이다.

역설이 발생하려면 어떤 조건이 필요한가

심슨의 역설이 발생하는 데에는 일반적으로 다음 세 조건이 중요하다.

제3의 변수가 결과와 강하게 관련되어 있어야 한다

신규 고객과 기존 고객의 구매전환율이 거의 같다면 고객 유형의 구성비가 달라도 전체 결과가 크게 뒤집히기 어렵다.

비교집단마다 제3의 변수 구성비가 달라야 한다

캠페인 A와 B 모두 신규 고객과 기존 고객의 비율이 같다면 전체 비율은 같은 가중치로 계산된다.

구성비 차이의 영향이 하위집단 내부의 차이보다 커야 한다

A가 각 고객 유형에서 B보다 조금 우수하더라도 A에 낮은 전환율의 고객이 압도적으로 많이 포함되면 전체 결과는 역전될 수 있다.

따라서 심슨의 역설은 단순히 “집단을 나누면 결과가 달라진다”는 현상이 아니다.

하위집단의 결과와 하위집단 구성비가 함께 작용해 전체 관계의 방향까지 뒤집는 현상이다.

신장결석 치료에서 나타난 고전적인 사례

심슨의 역설을 설명할 때 자주 사용되는 사례가 신장결석 치료자료다(Julious & Mullee, 1994; Bonovas & Piovani, 2023).

두 치료법 A와 B의 성공률이 다음과 같다고 하자.

결석 크기치료법 A성공률치료법 B성공률
작은 결석81/8793.1%234/27086.7%
큰 결석192/26373.0%55/8068.8%

작은 결석에서는 치료법 A의 성공률이 높다.

\[
93.1%>86.7%
\]

큰 결석에서도 치료법 A의 성공률이 높다.

\[
73.0%>68.8%
\]

그런데 결석 크기를 구분하지 않고 전체 성공률을 계산하면 다음과 같다.

치료법성공전체성공률
A273명350명78.0%
B289명350명82.6%

전체 자료에서는 치료법 B의 성공률이 더 높다.

치료법 A의 전체 성공률은 다음과 같다.

\[
\frac{273}{350}=0.780
\]

치료법 B의 전체 성공률은 다음과 같다.

[
\frac{289}{350}\approx0.826
]

이 역전은 치료법 A가 큰 결석 환자에게 훨씬 많이 사용되었기 때문에 발생한다.

치료법작은 결석 비율큰 결석 비율
A24.9%75.1%
B77.1%22.9%

큰 결석은 어떤 치료법을 사용해도 성공률이 낮다.

치료법 A에는 성공이 어려운 큰 결석 환자가 많이 포함되어 있고, 치료법 B에는 성공하기 쉬운 작은 결석 환자가 많이 포함되어 있다.

따라서 관찰된 전체 성공률만으로 치료법을 비교하면 환자 중증도와 치료효과가 섞이게 된다.

전체 성공률이 계산되는 과정

치료법 A의 전체 성공률은 다음 가중평균이다.

\[
\frac{87}{350}\times\frac{81}{87}
+
\frac{263}{350}\times\frac{192}{263}
\]

\[
=0.249\times0.931+0.751\times0.730
\]

\[
=0.780
\]

치료법 B의 전체 성공률은 다음과 같다.

\[
\frac{270}{350}\times\frac{234}{270}
+
\frac{80}{350}\times\frac{55}{80}
\]

\[
=0.771\times0.867+0.229\times0.688
\]

\[
\approx0.826
\]

B의 성공률이 높게 나타난 것은 각 결석 크기에서 더 우수해서가 아니다.

B에 성공 가능성이 높은 작은 결석 환자가 많이 포함되었기 때문이다.

이 사례는 다음 사실을 보여준다.

전체 비율의 차이는 치료법의 차이와 환자 구성의 차이를 동시에 반영한다.

같은 환자 구성을 적용하면 결과가 어떻게 달라질까

치료법을 공정하게 비교하려면 두 치료법에 동일한 결석 크기 분포를 적용할 수 있다.

이를 표준화라고 한다.

전체 700명 가운데 작은 결석은 357명이고 큰 결석은 343명이다.

공통 가중치는 다음과 같다.

\[
q_{\mathrm{small}}=\frac{357}{700}=0.51
\]

\[
q_{\mathrm{large}}=\frac{343}{700}=0.49
\]

이 가중치를 두 치료법에 똑같이 적용한다.

치료법 A의 표준화 성공률은 다음과 같다.

\[
0.51\times0.931+0.49\times0.730\approx0.833
\]

치료법 B의 표준화 성공률은 다음과 같다.

\[
0.51\times0.867+0.49\times0.688\approx0.779
\]

치료법관찰된 전체 성공률표준화 성공률
A78.0%약 83.3%
B82.6%약 77.9%

관찰된 환자 구성을 그대로 사용하면 B가 우수하다.

동일한 환자 구성을 적용하면 A가 우수하다.

두 계산 가운데 하나가 산술적으로 틀린 것은 아니다.

서로 다른 질문에 답하고 있다.

전체 결과와 하위집단 결과 가운데 무엇이 맞는가

심슨의 역설이 발견되면 “전체 결과는 틀리고 하위집단 결과가 맞다”고 결론 내리기 쉽다.

하지만 언제나 그런 것은 아니다.

어떤 결과를 사용해야 하는지는 연구질문에 따라 달라진다.

연구질문적절할 수 있는 결과
실제 운영에서 관찰된 전체 성공률은 얼마인가?관찰된 전체 비율
같은 환자 구성을 가정하면 어느 치료법이 우수한가?표준화하거나 조정한 결과
작은 결석 환자에게 어느 치료가 좋은가?작은 결석 하위집단 결과
큰 결석 환자에게 어느 치료가 좋은가?큰 결석 하위집단 결과
치료법 자체의 인과효과는 무엇인가?연구설계와 인과구조를 반영한 조정효과
현재 병원 환자 구성에서 예상되는 성과는 무엇인가?해당 병원의 환자 구성으로 표준화한 결과

기술적인 질문이라면 관찰된 전체 비율이 의미가 있다.

실제로 치료법 B를 받은 환자 중 82.6%가 성공했다.

이 문장은 자료에 대한 정확한 기술이다.

인과적인 질문이라면 단순한 전체 비율이 충분하지 않을 수 있다.

동일한 중증도의 환자가 치료법 A와 B를 받는다면 어느 치료법의 성공확률이 더 높은가?

이 질문에는 결석 크기를 통제하거나 동일한 분포로 표준화한 결과가 더 적합하다.

심슨의 역설은 통계량 자체보다 어떤 질문에 어떤 통계량을 연결했는지를 점검하게 만든다(Kievit et al., 2013).

버클리 대학원 입학 사례

심슨의 역설의 또 다른 유명한 사례는 1973년 캘리포니아대학교 버클리 대학원 입학자료다(Bickel et al., 1975).

전체 자료에서는 남성 지원자의 합격률이 여성 지원자보다 높게 나타났다.

처음에는 여성 지원자에게 불리한 입학 편향이 있는 것처럼 보였다.

하지만 학과별로 나누어 분석하자 상당수 학과에서 성별 합격률 차이가 작거나 반대 방향으로 나타났다.

그 이유는 여성 지원자가 전반적으로 합격률이 낮고 경쟁이 치열한 학과에 더 많이 지원했고, 남성 지원자는 상대적으로 합격률이 높은 학과에 더 많이 지원했기 때문이다.

대학 전체 합격률은 다음 두 요소를 섞어서 반영했다.

  • 각 학과 안에서의 성별 합격률
  • 남성과 여성의 학과별 지원 구성

이 사례에서 학과는 단순한 통제변수라기보다 실제 입학결정이 이루어지는 단위이기도 했다.

따라서 대학 전체 자료만으로 개별 학과의 입학결정을 평가하면 지원학과 구성의 차이가 성별 차이처럼 나타날 수 있다.

다만 이 사례를 “성차별이 전혀 없었다”는 의미로 확대해석해서도 안 된다.

Bickel 등(1975)은 학과별 입학결정뿐 아니라 여성들이 어떤 분야로 진입하게 되었는지와 그 이전 교육·사회구조도 함께 논의했다.

심슨의 역설이 단순한 통계적 착시를 넘어 사회적 선택과 제도적 구조를 보여줄 수 있다는 의미다.

심슨의 역설은 교란 때문에 발생하는가

많은 실제 사례에서 심슨의 역설은 교란변수와 관련된다.

교란변수 \(Z\)는 다음과 같은 관계를 가진다.

\[
Z\rightarrow X
\]

\[
Z\rightarrow Y
\]

신장결석 사례에서는 결석 크기가 치료법 선택과 치료 성공 모두에 영향을 줄 수 있다.

\[
\text{결석 크기}\rightarrow\text{치료법}
\]

\[
\text{결석 크기}\rightarrow\text{치료 성공}
\]

큰 결석 환자에게 치료법 A가 더 많이 선택되었다면 결석 크기는 치료법과 성공의 관계를 교란한다.

이때 결석 크기를 고려하지 않은 전체 성공률 차이는 치료효과와 중증도 차이를 함께 포함한다.

그러나 심슨의 역설이 나타났다고 해서 제3의 변수가 언제나 교란변수인 것은 아니다(Hernán et al., 2011; Pearl, 2009).

제3의 변수는 다음과 같은 역할을 가질 수 있다.

  • 교란변수
  • 매개변수
  • 충돌변수
  • 효과수정변수
  • 단순한 예측변수
  • 선택과정의 일부

어떤 역할인지에 따라 조정 여부가 달라진다.

제3의 변수를 무조건 통제하면 안 되는 이유

교란변수인 경우

다음 구조를 생각해 보자.

\[
Z\rightarrow X,\qquad Z\rightarrow Y
\]

\(Z\)가 처치 이전에 존재하고 처치와 결과 모두에 영향을 준다면 조정이 필요할 수 있다.

예를 들어 고객의 기존 충성도가 캠페인 선택과 구매 모두에 영향을 준다면 기존 충성도는 교란변수가 될 수 있다.

매개변수인 경우

다음 구조에서는 \(Z\)가 처치효과의 일부를 전달한다.

\[
X\rightarrow Z\rightarrow Y
\]

광고가 브랜드 인지도를 높이고, 브랜드 인지도가 구매를 증가시킨다고 하자.

브랜드 인지도를 통제하면 광고의 총효과가 아니라 인지도를 거치지 않는 직접효과에 가까운 값을 추정하게 된다.

총효과를 알고 싶은 연구에서 매개변수를 통제하면 관심 있는 효과의 일부를 제거할 수 있다.

충돌변수인 경우

다음 구조에서는 \(Z\)가 \(X\)와 \(Y\)의 공통 결과다.

\[
X\rightarrow Z\leftarrow Y
\]

충돌변수를 조건화하면 원래 없던 관계가 새롭게 만들어질 수 있다.

예를 들어 능력과 인맥이 모두 채용에 영향을 준다고 하자.

채용된 사람만 분석하면 능력이 낮은 사람은 강한 인맥을 가진 경우가 많고, 능력이 높은 사람은 약한 인맥으로도 채용될 수 있다. 그 결과 채용자 안에서 능력과 인맥 사이에 음의 관계가 인위적으로 나타날 수 있다.

따라서 다음 접근은 위험하다.

결과가 뒤집히는 변수를 찾았으므로 그 변수를 반드시 통제한다.

통계적 역전만으로 조정 여부를 결정해서는 안 된다.

변수가 처치와 결과 사이에서 어떤 인과적 역할을 하는지 먼저 판단해야 한다(Pearl et al., 2016).

심슨의 역설과 효과수정은 같은 개념이 아니다

효과수정 또는 상호작용은 처치효과의 크기가 하위집단에 따라 달라지는 현상이다.

예를 들어 캠페인 A와 B의 전환율 차이가 다음과 같다고 하자.

고객 유형A와 B의 전환율 차이
신규 고객2%포인트
기존 고객25%포인트

고객 유형에 따라 캠페인 효과가 크게 다르다.

이는 효과수정 가능성을 보여준다.

반면 심슨의 역설은 하위집단에서의 관계와 전체 관계가 서로 다른 방향을 보이는 현상이다.

효과수정 없이도 심슨의 역설이 발생할 수 있고, 심슨의 역설 없이도 강한 효과수정이 존재할 수 있다.

두 개념을 구분해야 한다.

  • 심슨의 역설: 합산과 층화에 따라 관계의 방향이 달라짐
  • 효과수정: 효과크기가 하위집단에 따라 달라짐
  • 교란: 비교집단의 구성 차이 때문에 효과가 왜곡됨

하위집단별 효과가 다르면 전체 조정효과 하나만 보고하는 것도 충분하지 않을 수 있다.

상호작용항과 하위집단별 효과를 함께 제시해야 한다.

주변효과와 조건부 효과는 다른 질문에 답한다

전체 자료에서 계산한 효과를 주변효과라고 부를 수 있다.

\[
P(Y=1\mid X=A)-P(Y=1\mid X=B)
\]

제3의 변수 \(Z\)가 같은 조건에서 비교한 효과는 조건부 효과다.

\[
P(Y=1\mid X=A,Z=z)-P(Y=1\mid X=B,Z=z)
\]

주변효과와 조건부 효과는 서로 다른 대상에 관한 값이다.

예를 들어 병원 운영자는 실제 환자 구성에서 전체 사망률이 얼마나 되는지 관심을 가질 수 있다.

반면 치료법을 선택하는 의사는 동일한 중증도의 환자를 비교할 때 어느 치료가 더 효과적인지 알고 싶을 수 있다.

정책결정자는 특정 지역의 인구구성을 기준으로 표준화한 효과를 원할 수 있다.

따라서 분석 전에 다음을 정해야 한다.

어느 모집단의 어떤 구성을 기준으로 어떤 효과를 추정하려는가?

이 질문을 정하지 않은 채 전체 효과와 조정효과 가운데 더 유리한 숫자를 선택해서는 안 된다.

회귀분석에서도 방향이 뒤집힐 수 있다

단순선형회귀모형을 다음과 같이 적합했다고 하자.

\[
Y=\beta_0+\beta_1X+\varepsilon
\]

이 모형에서 \(\beta_1\)이 양수로 나타날 수 있다.

제3의 변수 \(Z\)를 추가하면 다음과 같다.

\[
Y=\beta_0+\beta_1X+\beta_2Z+\varepsilon
\]

이때 \(\beta_1\)이 음수로 바뀔 수 있다.

예를 들어 전체 기업자료에서는 광고비가 많을수록 수익률이 높아 보이지만 기업 규모를 통제하면 같은 규모의 기업에서는 광고비가 많을수록 수익률이 낮게 나타날 수 있다.

단순모형과 조정모형의 계수는 서로 다른 비교를 한다.

  • 단순모형: 광고비가 다른 모든 기업의 전체 관계
  • 조정모형: 기업 규모가 같은 기업 사이의 관계

계수의 부호가 바뀌었다고 해서 조정모형이 자동으로 옳은 것은 아니다.

다음 가능성을 함께 확인해야 한다.

  • 기업 규모가 실제 교란변수인가?
  • 중요한 비선형관계가 빠졌는가?
  • 변수 사이의 다중공선성이 큰가?
  • 특정 집단에 영향력 있는 이상치가 있는가?
  • 통제변수가 매개변수나 충돌변수는 아닌가?
  • 분석대상의 범위가 집단별로 충분히 겹치는가?

오즈비에서는 비접힘성도 주의해야 한다

로지스틱 회귀분석에서는 조정 전 오즈비와 조정 후 오즈비가 달라질 수 있다.

그 차이가 모두 교란 때문인 것은 아니다.

오즈비는 비접힘성을 가진다. 결과를 잘 예측하는 변수를 모형에 추가하면 그 변수가 노출과 관련되지 않아 교란변수가 아니더라도 조건부 오즈비와 주변 오즈비가 달라질 수 있다(Hernán et al., 2011).

따라서 다음과 같은 해석은 주의해야 한다.

오즈비가 1.5에서 2.0으로 바뀌었으므로 강한 교란이 존재한다.

오즈비 변화에는 다음 요소가 섞일 수 있다.

  • 실제 교란조정
  • 오즈비의 비접힘성
  • 모형의 함수형태 변화
  • 분석표본 변화
  • 상호작용
  • 결측자료 처리 차이

가능하면 조정 전후 오즈비뿐 아니라 표준화한 예측확률, 위험차이와 위험비를 함께 제시하는 것이 도움이 된다.

심슨의 역설을 발견하는 방법

심슨의 역설을 찾기 위해 모든 변수를 무작정 기준으로 나누는 것은 좋은 방법이 아니다.

자료가 작게 분할될수록 우연한 변동이 커지고, 수많은 하위집단 가운데 우연히 방향이 뒤집히는 결과가 발견될 수 있다.

다음 순서로 접근하는 것이 좋다.

연구질문을 먼저 정의한다

전체 성과를 기술하려는지, 동일한 조건에서 비교하려는지, 인과효과를 추정하려는지 구분한다.

자료 생성과정을 확인한다

처치나 집단은 어떻게 결정되었고 결과에는 어떤 변수가 영향을 주는지 살펴본다.

전체 결과와 하위집단 결과를 모두 계산한다

전체 평균이나 비율과 이론적으로 중요한 하위집단의 결과를 나란히 비교한다.

집단 구성비를 확인한다

결과가 낮거나 높은 하위집단이 각 비교집단에 얼마나 포함되어 있는지 확인한다.

그래프로 확인한다

전체 평균만 그리지 말고 하위집단별 점과 선을 함께 표시한다.

공통 가중치로 표준화한다

같은 하위집단 분포를 적용했을 때 결과가 어떻게 달라지는지 확인한다.

상호작용을 검토한다

하위집단마다 효과크기가 다른지 평가한다.

인과구조를 검토한다

제3의 변수가 교란변수, 매개변수 또는 충돌변수인지 판단한다.

민감도 분석을 수행한다

합리적인 여러 조정방법과 표준화 대상에서 결론이 유지되는지 확인한다.

심슨의 역설을 시각화하는 방법

심슨의 역설은 표보다 그래프로 확인할 때 이해하기 쉽다.

연속형 자료에서는 다음과 같은 산점도가 유용하다.

  • 전체 자료의 회귀선
  • 하위집단별 회귀선
  • 하위집단별 색상이나 기호
  • 집단별 표본 수
  • 하위집단별 분포범위

전체 회귀선은 양의 방향인데 모든 하위집단의 회귀선은 음의 방향일 수 있다.

비율자료에서는 다음 그래프를 사용할 수 있다.

  • 하위집단별 막대그래프
  • 전체 비율과 층화 비율을 나란히 표시한 그래프
  • 점추정값과 신뢰구간 그림
  • 각 하위집단의 표본 수를 표시한 모자이크 그림
  • 표준화 전후 비율 비교

그래프에는 반드시 하위집단별 표본 수도 함께 확인해야 한다.

성공률 90%라는 값도 9명 중 8명의 결과인지 9,000명 중 8,100명의 결과인지에 따라 불확실성이 크게 다르다.

R로 신장결석 자료 만들기

고전적인 신장결석 예제를 R에서 재현해 보자.

kidney_data <- data.frame(
  treatment = factor(
    c(
      "A",
      "B",
      "A",
      "B"
    ),
    levels = c(
      "B",
      "A"
    )
  ),
  size = factor(
    c(
      "small",
      "small",
      "large",
      "large"
    ),
    levels = c(
      "small",
      "large"
    )
  ),
  success = c(
    81,
    234,
    192,
    55
  ),
  failure = c(
    6,
    36,
    71,
    25
  )
)
R

각 셀의 전체 환자 수와 성공률을 계산한다.

kidney_data$total <- with(
  kidney_data,
  success +
    failure
)

kidney_data$success_rate <- with(
  kidney_data,
  success /
    total
)

kidney_data
R

결석 크기별로 치료법 A의 성공률이 치료법 B보다 높은 것을 확인할 수 있다.

R로 전체 성공률 계산하기

치료법별로 성공과 실패를 합산한다.

overall_result <- aggregate(
  cbind(
    success,
    failure
  ) ~ treatment,
  data = kidney_data,
  FUN = sum
)

overall_result$total <- with(
  overall_result,
  success +
    failure
)

overall_result$success_rate <- with(
  overall_result,
  success /
    total
)

overall_result
R

결과는 다음과 같은 구조를 보인다.

치료법전체 성공률
B약 82.6%
A78.0%

결석 크기를 무시한 전체 결과에서는 B가 우수하다.

R로 하위집단별 성공률 확인하기

stratified_result <- kidney_data[
  c(
    "treatment",
    "size",
    "success",
    "failure",
    "total",
    "success_rate"
  )
]

stratified_result
R

결석 크기별 결과는 다음과 같다.

결석 크기치료법 A치료법 B
작은 결석약 93.1%약 86.7%
큰 결석약 73.0%약 68.8%

두 하위집단 모두에서 A가 우수하다.

R로 하위집단 구성비 확인하기

composition <- prop.table(
  xtabs(
    total ~
      treatment +
      size,
    data = kidney_data
  ),
  margin = 1
)

composition
R

이 결과를 통해 치료법 A에는 큰 결석 환자가 많이 포함되고, 치료법 B에는 작은 결석 환자가 많이 포함되어 있음을 확인할 수 있다.

심슨의 역설을 탐색할 때는 성과 비율뿐 아니라 이러한 분모의 구성도 반드시 살펴야 한다.

R로 공통 가중치 표준화하기

전체 표본의 결석 크기 분포를 공통 가중치로 사용한다.

size_total <- aggregate(
  total ~ size,
  data = kidney_data,
  FUN = sum
)

common_weight <- setNames(
  size_total$total /
    sum(
      size_total$total
    ),
  size_total$size
)

common_weight
R

두 치료법에 같은 가중치를 적용한다.

standardized_rate <- tapply(
  seq_len(
    nrow(
      kidney_data
    )
  ),
  kidney_data$treatment,
  function(rows) {
    sum(
      kidney_data$success_rate[
        rows
      ] *
        common_weight[
          as.character(
            kidney_data$size[
              rows
            ]
          )
        ]
    )
  }
)

standardized_rate
R

표준화 결과에서는 치료법 A의 성공률이 치료법 B보다 높게 나타난다.

표준화 대상은 연구목적에 따라 달라질 수 있다.

  • 전체 연구표본의 분포
  • 특정 병원의 환자 분포
  • 국가 인구분포
  • 정책 적용대상
  • 임상적으로 정의한 표준 모집단

표준화 대상을 바꾸면 결과도 달라질 수 있으므로 어떤 분포를 사용했는지 보고해야 한다.

R로 조정 전후 로지스틱 회귀 비교하기

결석 크기를 고려하지 않은 로지스틱 회귀모형을 적합한다.

unadjusted_model <- glm(
  cbind(
    success,
    failure
  ) ~ treatment,
  family = binomial,
  data = kidney_data
)

summary(
  unadjusted_model
)
R

치료법 B를 기준범주로 설정했기 때문에 treatmentA 계수는 A와 B의 오즈를 비교한다.

전체 자료에서는 A의 성공 오즈가 낮게 추정될 수 있다.

결석 크기를 조정한 모형은 다음과 같다.

adjusted_model <- glm(
  cbind(
    success,
    failure
  ) ~
    treatment +
    size,
  family = binomial,
  data = kidney_data
)

summary(
  adjusted_model
)
R

오즈비를 계산한다.

unadjusted_odds_ratio <- exp(
  coef(
    unadjusted_model
  )
)

adjusted_odds_ratio <- exp(
  coef(
    adjusted_model
  )
)

unadjusted_odds_ratio

adjusted_odds_ratio
R

조정 전에는 치료법 A의 계수가 음의 방향이지만 결석 크기를 조정하면 양의 방향으로 바뀔 수 있다.

이는 결석 크기가 치료법 배정과 성공률 모두에 관련되어 있기 때문이다.

다만 조정 오즈비와 표준화 위험차이는 동일한 효과척도가 아니다. 오즈비를 확률비처럼 해석해서는 안 된다.

R로 하위집단 성공률을 시각화하기

결석 크기별 성공률을 막대그래프로 확인할 수 있다.

rate_matrix <- xtabs(
  success_rate ~
    size +
    treatment,
  data = kidney_data
)

barplot(
  rate_matrix,
  beside = TRUE,
  ylim = c(
    0,
    1
  ),
  legend.text = rownames(
    rate_matrix
  ),
  args.legend = list(
    x = "bottomright"
  ),
  xlab = "치료법",
  ylab = "성공률",
  main = "결석 크기별 치료 성공률"
)
R

이 그래프에서는 작은 결석과 큰 결석 모두에서 A의 성공률이 높다는 사실을 확인할 수 있다.

전체 성공률 그래프를 별도로 그리면 전체에서는 B가 높다는 역전도 확인할 수 있다.

일반적인 데이터에서 심슨의 역설 확인하기

개별 관측값으로 구성된 자료가 있고 다음 변수가 있다고 하자.

  • outcome: 성공 1, 실패 0
  • treatment: A 또는 B
  • stratum: 고객 유형이나 중증도

전체 결과를 계산한다.

aggregate(
  outcome ~ treatment,
  data = analysis_data,
  FUN = mean
)
R

하위집단별 결과를 계산한다.

aggregate(
  outcome ~
    treatment +
    stratum,
  data = analysis_data,
  FUN = mean
)
R

하위집단 구성비를 확인한다.

prop.table(
  table(
    analysis_data$treatment,
    analysis_data$stratum
  ),
  margin = 1
)
R

세 결과를 함께 살펴야 한다.

  1. 전체 관계의 방향
  2. 하위집단 관계의 방향
  3. 비교집단별 하위집단 구성비

전체 방향과 모든 하위집단 방향이 반대라면 전형적인 심슨의 역설 가능성을 검토할 수 있다.

분석 결과는 어떻게 보고해야 할까

다음과 같은 보고는 충분하지 않다.

치료법 B의 성공률이 A보다 높았다.

이 문장은 결석 크기의 구성 차이를 숨긴다.

반대로 다음처럼만 쓰는 것도 충분하지 않다.

결석 크기를 통제하자 치료법 A가 더 우수했다.

왜 결석 크기를 통제했는지, 어떤 방법으로 조정했는지 알 수 없다.

보다 좋은 보고는 다음과 같다.

전체 관찰자료에서 치료 성공률은 치료법 A가 78.0%, 치료법 B가 82.6%였다. 그러나 치료법 A에는 큰 결석 환자가 75.1% 포함된 반면 치료법 B에는 22.9%만 포함되어 환자 중증도 구성이 크게 달랐다. 결석 크기별 성공률은 작은 결석에서 A 93.1%, B 86.7%, 큰 결석에서 A 73.0%, B 68.8%로 두 하위집단 모두 A가 높았다. 전체 연구표본의 결석 크기 분포를 공통 가중치로 적용한 표준화 성공률은 A 약 83.3%, B 약 77.9%였다. 결석 크기는 치료법 선택과 성공 가능성 모두에 관련된 사전 변수로 판단되어 조정하였다. 관찰자료이므로 측정되지 않은 교란 가능성은 남아 있다.

다음 정보도 함께 제시하는 것이 좋다.

  1. 전체 표본의 결과
  2. 하위집단별 결과
  3. 하위집단별 표본 수
  4. 비교집단별 하위집단 구성비
  5. 층화변수 선정근거
  6. 층화변수의 인과적 역할
  7. 사용한 효과척도
  8. 표준화 대상 모집단
  9. 조정방법
  10. 상호작용 검토결과
  11. 신뢰구간
  12. 결측자료 처리방법
  13. 미측정 교란 가능성
  14. 민감도 분석
  15. 기술적 해석과 인과적 해석의 구분

자주 발생하는 오류

전체 결과만 보고 결론을 내린다

하위집단 구성이 서로 다르면 전체 결과는 구성 차이를 반영할 수 있다.

하위집단 결과가 언제나 옳다고 생각한다

층화변수가 매개변수나 충돌변수라면 조정이 오히려 잘못된 결과를 만들 수 있다.

결과가 뒤집히는 모든 변수를 통제한다

통제 여부는 통계적 역전이 아니라 인과구조에 근거해야 한다.

표본 수를 확인하지 않고 비율만 비교한다

작은 하위집단의 극단적인 비율은 표본변동이 클 수 있다.

하위집단을 결과를 본 뒤 임의로 만든다

수많은 범주를 탐색하면 우연한 역전이 발견될 수 있다.

연속형 변수를 임의로 두 범주로 나눈다

연령이나 중증도를 임의로 이분화하면 정보가 손실되고 범주경계에 따라 결과가 달라질 수 있다.

교란과 효과수정을 같은 개념으로 취급한다

교란은 비교의 왜곡이고 효과수정은 효과가 집단마다 달라지는 현상이다.

조정 전후 계수 변화가 모두 교란 때문이라고 생각한다

오즈비의 비접힘성, 분석표본 변화와 모형설정도 영향을 줄 수 있다.

조정결과를 자동으로 인과효과라고 해석한다

관찰자료에서는 미측정 교란과 선택편향이 남을 수 있다.

유리한 결과만 선택한다

전체 결과가 유리하면 전체만 보고하고 하위집단 결과가 유리하면 조정결과만 보고하는 방식은 부적절하다.

분석 전에 확인할 질문

  1. 연구에서 알고 싶은 것은 전체 성과인가, 동일한 조건에서의 비교인가?
  2. 처치나 집단은 어떤 과정으로 결정되었는가?
  3. 결과에 강하게 영향을 주는 사전 변수가 있는가?
  4. 비교집단마다 하위집단 구성비가 다른가?
  5. 전체 결과와 하위집단 결과의 방향이 다른가?
  6. 층화변수는 교란변수인가?
  7. 층화변수가 처치 이후에 측정된 매개변수는 아닌가?
  8. 충돌변수를 잘못 통제하고 있지 않은가?
  9. 하위집단별 표본 수는 충분한가?
  10. 효과크기와 신뢰구간을 함께 확인했는가?
  11. 하위집단별 효과가 서로 다른가?
  12. 상호작용을 직접 검정했는가?
  13. 연속형 변수를 불필요하게 범주화하지 않았는가?
  14. 공통 가중치로 표준화할 수 있는가?
  15. 어떤 모집단을 표준화 대상으로 정했는가?
  16. 주변효과와 조건부 효과를 구분했는가?
  17. 조정 전후 오즈비 차이를 과도하게 해석하지 않았는가?
  18. 전체 결과와 층화 결과를 모두 투명하게 보고했는가?
  19. 관찰된 연관성을 인과효과로 확대하지 않았는가?
  20. 다른 합리적인 분석방법에서도 결론이 유지되는가?

역설처럼 보이지만 실제로는 서로 다른 질문입니다

심슨의 역설은 전체 자료와 하위집단 자료가 서로 모순된다는 뜻이 아니다.

두 결과는 서로 다른 가중치와 서로 다른 비교대상을 사용한다.

비전공자는 다음 다섯 문장으로 기억할 수 있다.

전체 평균은 하위집단 결과와 하위집단 구성비가 함께 결정한다.

모든 하위집단에서 우수한 전략이 전체 자료에서는 열등하게 보일 수 있다.

전체 결과와 조정결과 가운데 어느 것이 적절한지는 연구질문에 따라 달라진다.

결과를 뒤집는 변수를 무조건 통제해서는 안 된다.

교란변수, 매개변수와 충돌변수를 인과적으로 구분해야 한다.

병원 A의 전체 사망률이 병원 B보다 높다고 해서 병원 A의 치료수준이 반드시 낮은 것은 아니다. 병원 A가 중증환자를 더 많이 치료하고 있을 수 있다.

광고 캠페인 B의 전체 구매전환율이 높다고 해서 같은 유형의 고객에게 B가 더 효과적이라는 뜻도 아니다. B에 구매 가능성이 높은 기존 고객이 더 많이 배정되었을 수 있다.

학교의 전체 평균점수가 낮다고 해서 모든 학생집단의 교육성과가 낮은 것도 아니다. 입학생의 초기 학업수준과 학년 구성이 다를 수 있다.

심슨의 역설이 주는 가장 중요한 교훈은 자료를 무조건 더 세분화하라는 것이 아니다.

누가 누구와 비교되고 있으며, 그 비교집단은 어떻게 구성되었고, 제3의 변수는 어떤 인과적 역할을 하는지를 먼저 확인하라는 것이다.

숫자를 합치는 것은 쉽다.

하지만 서로 다른 사람, 환자, 고객과 조직을 어떤 기준으로 합쳐도 되는지 판단하는 일은 통계계산보다 어렵다.

전체 결과와 하위집단 결과가 충돌할 때 필요한 것은 더 유리한 숫자를 선택하는 일이 아니다. 분석하려는 질문을 명확히 하고, 자료 생성과정과 인과구조에 맞는 비교를 선택하는 일이다.

참고문헌

Bickel, P. J., Hammel, E. A., & O’Connell, J. W. (1975). Sex bias in graduate admissions: Data from Berkeley. Science, 187(4175), 398–404. https://doi.org/10.1126/science.187.4175.398

Blyth, C. R. (1972). On Simpson’s paradox and the sure-thing principle. Journal of the American Statistical Association, 67(338), 364–366. https://doi.org/10.1080/01621459.1972.10482387

Bonovas, S., & Piovani, D. (2023). Simpson’s paradox in clinical research: A cautionary tale. Journal of Clinical Medicine, 12(4), 1633. https://doi.org/10.3390/jcm12041633

Ding, P. (2024). A first course in causal inference. Chapman & Hall/CRC. https://doi.org/10.1201/9781003484080

Hernán, M. A., Clayton, D., & Keiding, N. (2011). The Simpson’s paradox unraveled. International Journal of Epidemiology, 40(3), 780–785. https://doi.org/10.1093/ije/dyr041

Julious, S. A., & Mullee, M. A. (1994). Confounding and Simpson’s paradox. BMJ, 309(6967), 1480–1481. https://doi.org/10.1136/bmj.309.6967.1480

Kievit, R. A., Frankenhuis, W. E., Waldorp, L. J., & Borsboom, D. (2013). Simpson’s paradox in psychological science: A practical guide. Frontiers in Psychology, 4, 513. https://doi.org/10.3389/fpsyg.2013.00513

Lerman, K. (2018). Computational social scientist beware: Simpson’s paradox in behavioral data. Journal of Computational Social Science, 1, 49–58. https://doi.org/10.1007/s42001-017-0007-4

Pearl, J. (2009). Causality: Models, reasoning, and inference (2nd ed.). Cambridge University Press. https://doi.org/10.1017/CBO9780511803161

Pearl, J. (2014). Comment: Understanding Simpson’s paradox. The American Statistician, 68(1), 8–13. https://doi.org/10.1080/00031305.2014.876829

Pearl, J., Glymour, M., & Jewell, N. P. (2016). Causal inference in statistics: A primer. Wiley. https://doi.org/10.1002/9781119186847

Simpson, E. H. (1951). The interpretation of interaction in contingency tables. Journal of the Royal Statistical Society: Series B, 13(2), 238–241. https://doi.org/10.1111/j.2517-6161.1951.tb00088.x

Sprenger, J., & Weinberger, N. (2021). Simpson’s paradox. In E. N. Zalta (Ed.), The Stanford encyclopedia of philosophy. https://plato.stanford.edu/entries/paradox-simpson/

Yule, G. U. (1903). Notes on the theory of association of attributes in statistics. Biometrika, 2(2), 121–134. https://doi.org/10.1093/biomet/2.2.121

태그

#심슨의역설 #SimpsonsParadox #교란변수 #인과추론 #층화분석 #표준화 #가중평균 #회귀분석 #로지스틱회귀 #상호작용 #효과수정 #데이터시각화 #마케팅분석 #의학통계 #R통계 #통계해석 #데이터분석 #연구방법론

scroll to the top of the site