3.1 인과관계에 대해 생각해보기
이번 장에서 배울 그래프 모델은 인과관계의 기본 언어 중 하나로 그래프 모델은 인과추론 문제를 구조화하여 식별 가정을 명쾌하고 시각적으로 표현하는 강력한 방법임
교차 판매 이메일이 전환에 미치는 영향을 다시 한번 추정해보자
데이터만 보고 독립성 가정이 성립한다고 이야기할 수 없어 실험 대상에게 처치 배정에 관한 메커니즘 정보가 있어야 독립성 가정이 유지됨
3.1.1. 인과관계 시각화
인과관계를 그래프로 표현할때는 어떤것이 원인인지 작성자의 의견이 담기게된다. 측정되지 않은 변수를 그래프에 추가할 수 있으며 이 모든것을 U 노드에 묶어서 표현할 것이다.
교차판매 이메일을 생각해보자 단순히 랜덤하게 대상을 선택하고 이메일을 보내서 성공적으로 전환을 이루어냈지만 그것은 이메일만의 효과는 아닐 수도 있다. 앞서 2장에서 언급한대로 성별, 나이 등의 측정되지 않은 변수가 관여했을 수 있기 때문이다. 이때 우리는 성별과 나이를 U라고 표현할 것이다. 그러나 정작 중요한 정보는 우리가 설계한 그래프에 없을 수 있다는 것을 기억해야한다.
3.1.2. 컨설턴트 영입 여부 결정
당신이 회사의 관리자로서 컨설턴트의 영입 여부를 결정할때 얼마나 효과가 있을지 판단하기 해야한다. 그러나 단순히 "컨설턴트를 영입했던 회사들이 성장했으니 결정해야한다"는 연관관계로 문제를 해결하는 것이므로 옳지않은 방식이다. 우리는 두 가지 문제를 해결해야한다.
1. 과거 실적이 좋은 회사가 컨설턴트를 고용할 확률이 높다. ( 물론 아닐 수 도 있습니다.)
2. 지난 6개월 동안 잘 된 회사는 이후 6개월동안 잘 될 가능성이 높다.
우리는 앞으로 이 문제를 해결 하기 위해 그래프 모델에 대해 배워볼 것이다.
3.2. 그래프 모델 집중 훈련
3.2.1. 사슬구조
높은 인과추론 지식(원인)은 높은 문제해결력을 갖추는데 도움이
인과성을 추론하기 위해서는 T와 Y는 서로 독립이어야한다. 그러나 T -> M -> Y 순으로 인과성을 보이지만 여기에는 연관성이 함께 흐른다. 하지만 중간 매개자인 M을 고정했을 경우 T와 Y는 서로 독립이 된다. 이것은 문제 해결력이 동일할 경우 인과추론 지식이 높은 것을 사람이 승진 가능성이 높은지 알 수 없다. 그 순간 인과추론 지식과 승진 가능성은 서로 독립적인 관계가 된다. 이는 매개자 M을 조건부(고정)로 했을 경우 Y와 T가 서로 독립이 된다는 것을 의미한다.
3.2.2. 분기구조 (예시가 조금 어렵네요 )
공통 원인이 존재하고 같은 변수가 그래프 아래쪽 다른 두 변수의 원인이 된다. 분기 구조 역시 연관성이 흐른다. 좋은 프로그래머는 문제 해결력이 뛰어날 확률이 높으며 좋은 직원일 확률이 높다. 그러므로 먼저 좋은 프로그래머를 찾기 위해 실무에서 접하기 힘든 문제를 해결하도록 요청한다. 그러나 공통요인을 조건부(고정)로 하였을 경우 다른 두 변수끼리는 독립적인 관계가 된다. 우연한 계기로 좋은 프로그래머임을 알고 있는 사람이 있을때 문제 해결능력과 좋은 직원이 될 것인지에 대한 추가 정보는 제공되지 않음
3.2.3 충돌부 구조
충돌부 구조는 두 노드가 하나의 자식을 공유하지만 둘 간의 직접적인 관계가 없는 경우를 의미하는데 이는 두 변수가 공통의 효과를 공유한다고 볼 수 있습니다.
아래의 예시를 보겠습니다. 통계학과 아부를 잘하면 승진을 할 확률이 높습니다. 그러나 충돌부 구조에서는 통계학에 얼마나 능숙한지가 상사에게 얼마나 아부를 잘하는지를 대변하지 않습니다. 통계를 잘 알지 못해도 아부를 잘해서 승진할 수 있고 아부를 잘 하지 못하더라도 통계만을 잘해서 승진을 할 수 있습니다. 이를 종종 다른 요인에 의해 설명되는 현상이라고 합니다. 즉, 일반적인 경우 통계학과 아부는 서로 독립적이지만 승진이나 높은 연봉을 조건부(고정)로 하였을 경우 서로 종속되어 통계학과 아부에 연관성이 흐르게 됨
3.2.4 파이썬에서 그래프 쿼리하기
import networkx as nx
model = nx.DiGraph([
("C","A") ,
("C","B") ,
('D','A') ,
('B','E') ,
('F','E') ,
('A','G')
])
networkx를 활용해 아래와 같은 그래프를 그려보겠습니다. 앞서 배운 충돌부 구조, 사슬 구조, 분기 구조가 모두 들어있는 그래프입니다. 현재 G와 F간의 연관성 경로는 차단되어 있습니다. 이 흐름을 열기 위해서는 어떻게 해야할까요?
그래프를 C를 공통요인으로 A와 B가 연관구조로 되어있습니다. G는 A에 종속되어있고 F는 B와 E라는 공통요인을 가지고 있는 충돌부 구조입니다. 이때 E를 조건부(고정)했을때 충돌부의 특성에 따라 공통요인 E를 고정하여 F와 G사이가 연결됩니다. 그 결과 G와 F는 독립인 관계가 됩니다.
3.3. 식별의 재해석
무작위 배정이 없는 상황에서 인과관계를 찾기 어려운 이유는 실험군과 대조군을 서로 비교할 수 없어서
인과그래프를 배웠으니 평향의 본질을 더 정확하게 파악할 수 있습니다. 식별은 해당 그래프에서 처치와 결과 간의 인과관계를 분리하는 과정으로 식별 단계에서는 바람직하지 않은 모든 연관성을 차단합니다.
( 식별은 편향을 제거하고 실험군과 대조군을 비교할 수 있는 방법을 찾아내서 보이는 모든 차이를 처치에 따른 효과로 돌리는 과정 )
컨설팅 예제를 다시 보겠습니다. 컨설팅과 이전 6개월 수익의 공통 원인인 이전 6개월의 수익을 고정했을 경우 분기 구조인 컨설팅 예제에서는 이전 6개월의 수익을 조건부로 설정했을 경우 컨설팅과 이후 6개월 수익간은 서로 독립이 되어 인과관계를 식별할 수 있습니다.
3.4. 조건부 독립성 가정과 보정 공식
즉, 과거 실적이 비슷한 기업들 중 컨설팅 여부에 따른 회사 미래 실적을 비교했을때 컨설팅을 받은 기업의 실적이 더 높다면 컨설팅의 효과를 충분히 입증할 수 있습니다. 여기에는 특별한 가정이 있습니다. 이는 조건부 독립성 가정(CIA: Conditional independence assumption)으로 공변량 X (여기선 이전 6개월 수익을 의미)이 동일한 대상을 비교하면 잠재적 결과는 평균적으로 같으며 이는 처치가 마치 무작위로 배정된 것처럼 보입니다.
조건부 독립 가정은 관측 가능한 데이테어 대해 인과효과를 식별하는 간단한 방법도 제시 처치가 X그룹 내에서 무작위로 배정된 것처럼 보인다면, X로 정의된 각 그룹 내에서 실험군과 대조군을 비교하여
3.5. 양수성 가정
처치와 결과 사이의 차이를 X에 따라 평균을 내므로 X의 모든 그룹에 실험군과 대조군의 실험 대상이 반드시 존재해야합니다.
3.6. 구체적인 식별 예제
컨설턴트를 고용한 회사와 고용하지 않은 회사의 수익을 단순히 비교했을때 *1.67 백만 달러의 수익 차이를 확인할 수 있음
* (5.7+5.7+1.2)/ 3 - (5.5+1.0+1.1)/3
그러나 이는 이전 6개월의 수익을 조건부로 설정하지 않았으므로 컨설팅이 회사 실적에 미치는 인과효과라고 할 수 없다. 그러므로 직전 6개월의 수익이 비슷한 그룹끼리 컨설팅 여부에 따라 이후 수익이 변경되는지를 확인해보아야한다. 이후 두 그룹의 크기(즉, 그룹에 속한 샘플의 수)를 반영한 가중 평균을 계산했을 경우 ATE를 얻을 수 있음 여기서는 그룹의 크기가 동일하므로 단순히 평균으로 계산했을때 그 값(0.15/0.2= 0.175) 이 컨설턴트가 미래 수익에 미치는 영향이라고 할 수 있음
직전 6개월 수익 | 컨설팅 여부 | 6개월 이후 수익 | |
0 | 1 | 0 | 1 |
1 | 1 | 0 | 1.1 |
2 | 1 | 1 | 1.2 |
3 | 5 | 0 | 5.5 |
4 | 5 | 1 | 5.7 |
5 | 5 | 1 | 5.7 |
직전 6개월 수익 | 크기 | 6개월 이후 평균 수익 |
1 | 3 (0,1,2) | 0.15 |
5 | 3 (3,4,5) | 0.2 |
3.7. 교란 편향
편향의 주요 원인 중 하나는 교란이다. 교란은 지금까지 앞서 언급했던 연관성이 흐르는 뒷문 경로가 있을때 발생합니다. 처치와 결과가 공통원인을 공유하는데 공통원인을 조건부(고정)로 하는 방법으로 해결할 수 있다. 그러나 언제나 공통원인을 고정할 수 있는 것은 아니다.
공통 원인을 측정 혹은 정량화할 수 없는 경우들이 많기 때문이다. 관리자의 자질이라는 공통원인이 있을때 이를 측정 혹은 정량화할 수 있는 방법이 있을까? 이를 위해 우리는 대리 교란 요인을 사용한다.
3.7.1. 대리교란 요인
위에서 언급한대로 공통 원인을 측정할 수 없는 경우가 있다. 그 경우에는 대리 변수로 사용할 수 있는 다른 변수를 사용하여 이를 해결할 수 있다. 예시로 들었던 관리자의 자질은 관리자의 근속 기간, 교육 수준 등의 원인과 팀의 이직률과 성과등으로 대신 측정할 수 있다. 이는 완벽히 해결할 수 있는 방법은 아니나 편향을 줄이는데는 확실한 도움이 된다.
3.7.2 랜덤화의 재해석
교란 요인은 연구에서 중요한 문제입니다. 모든 교란 요인을 통제했는지 확신할 수 없기 때문입니다. 그러나 실무에서 처치 대상을 선택할때 대상들의 정보를 사전에 알 수 있기때문에 교란 요인이 무엇인지 파악하기 용이하다. 처치를 무작위로 배정하면 관측할 수 없는 교란 요인이 있는 그래프에서 처치의 유일한 원인이 랜덤성인 그래프로 바꿀 수 있습니다.(?p.126) 결과적으로 어떤 변수를 조건부(고정)로 두어야 효과를 식별할 수 있는지 확인하고 인과추정량을 식별 가능한 그패프로 바꿔주는 개입이 어떤것인지 확인할 수 있어야한다.
3.8. 선택 편향
예시) 신규 기능을 배포하고 신규 기능에 대한 만족도를 측정하고 싶을때 실험군과 대조군에 각각 설문을 받아 추천할 의향을 확인
그러나 이 결과는 신뢰하기 어렵습니다. 실험군과 대조군 모두 설문조사에 응답한 사람들로만 차이를 추정할 수 있어 선택편향이 발생합니다. 설문에 응답한 사람들을 조건으로 설정하면 신규 기능과 고객 만족도 사이의 비인과 연관성 흐름을 차단할 수 없습니다.
(생략)