콘텐츠로 이동

방향성 비순환 그래프

이 장에서 우리는 교란요인, 매개자, 충돌자, 잠복변수를 만나 왔다. 방향성 비순환 그래프(DAG)는 변수들 사이의 인과관계를 나타내는 시각적·수학적 틀을 제공하여 어떤 변수를 통제하고 어떤 변수를 그대로 두어야 하는지 판정할 수 있게 해 준다. DAG는 주로 Judea Pearl이 발전시킨 현대 그래프 기반 인과추론의 토대이다.


DAG란

방향성 비순환 그래프는 다음으로 이루어진 그래프이다:

  • 노드(꼭짓점): 각 노드는 변수를 나타낸다.
  • 방향 간선(화살표): \(A\)에서 \(B\)로 가는 화살표는 \(A\)가 \(B\)의 직접 원인이라는 뜻이다.
  • 비순환: 방향 순환이 없다(화살표를 따라가 자기 자신으로 돌아올 수 없다).

두 노드 사이에 화살표가 없다는 것은 둘 사이에 직접적인 인과효과가 없다는 뜻이다(다른 노드를 통한 간접 효과는 있을 수 있다).


세 가지 기본 구조

DAG의 모든 경로는 세 가지 기본 요소로 이루어진다. 이 세 구조를 이해하면 어떤 DAG의 통계적 함의든 판정할 수 있다.

1. 사슬 (매개)

\[ A \rightarrow B \rightarrow C \]

\(B\)는 \(A\)에서 \(C\)로 가는 인과 경로 위의 매개자이다. 정보가 \(B\)를 통해 \(A\)에서 \(C\)로 흐른다.

  • 조건화하지 않으면: \(A\)와 \(C\)가 연관된다.
  • \(B\)로 조건화하면: 경로가 막힌다. \(B\)가 주어졌을 때 \(A\)와 \(C\)가 조건부 독립이 된다.

2. 갈래 (공통원인)

\[ A \leftarrow B \rightarrow C \]

\(B\)는 \(A\)와 \(C\)의 공통원인(교란요인)이다. 정보가 공통원인 \(B\)를 통해 \(A\)와 \(C\) 사이를 흐른다.

  • 조건화하지 않으면: \(A\)와 \(C\)가 연관된다.
  • \(B\)로 조건화하면: 경로가 막힌다. \(B\)가 주어졌을 때 \(A\)와 \(C\)가 조건부 독립이 된다.

3. 충돌자 (공통결과)

\[ A \rightarrow B \leftarrow C \]

\(B\)는 충돌자이다. \(A\)와 \(C\) 모두에 의해 생긴다.

  • 조건화하지 않으면: \(A\)와 \(C\)가 연관되지 않는다(경로가 막혀 있다).
  • \(B\)로 조건화하면: 경로가 열려 \(A\)와 \(C\) 사이에 허위 연관이 생긴다.

충돌자로 조건화하면 편향이 생긴다

조건화가 경로를 막는 사슬·갈래와 달리, 충돌자로 조건화하면 막혀 있던 경로가 열린다. 이는 선택 편향의 흔한 원천이며, 회귀에 변수를 무분별하게 넣으면 추정이 나아지기는커녕 나빠질 수 있는 이유이다.

사슬과 갈래에서는 조건화가 관계를 없애고, 충돌자에서는 없던 관계를 만든다

세 구조를 각각 900개 관측값으로 만들어 \(A\)와 \(C\)의 관계를 두 방식으로 잰 그림이다. 붉은 파선은 \(B\)를 무시하고 전체에 맞춘 직선이고, 점의 색은 \(B\)의 사분위 층이며 파란 직선들은 각 층 안에서 맞춘 직선이다. 표기된 두 숫자 중 아래쪽은 \(B\)를 통제한 뒤의 상관, 곧 \(A\)와 \(C\)를 각각 \(B\)에 회귀시키고 남은 잔차끼리의 상관이다.

사슬과 갈래는 숫자가 똑같이 움직인다. 사슬에서는 \(+0.70 \to -0.01\), 갈래에서는 \(+0.68 \to +0.01\). 붉은 파선은 가파르게 올라가는데 층 안의 파란 직선들은 거의 평평하다. \(B\)를 알고 나면 \(A\)는 \(C\)에 대해 더 말해 줄 것이 없다는 뜻이며, 이것이 "조건화하면 경로가 막힌다"의 구체적인 내용이다. 그리고 두 구조가 남기는 자료가 이렇게 구별되지 않는다는 사실이 중요하다. 상관 패턴만으로는 \(B\)가 매개자인지 교란요인인지 알 수 없고, 그래서 어느 쪽을 통제해야 하는지도 자료가 아니라 DAG가 결정한다.

충돌자는 정반대로 간다. \(B\)를 무시하면 \(r = -0.03\), 곧 \(A\)와 \(C\)는 사실상 무관하다. 실제로 둘은 독립으로 생성했으니 옳은 값이다. 그런데 \(B\)를 통제하는 순간 \(r = -0.81\)이라는 강한 음의 상관이 생겨난다. 세 번째 판에서 각 층의 파란 직선이 가파르게 내려가는 것이 그것이다. 이유는 단순하다. \(B = A + C\) 근처의 값으로 묶어 놓으면, 그 층 안에서 \(A\)가 큰 관측값은 \(C\)가 작을 수밖에 없다.

실무적 교훈은 하나다. "가진 변수를 모두 넣으면 안전하다"는 직관은 틀렸다. 위 세 판에서 \(B\)를 넣는 행위는 각각 총효과 차단, 교란 제거, 편향 생성이라는 전혀 다른 결과를 낳았고, 셋 다 같은 회귀 코드 한 줄로 보인다. 어느 경우인지는 변수 이름 옆의 화살표를 먼저 그려 봐야만 알 수 있다.


d-분리

d-분리(방향 분리) 개념은 세 기본 구조를 일반화하여, 주어진 조건 변수 집합 아래에서 두 변수가 조건부 독립인지 판정한다.

두 노드 \(X\)와 \(Y\)가 집합 \(S\)에 의해 d-분리된다는 것은, \(X\)와 \(Y\) 사이의 모든 무방향 경로에 대해 다음 중 하나가 성립한다는 뜻이다:

  1. 경로가 사슬 \(A \rightarrow B \rightarrow C\) 또는 갈래 \(A \leftarrow B \rightarrow C\)를 포함하고 \(B \in S\)이다(충돌자가 아닌 노드로 조건화하여 경로가 막힌다). 또는

  2. 경로가 충돌자 \(A \rightarrow B \leftarrow C\)를 포함하고 \(B \notin S\)이며 \(B\)의 어떤 후손도 \(S\)에 없다(충돌자로 조건화하지 않아 경로가 막힌다).

\(X\)와 \(Y\)가 \(S\)에 의해 d-분리되면, 그 DAG와 양립하는 어떤 확률분포에서도 \(X\)와 \(Y\)는 \(S\)가 주어졌을 때 조건부 독립이다:

\[ X \perp\!\!\!\perp Y \mid S \]

뒷문 기준

뒷문 기준은 \(X\)가 \(Y\)에 미치는 인과효과를 추정할 때 어떤 변수를 통제해야 하는지 알려주는 실용적인 규칙이다.

변수 집합 \(S\)가 \((X, Y)\)에 대해 뒷문 기준을 만족한다는 것은:

  1. \(S\)의 어떤 변수도 \(X\)의 후손이 아니다.
  2. \(S\)가 \(X\)로 들어오는 화살표를 포함하는 \(X\)–\(Y\) 사이의 모든 경로("뒷문 경로")를 막는다.

그런 집합 \(S\)가 존재하면 \(X\)가 \(Y\)에 미치는 인과효과가 조정 공식으로 식별된다:

\[ P(Y \mid \text{do}(X = x)) = \sum_s P(Y \mid X = x, S = s) \, P(S = s) \]

Pearl이 도입한 \(\text{do}(\cdot)\) 표기는 개입 분포(\(X\)를 어떤 값으로 설정할 때 일어나는 일)와 관찰 분포(\(X\)가 어떤 값을 가질 때 우리가 관측하는 것)를 구별한다.


보기 1. 뒷문 기준의 적용. 다음 DAG를 생각하자:

풀이
\[ Z \rightarrow X \rightarrow Y, \quad Z \rightarrow Y \]

여기서 \(Z\)는 교란요인이다(뒷문 경로 \(X \leftarrow Z \rightarrow Y\)가 있다). \(X\)가 \(Y\)에 미치는 인과효과를 추정하려면:

  • \(Z\)를 통제한다: \(Z\)가 \(X\)의 후손이 아니고 뒷문 경로를 막으므로 \(S = \{Z\}\)가 뒷문 기준을 만족한다.
  • 아무것도 통제하지 않으면 안 된다: \(S = \emptyset\)은 뒷문 경로 \(X \leftarrow Z \rightarrow Y\)가 열린 채로 남아 실패한다.

이제 다음을 보자:

\[ X \rightarrow M \rightarrow Y, \quad X \rightarrow Y \]

여기서 \(M\)은 매개자이다. \(X\)가 \(Y\)에 미치는 총 인과효과를 추정하려면:

  • \(M\)을 통제하지 않는다: (\(X\)로 들어오는 화살표가 없어) 뒷문 경로가 없으므로 \(S = \emptyset\)으로 충분하다.
  • \(M\)을 통제하면 간접 경로가 막혀 총효과가 아니라 직접효과만 추정하게 된다.

DAG를 쓰는 실무 절차

  1. DAG를 그린다. 관련 변수를 모두 나열하고 인과관계에 대한 분야 지식에 근거해 화살표를 그린다. 이 단계는 통계 분석이 아니라 도메인 전문성을 요구한다.

  2. 인과적 질문을 정한다. 무엇을 추정하는가? \(X\)가 \(Y\)에 미치는 총효과? 직접효과?

  3. 모든 뒷문 경로를 찾는다. \(X\)로 들어오는 화살표를 가진 \(X\)에서 \(Y\)로의 경로를 모두 나열한다.

  4. 뒷문 기준을 적용한다. (\(X\)의 후손이나 충돌자를 포함하지 않으면서) 모든 뒷문 경로를 막는 집합 \(S\)를 찾는다.

  5. 분석에서 \(S\)를 조정한다. 회귀, 층화, 짝짓기 절차에서 \(S\)의 변수들을 공변량으로 넣는다.


흔한 실수

실수 무엇이 잘못인가
총효과를 추정하면서 매개자를 통제 인과 경로의 일부를 막는다
충돌자를 통제 허위 경로를 연다
충돌자의 후손을 통제 역시 충돌자 경로를 연다
사용 가능한 모든 변수를 회귀에 넣기 충돌자 편향을 만들거나 인과 경로를 막을 수 있다

통제변수가 많을수록 언제나 좋은 것은 아니라는 것이 원칙이다. 어떤 변수를 넣고 뺄지는 DAG가 알려준다.


연습문제

연습문제 1. 다음 인과 구조를 나타내는 DAG를 그려라: 흡연이 폐암을 일으키고, 흡연이 치아 착색을 일으키며, 폐암은 치아 착색을 일으키지 않는다. 흡연–폐암 관계에서 치아 착색이 교란요인인지, 매개자인지, 충돌자인지 밝혀라.

풀이

DAG는 흡연 \(\to\) 폐암, 흡연 \(\to\) 치아 착색이다. 폐암과 치아 착색 사이에는 화살표가 없다.

치아 착색은 흡연–폐암 관계에서 교란요인도, 매개자도, 충돌자도 아니다. 흡연의 또 다른 결과(다른 인과 경로 위의 "후손")일 뿐이다. 치아 착색으로 조건화하는 것은 불필요하며 대체로 해롭지도 않지만 효율은 조금 떨어뜨린다.

교란요인이라면 흡연과 폐암 모두의 공통원인이어야 하고, 매개자라면 둘 사이의 인과 경로 위에 있어야 하며, 충돌자라면 둘 모두의 공통결과여야 한다.

연습문제 2. DAG \(X \to Z \to Y\)에서 \(Z\)가 매개자인 이유와, \(Z\)로 조건화하면 \(X\)와 \(Y\)의 연관이 어떻게 되는지 설명하라.

풀이

\(Z\)는 \(X\)에서 \(Y\)로 가는 인과 경로 위에 있으므로 매개자이다. \(X\)의 효과는 \(Z\)를 통해 작동한다. \(X\)가 \(Z\)를 일으키고 \(Z\)가 다시 \(Y\)를 일으킨다.

\(Z\)로 조건화하면(예: 회귀에 \(Z\)를 공변량으로 넣으면) 인과 경로 \(X \to Z \to Y\)가 막힌다. 그러면 \(X\)와 \(Y\)의 연관이 사라진다(직접 화살표 \(X \to Y\)도 있다면 직접효과만 남는다).

실무적으로 중요하다. \(X\)가 \(Y\)에 미치는 총 인과효과를 추정하려면 매개자로 조건화해서는 안 된다. (\(Z\)를 통하지 않는) 직접효과만 원한다면 \(Z\)로 조건화하는 것이 적절하다.

연습문제 3. DAG \(X \to Z \leftarrow Y\)를 생각하자. \(Z\)가 충돌자인 이유와 \(Z\)로 조건화할 때 생기는 역설적인 효과를 설명하라.

풀이

\(X\)와 \(Y\)에서 화살표 두 개가 들어오므로 \(Z\)는 충돌자이다. 이 구조에서 \(X\)와 \(Y\)는 주변적으로 독립이다(둘 사이에 인과적 연결이 없다).

그러나 충돌자 \(Z\)로 조건화하면 \(X\)와 \(Y\) 사이에 허위 연관이 생긴다. 이를 "충돌자 편향" 또는 "Berkson의 역설"이라 한다. 직관적으로, \(Z\)가 일어났음을 알 때 \(X\)가 원인이 아니었다는 것을 알면 \(Y\)가 원인일 가능성이 커지고(그 반대도 마찬가지), 그래서 음의 상관이 유도된다.

예: 인구 전체에서는 재능(\(X\))과 외모(\(Y\))가 독립일 수 있지만, 배우들(\(Z\) = 배우가 됨. 재능이나 외모 중 하나가 필요하다) 안에서는 음의 상관으로 보인다. \(Z\)로 조건화하는 것이 조건화 전에는 막혀 있던 경로를 연 것이다.

연습문제 4. \(U\)가 관측되지 않을 때 \(U \to X\), \(U \to Y\), \(X \to Y\)인 DAG에서 교란 문제를 설명하고 \(X\)가 \(Y\)에 미치는 인과효과를 식별하기 위한 뒷문 기준을 진술하라.

풀이

변수 \(U\)는 \(X\)와 \(Y\)의 관측되지 않은 공통원인(교란요인)이다. 인과 경로 \(X \to Y\)가 참 인과효과를 주지만 뒷문 경로 \(X \leftarrow U \to Y\)가 허위 연관을 만든다. \(U\)를 조정하지 않으면 관측된 \(X\)–\(Y\) 연관이 인과효과와 교란을 뒤섞는다.

뒷문 기준(Pearl, 1993)은 이렇게 말한다: 변수 집합 \(\mathbf{Z}\)가 (1) \(X\)에서 \(Y\)로 가는 모든 뒷문 경로를 막고 (2) \(\mathbf{Z}\)의 어떤 변수도 \(X\)의 후손이 아니면, \(\mathbf{Z}\)는 \(X\)가 \(Y\)에 미치는 인과효과를 식별하기에 충분하다.

이 DAG에서는 \(U\)가 관측되지 않고 경로 \(X \leftarrow U \to Y\)를 막는 관측 변수도 없으므로, 추가 가정(예: 도구변수) 없이는 관찰자료만으로 \(X\)가 \(Y\)에 미치는 인과효과를 식별할 수 없다.


정리하며

방향성 비순환 그래프(DAG)는 노드(변수)와 방향 간선(인과 화살표)으로 인과관계를 나타낸다. 세 가지 기본 구조인 사슬, 갈래, 충돌자가 어떤 변수로 조건화할 때 다른 변수들 사이의 정보 흐름이 어떻게 달라지는지를 결정한다. d-분리 기준은 이 규칙들을 복잡한 그래프로 일반화하고, 뒷문 기준은 인과효과를 추정할 때 어떤 변수를 통제해야 하는지 알려준다. DAG는 충돌자로 조건화하거나 인과 경로를 막는 흔한 잘못을 피하는 원리적인 틀을 제공하며, 관찰자료를 다루는 연구자에게 필수적인 도구이다.