인과관계를 아세요?
인과추론(Causal Inference)은 어떤 사건이나 변수 간의 인과 관계를 이해하고 추정하는 과정이다.
즉, 하나의 변수(원인)가 다른 변수(결과)에 어떤 영향을 미치는지, 그 관계를 명확하게 밝히고자 하는 분석이다.
예를 들어 특정 치료법이 질병에 어떤 영향을 미치는지, 교육이 소득에 어떤 영향을 미치는 지 등의 인과 관계를 분석할 때 사용된다.
내가 작년에 건강검진을 받았다면 지금 내는 병원비가 달라졌을까?
이런 질문에는 어떻게 대답하는게 좋을까?
아주 간단하게는 다음과 같은 방법으로 답을 구할 수 있다.
1. 작년의 나를 작년 시점으로 복제한다.
2. 건강검진을 시킨다.
3. 현재 시점을 기준으로 병원비를 계산한다.
4. 평행세계 속 실험인간인 나와 지금의 나를 비교한다.
그 답은 '정답'은 아닐 것이다. 우리는 모두 돌아갈 수 없고, 비교할 수 없고, 그로인해 일어나는 많은 변수를 통제하거나 예측할 수 없을 것이다.
그럼에도 불구하고 통계적으로 비슷한 정답을 추정할 수는 있다.
나랑 비슷한데 건강검진을 받은 사람의 데이터를 모아서 추정하면 된다.
이게 바로 인과추론의 근본적 아이디어이다.
지난 5년간 인과추론을 가정을 명시하는 통계학과 유연한 함수를 학습하는 머신러닝(estimation)을 결합하는 방향으로 수렴했다. 결국 핵심 질문은 (예측) 무엇이 일어날까가 아닌, (개입 효과) 이렇게 하면 결과가 어떻게 바뀔까? 이며, 후자에 대해서는 예측 모델이나 LLM이 원리적으로 대답할 수는 없다.
따라서 LLM/VISION과 다르게 반드시 필요한 causal inference에 대해서 알아보고자 한다.
최근 인과추론
2020년 이전의 인과추론
2020년 이전 인과추론은 어떤 가정 하에서 인과효과가 식별 가능한가? 라는 이론(설계)을 세우는 시기였다. 이 시기의 발전은 대략 세 방향으로 나눌 수 있다.
첫째, 두 개의 사고방식이 근본을 다졌다.
1) 잠재결과 관점(Neyman, Rubin) : 만약 이 치료를 받았다면? 아니면 이 치료를 받지 않았다면?
2) 그래프 관점(Pearl) : 변수들의 인과 구조를 그림으로 그려 무엇으로 보정해야할지 판단
오랫동안 따로 발전하던 두 전통은 향후 서로를 보완하는 방향으로 발전했다.
둘째, 오늘날 연구의 기반이 되는 핵심 통계 방법들이 1980년대에서 1990년대에 등장했다.
1) 성향점수(Propensity score): 고차원 교란변수를 하나의 점수로 요약하여 관찰자료에서 집단 간 차이를 보정하고 인과효과를 추정을
2) g-방법론: 시간에 따라 변화하는 처치와 교란 요인을 함꼐 고려하여 복잡한 종단 자료의 인과효과를 추정
3) 도구변수(Instrumental variable): 직접 관측하기 어려운 교란 요인의 영향을 우회하여 인과효과를 추정
셋째, 2000년대 이후에는 앞서 등장한 모델들이 정교해지고 다양한 연구 설계가 확산되었다.
1) 이중강건 추정(Double robust estimation)·TMLE(Targeted Maximum Likelihood Estimation): 여러 추정 모형을 결합해 인과효과 추정의 안정성과 정확성을 향상
2) 자연실험 설계(DiD ·합성대조군): 무작위 실험이 어려운 상황에서 정책 변화나 외부 요인을 활용해 인과효과를 추정하는 방법으로 발전
3) 인과추론과 머신러닝의 결합: 2010년대 이후 대규모, 고차원 데이터를 활용하기 위해 ML 기법을 인과효과 추정에 적용하는 연구가 본격화
결론적으로 2020년 이전에는 인과추론의 설계와 이론을 다진 시기라고 볼 수 있다.
이후에는 '유연한 ML로 어떻게 더 잘 추정할까?'라는 흐름으로 진행되었다.
최근 5년간(2020년 이후)의 인과추론
2020년 이후 인과추론은 기존 통계적 기반 위에서 ML과 결합하며 다음 세가지 방향으로 발전하고 있다.
1) 이질적 처치효과(Heterogeneous Treatment Effect, HTE / Conditional Average Treatment Effect, CATE) 추정
평균적인 처치 효과(ATE)를 넘어, '어떤 사람에게 효과가 있는가'를 개인 또는 하위집단 수준에서 추정하는 방향으로 발전하였다. 이는 개인화된 의사결정과 맞춤형 정책 설계의 이론적 기반이 된다.
2) 준모수 통계와 머신러닝(ML)의 결합
ML의 높은 예측력을 활용하면서도 인과효과 추정의 통계적 보장을 확보하기 위한 연구가 발전하였다. Neyman 직교성, 교차적합(cross-fitting)을 활용하여 머신러닝 모델이 가진 편향을 줄이고, √n-일치성 및 신뢰구간 추정을 가능하게 하는 DML, TMLE, doubly robust 학습 등이 대표적이다.
3) 딥러닝 기반 표현학습과 시계열 인과추론
고차원·비정형 데이터와 시간에 따라 변화하는 처치를 다루기 위해 표현학습(prepresentation learning), 생성모델(VAE/GAN), Transformer 기반 모델(in-conext learning) 등이 활용되고 있다.
내가 2023년에 인과 추론이라는 수업을 대학원에서 처음 수강하며, transformer 기반의 인과 추론을 과제로 시도하려고 노력한 바가 있다. 그러나 당시에는 데이터도 충분하지 않았고, 있던 데이터도 인과추론에 적합하지 않았다.
당시 인과추론은 굉장히 어렵고, 실질적으로 활용하기 어렵구나.. 라는 생각에 관심을 접었던 기억이 있다.
2026년에는 빅데이터를 다루게 되었기도 하고 이젠 활용할 수 있는 모델이 나왔을 거라는 생각에 공부해보고자 한다.
전통 통계 기반 인과추론(설계 중심)
여전히 인과추론의 뼈대는 통계적 설계 프레임이다.
해당 원리와 이론들은 인과추론 ML 시대가 열리며 머신러닝 모델의 내부적 언어로 재정의되었다.
인과추론 방법론은 결국 하나의 질문으로 귀결된다.
'관찰된 데이터에서 우리가 원하는 원인과 결과의 관계를 어떻게 편향 없이 추정할 것인가?'
각 방법론은 데이터가 가진 서로 다른 한계를 해결하기 위해 발전해왔다.
| 방법 | 핵심 아이디어 | 적용 문제 유형 | 대표 적용 사례 |
| DAG 방향성 비순환 그래프 SCM 구조적 인과모형 |
변수 간 인과 구조를 그래프로 명시 어떤 변수를 통제해야 하는지(back-door adjustment), 어떤 변수는 통제하면 안되는지(collider, mediator)를 판단 |
연구 설계 단계에서 발생하는 교란변수(confounder) 식별, 잘못된 보정(adjustment)으로 인한 편향 방지 | '고혈압 환자에서 특정 약물이 심혈관 질환 위험을 낮추는가?' 연구에서 나이나 질환 중증도 등을 어떻게 보정할지 결정 |
| Propensity Score 성향점수 분석 | 각 환자가 특정 치료를 받을 확률을 계산하고, 확률이 비슷한 환자끼리 비교해 관찰연구에서도 무작위배정 실험과 유사한 균형을 맞춤 | 무작위 임상시험(RCT)이 어려운 상황에서 치료군과 비교군 간 차이(선택 편향) 보정 | 건강보험 청구 데이터에서 약물 A 복용군과 B 복용군의 치료 효과 비교 |
| Instrumental Variable (IV) 도구 변수법 |
치료 선택과 결과 사이에 존재하는 측정되지 않은 교란(unmeasured confounding)을 해결하고자 치료에는 영향을 주지만 결과에는 직접 영향을 주지 않는 변수를 활용 | 환자의 건강 상태처럼 데이터에 없는 요인이 치료 선택과 결과 모두에 영향을 주는 경우 | 의사의 처방 선호도, 지역별 처방률 등을 활용하여 약물 효과 추정 |
| Difference-in-Differences(DiD) 이중차분법 |
정책 또는 치료 시행 전후의 변화량을 비교하고, 동시에 처치를 받은 집단과 받지 않은 집단의 변화 차이를 비교하여 시간에 따라 변하지 않는 숨은 차이를 제거 | 정책 변화나 제도 도입 효과 평가에서 발생하는 시간 불변 교란(time-invariant confounding) 해결 | 건강보험 급여 기준 변경 전후 의료 이용량 변화 분석 특정 병원의 새로운 진료 프로그램 도입 효과 평가 |
| Regression Discontinuity Design 회귀불연속 설계 |
특정 기준값(cut-off)을 기준으로 치료 여부가 결정되는 상황에서 기준값 바로 주변의 환자는 거의 무작위 배정된 것처럼 간주하여 효과를 추정 | 임상 기준, 정책 기준 등으로 발생하는 준실험적(quasi-experimental)상황 분석 | '65세 이상 특정 예방접종 지원' 정책에서 65세 직전과 직후 대상자의 결과 비교 '특정 검사 수치 이상에서만 약제 처방' 효과 평가 |
| G-방법론 일반화된 인과추론 방법론 |
시간에 따라 치료가 변하고, 이전 치료 결과가 다음 치료 선택에도 영향을 주는 복잡한 상황에서 인과효과를 추정 | 반복 측정 데이터에서 발생하는 시간 가변 교란(time-varying confounding) 해결 | 장기간 추적 EHR 데이터에서 약제 용량 조절, 치료 변경이 환자 예후에 미치는 영향 분석 |
| Mariginal Structural Model(MSM) 주변구조 모형 | 시간가변 치료와 교란 문제를 해결하기 위해 Inverse Probability Weighting(IPW)을 이용해 가상의 무작위 연구 집단을 제작 | 만성질환 관리, 반복적인 치료 변경 연구 | 당뇨 환자의 지속적인 약물 변경과 합병증 발생 위험 분석 |
| Targeted Maximum Likelihood Estimation(TMLE) 표적 최대우도 추정법 | 머신러닝을 활용해 결과 모델과 처치 모델을 동시에 고려하면서 목표하는 인과효과를 직접 추정하는 doubly robust 방법 | 복잡한 비선형 관계가 존재하는 고차원 데이터에서 안정적인 효과 추정 | 대규모 의료 빅데이터에서 개인별 치료 효과(CATE) 추정 |
머신러닝과 딥러닝 기반 인과추론(추정 중심)
전통적인 인과추론 방법론은 연구자가 변수 간 관계를 정의하고 통계적 모델을 설계하는 방식으로 발전해왔다.
하지만 빅데이터와 같이 변수의 수가 많고 관계가 복잡한 환경에서는 모든 관계를 사람이 직접 모델링하기 어렵다.
머신러닝 기반 인과추론은 이러한 한계를 보완하기 위해 등장했다.
핵심은 머신러닝이 인과관계를 직접 발견하는 것이 아니라, 기존 인과추론 프레임워크에서 필요한 교란변수 보정 함수(nuisance function)와 예측 함수(outcome function)를 유연하게 학습하는 역할을 한다는 것이다.
즉, 인과관계를 성립시키기 위한 가정(DAG, 교란 통제, 식별 조건)은 기존 인과추론 방법론에서 가져오고 실제 데이터에서 복잡한 변수 간 관계를 학습하는 부분은 머신러닝이 담당한다.
| 방법 | 핵심 아이디어 | 적용 문제 유형 | 대표 적용 사례 |
| Causal Forest / Double Machine Learning(DML) 트리 기반, 직교화 계열 |
머신러닝으로 치료 효과와 관련된 복잡한 함수를 학습하고, 편향을 줄여 개인별 치료 효과(CATE)를 추정 | 고차원 관찰 데이터에서 치료 효과 추정, 비선형 관계 및 변수 간 상호작용 처리 | 건강보험 청구 데이터 기반 약물 A vs B 효과 비교 환자별 치료 반응 분석 |
| Meta Learner(S/T/X/R-learner) 메타러너 계열 | 기존 머신러닝 모델을 조합하여 치료군과 대조군의 결과 차이를 학습 | 환자별 치료 효과 차이(heterogeneous treatment effect) 분석, 처치군과 대조군 간 불균형 문제 | 특정 치료가 어떤 환자군에서 더 효과적인지 분석 |
| TARNet / CFRNet / DragonNet 표현학습, 신경망 계열 | 딥러닝으로 환자의 잠재표현을 학습하고 치료군과 대조군 간 분포 차이를 줄여 반사실 결과 추정 | 고차원 의료 데이터, 복잡한 비선형 관계, 대규모 임상 데이터 분석 | EHR, 의료 영상, 다양한 임상 변수 기반 치료 효과 추정 |
| CEVAE / TEDVAE / GANITE 생성모델 계열 | 생성모델을 이용해 잠재 교란변수 또는 관측되지 않은 반사실 결과를 추정 | 미관측 교란이 존재하는 상황 복잡한 데이터 구조 모델링 |
숨겨진 환자 특성을 고려한 치료 효과 추정 반사실 예측 |
| Causal Transformer 시계열, transformer 계열 |
Transformer를 활용해 시간에 따른 치료 변화와 환자 상태 변화를 함께 모델링 | 시간가변 치료(time-varying treatment), 종단 데이터(longitudinal data) 분석 | 장기 EHR 데이터에서 약물 변경과 예후 효과 분석 |
| Foundation Model 기반 긴과추론(causalPFN, DO-PFN 등) | 대규모 사전학습 모델을 활용하여 새로운 데이터에서 인과효과를 추론 | 범용 인과추론 모델 개발 적은 데이터 환경에서의 효과 추정 |
다양한 의료 데이터셋에서 재학습 없이 치료 효과 추정 (연구단계) |
LLM · 딥러닝 · 통계 모델 vs 인과추론 모델
예측모델과 인과모델은 해결하려는 질문이 다르다.
예측모델은 "현재 데이터를 기반으로 미래 결과를 얼마나 잘 예측할 수 있는가?"
인과모델은 "특정 처치를 변경했을 때 결과가 어떻게 달라지는가?"를 중심으로 해석한다.
예시를 들어보자.
"인공호흡기를 사용하는 환자의 사망률이 높다"라는 결과는 사실일 수 있다.
하지만 이것이 "인공호흡기가 사망 위험을 증가시킨다" 라는 의미는 아니다.
인공호흡기를 사용하는 환자는 이미 중증일 가능성이 높기 때문에 질병 중증도라는 교란변수(confounder)가 존재한다.
치료 효과를 평가하려면 단순한 예측이 아니라, "치료를 받지 않았다면 어떻게 되었을까?"라는 반사실(counterfactual)을 고려해야 한다.
따라서 상황과 맥락에 따라 인과추론 모델을 잘 설정해야 한다.
그렇지 않으면 인과(causal)가 아닌 연관(association)이 될 것이다.
| 관점 | LLM | 일반 딥러닝 | 전통 통계 모델 | 인과추론 모델 |
| 상관 vs 인과 구분 | 데이터와 문맥에서 학습한 패턴을 기반으로 답변하며, 인과관계를 직접 식별하지 못함 | 예측 정확도 최적화가 목적이며, 변수 간 인과 구조를 고려하지 않음 | 연구 설계와 가정에 따라 인과 해석 가능하지만 모델 가정에 의존 | 인과 구조와 식별 가정을 기반으로 원인과 결과의 관계를 추정 |
| 처치 효과 추정 | 직접적인 치료 효과(ATE, CATE 등) 추정 불가 | 반사실(counterfactual) 개념이 없어 개입 효과 추정 불가 | 회귀계수 등을 통해 효과 추정 가능하나 고차원·비선형·개인별 효과 분석에는 한계 | ATE, CATE, ITE 등 치료 효과 추정이 주요 목적 |
| 설명 가능성 | 자연어 설명은 가능하지만 근거 추적과 검증이 어려움 | 높은 예측 성능 대비 내부 구조 해석이 어려움 | 계수, 위험비 등 해석이 비교적 명확 | 효과 크기, 신뢰구간, 이질적 치료 효과 해석 가능 |
| 교란(confounding) 처리 | 구조적으로 교란을 제거하거나 통제하지 못함 | 변수 간 상관을 학습할 뿐 교란 여부를 구분하지 못함 | 회귀모델 내 공변량 보정으로 처리 가능하지만 관측된 변수와 모델 가정에 의존 | DAG, Matching, IPW, Doubly Robust 등 다양한 방법으로 교란 문제를 명시적으로 처리 |
| 의료 의사결정 활용 | 문헌 검색, 요약, 코드 작성 등 보조 역할에 적합 | 영상 판독, 위험 예측 등 예측 문제에 강점 | 임상 연구와 역학 분석에서 오랫동안 활용 | "특정 치료를 했을 때 환자의 결과가 어떻게 달라지는가?"라는 의사결정 질문에 직접 대응 |
다음 포스팅에서는 최근 관심을 가진 빅데이터에 인과추론을 어떻게 적용하는지 알아보도록 하겠다.