G-estimation 절차와 다중 모수 SNMM

Hernan Ch.14.5~14.6 — 격자 검색·closed form·다중 모수의 효과 수정

Hernan & Robins (2020) Ch.14.5~14.6 을 다룬다. G-estimation 의 격자 검색 절차, \(\widehat{\alpha}_1 = 0\) 을 만족하는 후보 찾기, 신뢰구간의 inversion 형식, 다중 모수 SNMM 의 효과 수정 표현, closed-form 추정량의 행렬 형식, 그리고 doubly robust g-estimation 의 미리보기를 정리한다.

Experimentation
Causal Inference
저자

Kwangmin Kim

공개

2026년 05월 08일

1 14.5 단일 모수 SNMM 의 g-estimation

1.1 5 단계 절차

G-estimation 의 표준 절차

Step 1: 후보 모수 격자 정의 (예: \(\psi^\dagger \in \{2.0, 2.1, \ldots, 5.0\}\)).

Step 2: 각 \(\psi^\dagger\) 에 대해 \(H(\psi^\dagger) = Y - \psi^\dagger A\) 계산.

Step 3: 가중 logistic 회귀 (uncensored 만, \(W^C\) 가중): \[\mathrm{logit}\, \Pr(A=1 | H, L) = \alpha_0 + \alpha_1 H + \alpha_2 L\]

Step 4: \(\widehat{\alpha}_1 \approx 0\) 을 만족하는 \(\psi^\dagger\) 가 추정값 \(\widehat{\psi}_1\).

Step 5: 95% CI 는 \(\alpha_1 = 0\) 검정의 P-value > 0.05 인 \(\psi^\dagger\) 들의 범위 (test inversion).

직관 — \(H(\psi^\dagger)\) 의 의미: 후보 효과 \(\psi^\dagger\) 가 진짜라면 \(H = Y - \psi^\dagger A\) 가 “처치 효과를 빼낸 잠재 결과 \(Y^{a=0}\)”. 이 가상 잠재 결과가 \(A\) 와 독립이면 진짜 \(Y^{a=0}\) 의 성질 만족 → 후보가 진짜에 가깝다.

1.2 NHEFS 단일 모수 결과

격자 검색 결과:

\(\psi^\dagger\) \(\widehat{\alpha}_1\) P-value (α=0 검정)
2.0 -0.012 0.018
2.5 -0.006 0.07
3.0 -0.002 0.45
3.446 0.0001 0.998
3.5 0.0005 0.95
4.0 0.005 0.31
4.5 0.010 0.07
5.0 0.014 0.008

\(\widehat{\psi}_1 = 3.446\), 95% CI \(\approx (2.5, 4.5)\).

직관 — P-value 패턴의 의미: 격자 후보가 진짜에 가까울수록 \(\alpha_1\) 이 0 에 가까워지고 P-value 가 1 에 가까워진다. 진짜에서 멀어질수록 \(|\alpha_1|\) 이 커지고 P-value 가 작아진다. “\(\alpha_1 = 0\)” 가설 검정의 P-value 가 신뢰구간을 inversion 으로 정의.

직관 — 검색 vs 분석적 해: 1 차원 격자 검색은 직관적이지만 비효율. 선형 SNMM 은 closed form 이 있고, 비선형은 Newton-Raphson 으로 효율적. 격자는 교육 목적 + Score test 같은 빠른 검정이 가능할 때만 사용.

1.3 Score test 의 효율

Wald test 는 각 \(\psi^\dagger\) 마다 logistic 모형 적합 → 격자 크기만큼 회귀 적합. Score test 는 한 번의 회귀 적합 후 모든 \(\psi^\dagger\) 에 대해 빠르게 검정 가능.

직관 — Score vs Wald 의 차이: Wald 는 추정량의 분포를 가정해 검정. Score 는 가설 아래 가능도 함수의 기울기로 검정. 큰 표본에서는 같은 결론을 주지만 Score 가 계산 효율 더 좋다. G-estimation 격자 검색에서 Score test 가 표준.

2 Sensitivity Analysis 의 자연 통합

미관측 교란에 대한 sensitivity 분석

만약 미관측 교란이 있어 진짜 \(\alpha_1 \neq 0\) 이라면, 가설 값을 0 대신 다른 값으로 변경:

가설 의미 NHEFS 추정값
\(\alpha_1 = 0\) 미관측 교란 없음 3.446 kg
\(\alpha_1 = 0.05\) 약한 미관측 교란 (예: 3.2 kg)
\(\alpha_1 = 0.1\) 중간 미관측 교란 (예: 2.8 kg)
\(\alpha_1 = -0.05\) 반대 방향 약한 교란 (예: 3.7 kg)

다양한 가설 값에 대해 g-estimate 를 계산해 그래프로 시각화 — 결과의 robustness 가 직관적.

직관 — Sensitivity 의 자연스러움: 다른 도구는 sensitivity 분석을 별도로 해야 하지만, g-estimation 은 같은 격자 검색 절차에서 가설 값만 바꿈으로써 즉시 가능. 방법론과 진단이 같은 알고리즘 — Hernan 이 이 강점을 강조하는 이유.

3 95% CI 의 Test Inversion 절차

Inversion of test → confidence interval
  1. 모든 \(\psi^\dagger\) 에 대해 \(H_0: \alpha_1 = 0\) 의 P-value 계산.
  2. P-value > 0.05 인 \(\psi^\dagger\) 들의 집합 = “검정에서 기각되지 않는 영역”.
  3. 그 영역의 [min, max] 가 95% CI.

NHEFS 사례에서 P-value > 0.05 인 \(\psi^\dagger\) 의 범위가 약 [2.5, 4.5].

직관 — 검정과 신뢰구간의 듀얼: “\(\alpha_1 = 0\) 가설을 기각하지 않는 모수 값들” = “그 모수 값들이 통계적으로 가능” = “신뢰구간”. 정의에 의해 일관된 도출. 신뢰구간은 검정의 부산물이라는 형식적 관점이 inversion.

직관 — 일반 신뢰구간과의 차이: 일반 OLS·logistic 의 95% CI 는 추정량의 점근 정규성 가정. g-estimation 의 inversion CI 는 가정이 더 약함 (검정의 일치성만 필요). 그러나 점근적으로 두 형태가 같은 결과로 수렴.

4 Robust Variance vs Bootstrap

도구 가정 결과
Wald CI (robust SE) 점근 정규 Conservative (>95% coverage)
Test inversion CI 검정 일치성 정확
Bootstrap CI 가정 적음 정확

NHEFS 에서 Wald CI 와 inversion CI 가 거의 같음 (~2.5, 4.5).

5 14.6 다중 모수 SNMM

5.1 효과 수정 표현

평균 효과가 baseline 흡연량 \(V\) 에 따라 변한다고 가정:

\[\mathrm{E}[Y^a - Y^{a=0} | A=a, L] = \beta_1 a + \beta_2 a V\]

추정 절차:

  1. \(H(\beta^\dagger) = Y - \beta_1^\dagger A - \beta_2^\dagger A V\) 계산.
  2. 가중 logistic 회귀: \[\mathrm{logit}\, \Pr(A=1 | H, V, L) = \alpha_0 + \alpha_1 H + \alpha_2 H V + \alpha_3 L\]
  3. \(\widehat{\alpha}_1 = 0, \widehat{\alpha}_2 = 0\) 을 만족하는 \((\beta_1^\dagger, \beta_2^\dagger)\).

직관 — 다중 모수의 동시 검색: 1 차원 격자가 2 차원 격자로 확장. 각 \((\beta_1^\dagger, \beta_2^\dagger)\) 후보에 대해 logistic 회귀 적합 → 두 회귀 계수가 동시에 0 인 후보 찾기. 모수 수에 비례하는 차원 폭발이라 격자 검색은 비효율.

5.2 NHEFS 결과

다중 모수 SNMM 의 g-estimate:

  • \(\widehat{\beta}_1 = 2.86\) (baseline 비흡연자의 추정 효과 — 사실 baseline 흡연자만 분석)
  • \(\widehat{\beta}_2 = 0.03\) (흡연량 1 증가 시 효과 변화)

평균 baseline 흡연량 ~ 21 → 평균 효과 = \(2.86 + 21 \times 0.03 = 3.49\) kg.

단일 모수의 3.45kg 와 거의 일치 — 효과 수정의 통계적 증거 약함.

직관 — \(\beta_2 = 0.03\) 의 작은 의미: 흡연량 30 개비/일 증가 시 효과 변화가 약 0.9kg — 정량적으로는 작은 변화. 흡연량 분포 범위에서 효과가 거의 일정 — 효과 수정 약함.

5.3 Closed-form 추정량 (Technical Point 14.2)

선형 SNMM 의 g-estimate 는 닫힌형으로 표현 가능:

\[\widehat{\beta} = \left(\sum_i \mathbb{1}[C_i=0] W_i^C A_i (A_i - \widehat{\mathrm{E}}[A|L_i]) d(L_i) d(L_i)^\top\right)^{-1} \sum_i \mathbb{1}[C_i=0] W_i^C Y_i (A_i - \widehat{\mathrm{E}}[A|L_i]) d(L_i)\]

여기서 \(d(L)\) 은 SNMM 의 디자인 벡터, \(\widehat{\mathrm{E}}[A|L]\) 은 logistic 회귀에서.

직관 — Closed form 의 의미: 격자 검색이 필요 없이 한 번의 계산으로 추정값. 2SLS (Ch.16) 의 수식과 비슷한 형태 — IV 추정량과 g-estimation 의 형식적 유사성. 둘 다 잔차 형태의 식별 식을 푸는 도구.

직관 — Newton-Raphson 의 위치: 비선형 SNMM 은 closed form 없음. Newton-Raphson 같은 반복 최적화 사용. 격자 검색은 직관적 데모, 실무는 closed form 또는 Newton-Raphson.

6 Doubly Robust G-estimation 의 미리보기

DR g-estimation (Robins 2000)

\(H(\beta^\dagger)\) 를 직접 사용하지 않고 \(H(\beta^\dagger) - \mathrm{E}[H(\beta^\dagger)|L]\) 의 잔차 형태를 사용. \(\mathrm{E}[H(\beta^\dagger)|L] = \mathrm{E}[Y^{a=0}|L]\) 의 모형이 추가로 필요.

이 doubly robust g-estimator 는 다음 두 시나리오 중 한쪽만 옳아도 일치:

  1. \(\mathrm{E}[Y^{a=0}|L]\) 모형이 옳음.
  2. \(\mathrm{E}[A|L]\)\(\Pr(C=1|A,L)\) 모형이 모두 옳음.

원래 g-estimation 은 (ii) 만 의존. DR 은 위험 분산.

직관 — DR g-estimation 의 두 번의 기회: 결과 모형이 옳거나, 처치+censoring 모형이 옳거나 — 둘 중 하나만 옳아도 답이 진짜로 수렴. Ch.18 의 ML 결합 추정량의 출발점이며, 시간변동 처치 (Part III) 에서 표준 도구.

7 가정의 점검 — 전체 정리

G-estimation 의 가정 위계
가정 영향 검증 방법
조건부 교환가능성 절대적 도메인 + DAG + sensitivity
양의 확률 강함 overlap 점검
SNMM 함수 형태 강함 다른 specification 비교
처치 모형 강함 (DR 시 약함) propensity 모형 진단
Rank preservation 없음 (자동)

직관 — 가정 robustness 의 비교: g-estimation 은 IPW (처치 모형 의존) 와 표준화 (결과 모형 의존) 의 중간. Single robustness 단계에서는 둘과 비슷한 robustness, DR g-estimation 은 두 도구의 robustness 를 결합.

8 응용 분야

  • 개인화 의료의 HTE 추정: SNMM product term 으로 효과 수정 직접 표현
  • 시간변동 처치: Part III 의 표준 도구
  • 임상 코호트의 robust 분석: nuisance specification 의 영향 감소
  • 약물 효과 분석: dichotomous 또는 continuous 결과의 multiplicative SNMM
  • 민감도 분석: 미관측 교란 시나리오의 직관적 통합

9 코드 — 다중 모수 g-estimation

import pandas as pd
import numpy as np
import statsmodels.formula.api as smf

nhefs = pd.read_csv("nhefs.csv").dropna(subset=["wt82_71"]).reset_index(drop=True)

# 다중 모수 격자 검색 — 2 차원
beta1_grid = np.arange(2.0, 4.0, 0.1)
beta2_grid = np.arange(-0.05, 0.10, 0.005)

best = (np.inf, None, None)

for b1 in beta1_grid:
    for b2 in beta2_grid:
        nhefs["H"] = nhefs["wt82_71"] - b1 * nhefs["qsmk"] \
                     - b2 * nhefs["qsmk"] * nhefs["smokeintensity"]
        formula = (
            "qsmk ~ H + I(H * smokeintensity) "
            "+ sex + race + C(education) + age + I(age**2) "
            "+ smokeintensity + I(smokeintensity**2) + smokeyrs + I(smokeyrs**2) "
            "+ C(exercise) + C(active) + wt71 + I(wt71**2)"
        )
        m = smf.logit(formula, data=nhefs).fit(disp=False)
        # 두 alpha 가 동시에 0 에 가까운지
        score = abs(m.params["H"]) + abs(m.params["H:smokeintensity"])
        if score < best[0]:
            best = (score, b1, b2)

print(f"G-estimate: beta1 = {best[1]:.2f}, beta2 = {best[2]:.3f}")
# beta1 ~ 2.86, beta2 ~ 0.03

# Closed-form 추정 (선형 SNMM)
# 본문 Technical Point 14.2 의 행렬 식 — 코드 schematic
# (실제 구현은 numpy 의 linear algebra 사용)

10 한 줄 요약

G-estimation 의 5 단계 절차는 격자 검색 → \(\widehat{\alpha}_1 = 0\) 후보 → test inversion 으로 95% CI. 선형 SNMM 은 closed form, 비선형은 Newton-Raphson. 다중 모수 SNMM 은 효과 수정을 product term 으로 직접 표현 — NHEFS 에서 \(\widehat{\beta}_1 = 2.86, \widehat{\beta}_2 = 0.03\). Doubly robust g-estimation 은 결과·처치 모형 중 한쪽만 옳아도 일치 — Part III 의 시간변동 표준 도구로 확장.

11 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

Subscribe

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