시간변동 처치의 인과 효과와 처치 전략

Hernan Ch.19.1~19.2 — 처치 history 표기, 정의, static·dynamic·deterministic·random 전략

Hernan & Robins (2020) Ch.19.1~19.2 를 다룬다. 시간변동 처치의 표기 (overbar notation), 처치 history 의 차원 폭발 (\(2^K\)), 두 전체 history 의 잠재 결과 비교로 인과 효과 정의, 처치 전략의 4 분류 (static·dynamic × deterministic·random), 의학에서 dynamic 의 자연성, optimal strategy 의 개념을 정리한다.

Experimentation
Causal Inference
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의

정의: 시간변동 처치 표기

시간변동 처치: 시점 \(k = 0, 1, \ldots, K\) 의 처치 변수 \(A_k\).

처치 history: \(\bar{A}_k = (A_0, A_1, \ldots, A_k)\) — 시점 0 부터 \(k\) 까지의 처치 sequence.

전체 history: \(\bar{A} = \bar{A}_K = (A_0, A_1, \ldots, A_K)\).

잠재 결과: \(Y^{\bar{a}}\) — 처치 history \(\bar{a}\) 가 강제 적용됐을 때의 \(Y\).

직관 — Overbar notation: \(\bar{A}\)축적된 history. \(A_k\) 한 시점 처치, \(\bar{A}_k\) 는 시점 \(k\) 까지 모든 처치. 표기 한 글자 차이가 차원 차이 — Part III 의 모든 식이 이 누적 표기 위에 build.

2 19.1 시간변동 처치의 인과 효과

2.1 Time-Fixed vs Time-Varying 의 결정적 차이

Time-fixed (Part I-II):

\[\mathrm{ATE} = \mathrm{E}[Y^{a=1}] - \mathrm{E}[Y^{a=0}]\]

처치 시점 명시 불필요 — 단일 시점 결정.

Time-varying (Part III):

\[\mathrm{ATE}_{\bar{a}, \bar{a}'} = \mathrm{E}[Y^{\bar{a}}] - \mathrm{E}[Y^{\bar{a}'}]\]

처치 history \(\bar{a}\)\(\bar{a}'\) 명시 필요 — 비교 대상의 결정이 인과 질문 자체.

직관 — 인과 질문의 다양화: 단일 시점에서 ATE 는 unique. 시간변동에서는 비교할 history 쌍의 수가 \(\binom{2^K}{2}\) — 같은 데이터에서 다른 인과 질문 수만 개.

2.2 NHEFS 의 가상 시간변동 시나리오

HIV 코호트 사례 (Hernan, Ch.19.1)

NHEFS 와 다른 가상 데이터:

  • \(K = 59\) (60 개월 추적, 0~59 month).
  • \(A_k = 1\) if 월 \(k\) 에 항레트로바이러스 치료 받음, \(A_k = 0\) otherwise.
  • \(A_{-1} = 0\) for all (baseline 비치료).
  • \(Y\): 60 개월 시점의 건강 상태 (높을수록 좋음).

Always treat: \(\bar{A} = (1, 1, \ldots, 1) = \bar{1}\). Never treat: \(\bar{A} = (0, 0, \ldots, 0) = \bar{0}\). Most patients: 중간 history (일부 0, 일부 1).

직관 — 중간 history 의 다양성: \(K=59\) 에서 가능한 history \(2^{60}\) — 우주의 입자 수보다 큼. 실제 환자들은 거의 모두 unique history. 각 환자가 한 가지 history 의 표본.

2.3 처치 효과 정의의 다양성

단일 시점 처치 효과의 시간변동 일반화 시도 (실패)

순진한 시도: \(\mathrm{E}[Y^{a_k=1}] - \mathrm{E}[Y^{a_k=0}]\)시점 \(k\) 의 효과만.

문제: 시점 \(k\) 의 처치 한 번만 변경, 나머지는 어떻게? 다른 시점 처치를 fix 해야 하는데, 어떤 값으로 fix 할지 결정 불가.

→ 결국 두 전체 history 의 비교 가 시간변동 효과의 자연 정의.

직관 — 단일 시점 효과의 ill-definedness: “시점 30 의 처치 효과” 가 모호. 다른 시점 처치 (\(A_0, ..., A_{29}, A_{31}, ..., A_{59}\)) 가 어떤 history 인지에 따라 효과 다름. 시점별 분해 가 본질적으로 어려움.

직관 — Specific contrast 의 필요성: “Always treat vs Never treat” 같은 명시적 contrast 만 식별 가능. “처치의 평균 효과” 같은 모호한 양은 시간변동에서 정의 안 됨. 연구 질문의 정확한 명시가 분석의 첫 단계.

3 19.2 처치 전략 (Treatment Strategies)

3.1 4 가지 전략 분류

Treatment Strategy 의 분류

(1) Static + Deterministic: - 사전에 결정된 시점별 처치 sequence. covariate 무관. - 예: \(\bar{a} = (1, 1, 1, ..., 1)\) — 항상 처치. - 예: \(\bar{a} = (1, 0, 1, 0, ...)\) — 격월 처치.

(2) Dynamic + Deterministic: - 처치가 covariate \(\bar{L}_k\) 의 함수. - 예: “Treat when CD4 < 200” — \(g_k(\bar{a}_{k-1}, \bar{l}_k) = \mathbb{1}\{l_k < 200\}\).

(3) Static + Random: - 처치 확률이 사전에 결정. covariate 무관. - 예: “각 시점에 30% 확률로 처치”.

(4) Dynamic + Random: - 처치 확률이 covariate 의 함수. - 예: “CD4 < 200 면 30% 확률로 처치, 그 외는 5%”.

직관 — 4 분류의 실무 매핑: 임상시험에서 deterministic static 이 흔함 (모든 환자에게 같은 처치 또는 같은 protocol). 실제 진료는 deterministic dynamic — 의사가 환자 상태 보고 결정. 무작위 임상시험 (random) 은 sequential randomization 에서 등장.

3.2 Static Strategy 의 한계

Static 의 임상 비현실성

“Always treat” — 모든 환자에게 같은 처치. 그러나: - 일부 환자에게 부작용으로 부적합. - 일부 환자는 이미 회복되어 처치 불필요. - 일부 환자는 다른 약물과 상호작용 위험.

→ Static strategy 는 분석 frame, 임상 권장 안 됨. 그러나 비교 baseline 으로 유용.

직관 — Static 의 분석적 가치: Always vs never 비교는 효과 크기 정량화에 유용. 임상에서는 “If we could force everyone to take treatment, 효과 얼마?” 의 가상 시나리오. 실무 권장은 dynamic strategy.

3.3 Dynamic Strategy 의 자연성

의학에서의 Dynamic Strategy 사례

HIV: “CD4 < 350 시 ART 시작, 부작용 시 중단”. 고혈압: “혈압 > 140/90 시 약물 시작, dose 단계별 증가”. 당뇨: “HbA1c > 7% 시 metformin 추가”. : “종양 크기 변화에 따라 항암제 선택”.

이 모든 가이드라인이 dynamic strategy 의 형식 — covariate 에 따른 처치 결정.

직관 — Dynamic 의 임상적 자연성: 의사가 환자 상태 (검사 결과, 증상) 를 보고 결정. 사전에 정해진 sequence 적용 안 함. Dynamic strategy 가 임상 가이드라인의 본질.

직관 — Dynamic 식별의 어려움: Static 보다 분석에 훨씬 어려움. 시점 \(k\) 의 처치가 \(\bar{L}_k\) 의존 → 시점 \(k\) 의 covariate 분포가 과거 처치의 결과. 단순 비교 불가능 — g-method 필수.

3.4 Optimal Strategy

정의: Optimal Treatment Strategy

\(\mathrm{E}[Y^g]\) 가 최대 (결과가 클수록 좋음 가정) 인 전략 \(g^*\):

\[g^* = \arg\max_g \mathrm{E}[Y^g]\]

대부분의 약물 처치에서 dynamic 이 optimal — 부작용 발생 시 중단 필요.

→ Optimal 은 사전에 알 수 없음 — 무작위 실험으로 후보 전략 비교 → 발견.

직관 — Reinforcement Learning 과의 연결: RL 의 optimal policy 와 같은 개념. RL 은 trial-and-error 로 optimal 학습, Hernan 의 framework 는 sequentially randomized experiment 로 식별. 이론적으로 같은 문제, 다른 접근.

직관 — Random vs Deterministic Optimal: Deterministic optimal 이 random optimal 보다 항상 >=. 그러나 random 전략 (e.g., 무작위 시험) 이 deterministic optimal 식별에 필요. 무작위 가 비효율적이지만 학습에 필수.

4 처치 전략의 차원 폭발

\(2^K\) 의 폭발

이항 처치, \(K+1\) 시점에서 가능한 deterministic static history 수: \(2^{K+1}\).

\(K\) \(2^{K+1}\) history 수
1 4
5 64
10 2,048
30 \(\sim 2 \times 10^9\)
60 \(\sim 2 \times 10^{18}\)
120 (NHEFS-like) \(\sim 2 \times 10^{36}\)

→ Dynamic strategy 는 더 많음 (\(\bar{L}_k\) 함수의 무한 공간).

→ 모든 history 비교 불가능 — specific 전략 쌍 만 분석.

직관 — 우주적 차원: \(K=120\)\(2 \times 10^{36}\) 은 관측 가능 우주의 입자 수에 가까움. 이런 차원에서 모든 비교는 불가능. 연구 질문이 어떤 두 전략 비교인지 명시 필수.

직관 — 1986 년 Robins 의 발상: 차원 폭발에 대한 해결책 — 처치 전략 으로 추상화. 매 시점 처치 결정의 함수 를 비교. 무한 history 를 유한 차원의 전략 함수로 압축.

5 처치 전략의 표기

Hernan 의 공식 표기 (Fine Point 19.1)

Deterministic dynamic strategy:

\[g = [g_0(\bar{a}_{-1}, \bar{l}_0), g_1(\bar{a}_0, \bar{l}_1), \ldots, g_K(\bar{a}_{K-1}, \bar{l}_K)]\]

\(g_k\): 시점 \(k\) 의 처치 결정 규칙. 과거 처치 + 과거 covariate 의 함수.

Deterministic static: \(g_k(\bar{a}_{k-1})\) (covariate 무관).

Random strategy: 위 함수가 처치 확률 을 반환.

잠재 결과: \(Y^g\) — 전략 \(g\) 가 강제 적용됐을 때 결과. 모든 가능한 \(g\) 에 대해 정의.

직관 — \(g\) 함수의 의미: 환자의 결정 알고리즘. 임상 가이드라인을 수학으로 표현. “If CD4 < 200 then treat else don’t” → \(g_k(\bar{l}_k) = \mathbb{1}\{l_k < 200\}\). 알고리즘의 인과 효과 를 묻는 형식.

6 잠재 결과 표기 — 단일 시점 일반화

시간변동 잠재 결과의 위계

시점별 잠재 결과: \(A_k^{\bar{a}_{k-1}}\) — 과거 처치 \(\bar{a}_{k-1}\) 강제 시 시점 \(k\) 의 처치.

시간변동 covariate 잠재: \(L_k^{\bar{a}_{k-1}}\) — 과거 처치 강제 시 시점 \(k\) 의 covariate.

최종 결과 잠재: \(Y^{\bar{a}}\) 또는 \(Y^g\).

→ 이 모든 잠재 결과가 consistency 가정으로 관측 데이터와 연결.

직관 — 잠재 결과의 다층 구조: 단일 시점은 \(Y^a\) 한 종류. 시간변동은 매 시점의 처치, 매 시점의 covariate, 결과 모두 잠재 결과. 모든 잠재 결과 동시 추론 — 분석의 폭발.

7 처치 전략 비교의 실무

실무 권장 전략 비교

Phase 1: Always vs Never - 단순한 baseline 비교. - 효과의 최대값 정량화. - 임상 권장 아님 (extreme).

Phase 2: Dynamic protocols - “When-to-start” 전략 (e.g., “CD4 < 350 시 시작” vs “CD4 < 500 시 시작”). - 임상 가이드라인의 직접 평가.

Phase 3: Composite strategies - 시작 + 중단 + dose 변경의 조합. - 가장 현실적, 가장 어려움.

직관 — 분석의 단계적 접근: 첫 분석은 always vs never (단순). 효과 크다면 dynamic protocol 비교 (의학적 의미). 마지막은 composite (실무 적용). 단계마다 가정과 데이터 요구가 증가.

8 응용 분야

  • HIV/AIDS 코호트: ART 시작 전략 (CD4 임계값)
  • 종양학: 항암제 sequential 투여 + dose modification
  • 심혈관 질환: 혈압 약물의 단계별 titration
  • 만성 신부전: dialysis 시작 시점 결정
  • 정신과: SSRI 변경 protocol
  • 마케팅 attribution: 사용자별 캠페인 noptimal sequence
  • AI agent 의 dynamic policy: 강화학습의 optimal policy

9 코드 — 처치 전략 시뮬레이션

import numpy as np
import pandas as pd

# Static strategy: Always treat
def static_always_treat(history):
    return 1   # 모든 시점 처치

def static_never_treat(history):
    return 0

def static_alternate(history, k):
    return k % 2   # 격월 처치

# Dynamic strategy: CD4-based
def dynamic_cd4_threshold(L_k, threshold=200):
    return 1 if L_k < threshold else 0

# 환자 시뮬레이션
def simulate_patient(strategy, K=60, baseline_L=350):
    L_k = baseline_L
    L_history = [L_k]
    A_history = []
    for k in range(K):
        # 처치 결정 (전략에 따라)
        if strategy == "always":
            A_k = 1
        elif strategy == "never":
            A_k = 0
        elif strategy == "alternate":
            A_k = k % 2
        elif strategy == "dynamic_cd4":
            A_k = 1 if L_k < 200 else 0
        A_history.append(A_k)

        # CD4 update — 처치에 따라
        L_k = L_k + 5 * A_k - 1 + np.random.normal(0, 10)   # 가상 모형
        L_history.append(L_k)

    # 결과 — 60 개월 시점의 CD4
    Y = L_history[-1]
    return A_history, L_history, Y

# 다양한 전략 비교
np.random.seed(42)
strategies = ["always", "never", "alternate", "dynamic_cd4"]
results = {}

for strat in strategies:
    Ys = []
    for _ in range(1000):
        _, _, Y = simulate_patient(strat)
        Ys.append(Y)
    results[strat] = np.mean(Ys)
    print(f"E[Y | {strat:15s}] = {results[strat]:.1f}")

# Optimal strategy 추정 (시뮬레이션 기반)
optimal_strat = max(results, key=results.get)
print(f"\nOptimal strategy: {optimal_strat}")

10 한 줄 요약

시간변동 처치는 매 시점 변동 가능한 처치. 처치 history \(\bar{A}_k = (A_0, ..., A_k)\) 가 표기 단위, \(2^{K+1}\) 의 차원 폭발. 인과 효과는 두 전체 history 의 잠재 결과 비교 — 비교 대상이 인과 질문 정의. 처치 전략 4 분류: static·dynamic × deterministic·random. Dynamic 이 임상의 자연 형식 (covariate-based 가이드라인). Optimal strategy 는 사전 미지수 — 무작위 실험으로 발견. NHEFS 는 baseline 만 측정한 단일 시점 사례 — Part III 도구의 진가는 진짜 시간변동 데이터에서.

11 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

Subscribe

Enjoy this blog? Get notified of new posts by email: