결과 회귀와 성향점수 정의

Hernan Ch.15.1~15.2 — Faux MSM 으로서의 outcome regression + PS의 balancing 성질

Hernan & Robins (2020) Ch.15.1~15.2 를 다룬다. Outcome regression 의 직접 추정 절차, faux marginal structural model 과의 동등성, 성향점수의 정의와 balancing 성질, Rosenbaum-Rubin 정리, 그리고 PS 가 다차원 \(L\) 의 정보를 1 차원으로 압축하는 메커니즘을 정리한다.

Experimentation
Causal Inference
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의

정의: Outcome Regression

조건부 평균 결과 \(\mathrm{E}[Y|A, C=0, L]\) 을 회귀 모형으로 추정하는 절차.

\[\mathrm{E}[Y|A, C=0, L] = \alpha_0 + \alpha_1 A + \alpha_2 A L + \alpha_3 L\]

OLS 또는 GLM 으로 적합 후, 처치 효과 \(\widehat{\alpha}_1 + \widehat{\alpha}_2 L\) 를 결과로 보고.

정의: Faux Marginal Structural Model

조건부 모형 \(\mathrm{E}[Y^{a, c=0} | L] = \beta_0 + \beta_1 a + \beta_2 a L + \beta_3 L\) 의 모수를 IP 가중 없이 OLS 로 추정. 가중치 \(SW^A(L) = 1\) 이므로 가중 무의미. Outcome regression 이 faux MSM 의 OLS 적합과 동등 (Hernan, Ch.12.5).

직관 — Faux MSM 의 의미: “marginal” 이라 불리지만 사실 conditional 모형. \(L\) 전체를 모형 안에 넣으면 가중이 무의미해 일반 회귀와 같다. 이름은 marginal 이지만 본질은 conditional — Hernan 의 약간 유머러스한 용어.

2 15.1 Outcome Regression

2.1 Structural model 형태

\[\mathrm{E}[Y^{a, c=0} | L] = \beta_0 + \beta_1 a + \beta_2 a L + \beta_3 L\]

모수 의미
\(\beta_0\) \(a=0, L=0\) 일 때 평균 결과
\(\beta_1\) \(L=0\) 그룹의 평균 효과
\(\beta_2\) \(L\) 1 단위 증가 시 효과 변화량
\(\beta_3\) \(L\) 의 결과에 대한 nuisance 효과

직관 — \(\beta_3\) 가 nuisance 인 이유: \(\beta_3\) 는 “\(L\) 이 결과에 미치는 영향” 의 표현이지만 인과 의미는 없다 — \(L\) 자체가 다른 변수에 의해 교란될 수 있어서. 추정 정확도를 높이는 보조 모수일 뿐. 인과 모수는 \(\beta_1, \beta_2\).

2.2 Identifiability conditions 아래의 등가성

조건부 교환가능성 \(Y^a \perp\!\!\!\perp A | L\), 양의 확률, 일관성 아래

\[\mathrm{E}[Y^{a=1, c=0} | L=l] = \mathrm{E}[Y | A=1, C=0, L=l]\]

따라서 OLS 로 적합한 \(\widehat{\mathrm{E}}[Y|A, C=0, L]\) 의 모수가 structural 모수를 추정.

직관 — 식별 식의 의미: “처치 받지 않았다면 \(Y\) 가 어땠을까?” 를 묻는 잠재 결과 평균이 같은 \(L\) 의 처치군의 관측 평균과 같다 — 식별 가정 아래에서. 이로 인해 일반 회귀의 모수가 인과 모수를 향한다.

2.3 NHEFS 결과 비교

NHEFS Outcome Regression 결과 (Hernan, Program 15.1)

Product term 포함 모형: \(\widehat{\beta}_1 = 2.6, \widehat{\beta}_2 = 0.05\) (smokeintensity 와 product). - 5 개비/일에서 효과: \(2.6 + 5 \times 0.05 = 2.85\) kg (95% CI 1.5~4.1). - 40 개비/일에서 효과: \(2.6 + 40 \times 0.05 = 4.6\) kg (95% CI 2.8~6.1).

Product term 없는 모형: \(\widehat{\beta}_1 = 3.5\) kg (95% CI 2.6~4.3).

직관 — Product term 의 효과: “흡연량 많을수록 금연 효과 큰가?” 가설. \(\widehat{\beta}_2 = 0.05\) 면 흡연량 1 증가 시 효과 0.05kg 증가 — 5~40 범위에서 효과가 2.85~4.6kg 로 변동. 효과 수정 의 명시적 표현.

직관 — Marginal vs conditional 의 미묘함: Product term 없는 모형의 \(\widehat{\beta}_1 = 3.5\) 가 ATE 와 비슷. 효과 수정 있는 진짜 분포에서는 회귀 계수가 ATE 와 정확히 같지 않을 수 있지만, 효과 수정이 약하면 거의 일치.

3 15.2 Propensity Score 의 정의

3.1 PS 의 정의와 추정

\[\pi(L) = \Pr(A=1 | L)\]

이항 처치에서. NHEFS 사례에서 logistic 회귀로 추정:

\[\mathrm{logit}\, \widehat{\pi}(L) = \widehat{\alpha}_0 + \widehat{\alpha}_2 L + \cdots\]

추정 후 환자별 \(\widehat{\pi}(L_i)\) 가 그 환자의 추정된 처치 받을 확률.

직관 — “성향” 의 어원: 각 환자가 처치 받을 경향성 을 한 숫자로 요약. 9 변수의 다차원 정보를 0~1 의 1 차원 점수로 압축. 차원 축소의 한 형태.

3.2 NHEFS PS 분포

  • 가장 낮은 \(\widehat{\pi}\): 환자 22941 → 0.053 (금연 가능성 매우 낮음)
  • 가장 높은 \(\widehat{\pi}\): 환자 24949 → 0.793 (금연 가능성 높음)
  • 금연자 평균: 0.312
  • 비금연자 평균: 0.245

직관 — 처치-대조의 PS 분포 차이: 금연자가 비금연자보다 평균 PS 가 약 0.07 높다 — 처치 받기 쉬운 사람들이 실제로 더 많이 처치 받았음. 이 차이가 confounding 의 정량적 증거.

3.3 Balancing 성질 — Rosenbaum & Rubin 정리

정의: Balancing Score

\(L\) 의 함수 \(b(L)\)\(A \perp\!\!\!\perp L | b(L)\) 를 만족하면 balancing score.

Rosenbaum-Rubin 정리 (1983):

  1. \(\pi(L)\) 은 balancing score 다. \(A \perp\!\!\!\perp L | \pi(L)\).
  2. 조건부 교환가능성 \(Y^a \perp\!\!\!\perp A | L\)\(L\) 에 대해 성립하면 PS 에 대해서도 성립: \(Y^a \perp\!\!\!\perp A | \pi(L)\).

결론: \(L\) 에 대한 조건부 분석으로 충분하면 \(\pi(L)\) 만의 조건부 분석으로도 충분.

직관 — 정리의 본질: 9 차원 \(L\) 의 모든 정보를 1 차원 \(\pi(L)\) 이 흡수. 처치-결과 분석에는 9 차원 보정 대신 1 차원 PS 보정이면 충분. 다차원 → 1 차원 압축의 자유 카드.

직관 — 같은 PS, 다른 \(L\): 환자 A 가 (\(L_1=10, L_2=5\)), 환자 B 가 (\(L_1=2, L_2=20\)) 인데 \(\pi(L_A) = \pi(L_B) = 0.3\) 이라면 두 환자가 처치 받을 확률 같음. 그러나 \(L\) 값은 다르다 — PS 는 처치 결정에 영향 을 압축하지 환자 자체 를 압축하지 않음.

3.4 추정된 PS 와 진짜 PS

추정 PS 의 한계

\(\pi(L)\) 의 진짜 함수 형태가 logistic 의 어떤 specification 인지 알 수 없다. Logistic 모형이 misspecified 되면:

  • 추정 PS 가 진짜 PS 와 다름.
  • Balancing 성질이 깨짐 (불완전).
  • 추정 인과 효과에 편향.

NHEFS 사례의 9 변수 + quadratic 모형은 도메인 합리적 specification 이지만 진짜 형태와 다를 수 있음.

직관 — 추정 PS 의 진단: PS 적합 후 처치-대조군의 PS 분포를 점검 (overlap), 처치-대조군의 공변량 분포가 PS 층 안에서 비슷한지 점검 (covariate balance). 두 진단 모두 통과해야 PS 추정의 robustness 보장.

직관 — 정확한 PS 추정 vs 정확한 효과 추정: 정확한 PS 추정이 인과 효과 추정의 정확도와 직접 연관되지 않을 수 있다 — 잘못된 PS 가 우연히 잘 작동할 수도, 잘 추정된 PS 가 작은 표본에서 분산 폭발할 수도. 추정 PS 는 도구일 뿐 목적이 아님.

4 DAG 로 본 PS

PS 의 DAG 표현 (Figure 15.2)

\[L \to \pi(L) \to A \to Y\]

\(\pi(L)\)\(L\) 의 결정적(deterministic) 함수이고 \(A\) 의 직접 원인. \(\pi(L)\)\(L\)\(A\) 사이의 모든 backdoor path 를 막는다 (intermediate node).

따라서 \(\pi(L)\) 만 보정하면 \(L\) 의 효과를 모두 흡수 — backdoor criterion 의 단순 형태.

직관 — Backdoor 차단의 그래프적 의미: \(L \to A\) 의 화살표가 \(L \to \pi(L) \to A\) 로 분해되면 \(\pi(L)\) 보정으로 \(A\)-\(Y\) 의 모든 backdoor 경로가 차단. PS 가 conditional 분석의 충분 통계량.

5 PS 와 Randomization 의 관계

환경 PS
무작위 실험 (50:50) \(\pi(L) = 0.5\) for all \(L\)
무작위 실험 (층화) \(\pi(L)\) = 층의 배정 확률
관찰 연구 \(\pi(L)\)\(L\) 의 함수, 알려지지 않음
자연 실험 부분적으로 알려진 \(\pi(L)\)

직관 — RCT 가 PS 분석의 ideal: 무작위 실험에서 PS 가 모든 사람에게 같다 — 자동 balancing. 관찰 연구는 PS 추정으로 무작위성을 인공적으로 회복. 정확도는 PS 모형의 품질에 의존.

직관 — 관찰 연구 PS 의 본질적 한계: 측정 안 된 변수 \(U\) 가 처치 결정에 영향을 주면 \(\pi(L)\) 에 그 영향이 반영 안 됨. 측정된 \(L\) 만으로 진짜 PS 를 표현 못 함 — 이것이 미관측 교란 위험의 핵심.

6 Outcome regression vs PS — 모형 비교

측면 Outcome regression PS
모형 대상 \(\mathrm{E}[Y|A, L]\) \(\Pr(A=1|L)\)
활용 방식 직접 효과 추정 가중·층화·매칭
Misspecification 결과 함수 형태 처치 확률 함수 형태
차원 처리 회귀 모수 PS 1 차원
결과 분포 임의 (continuous, count, binary) 처치 분포만

직관 — 두 도구의 정직한 비교: 어느 한쪽이 절대적으로 우월하지 않다. 결과가 정규에 가깝고 회귀 가정이 합리적이면 outcome regression. 처치 결정이 단순하고 PS 분포가 양호하면 PS. 둘 다 시도해 결과 비교 가 표준 권장.

7 응용 분야

  • 임상 코호트 분석: outcome regression 또는 PS — 도메인 선호 차이
  • 공중보건 정책 평가: 두 도구로 robust 분석
  • 계량경제 정책 평가: matching 의 변종 (Diff-in-Diff, RDD 결합)
  • 약물 안전성 분석: PS matching 표준
  • A/B 테스트 보정: outcome regression with stratification

8 코드 — Outcome regression + PS 추정

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

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

# Outcome regression
out_formula = (
    "wt82_71 ~ qsmk + qsmk: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)"
)
out_model = smf.ols(out_formula, data=nhefs).fit()
print("Outcome regression:")
print(f"  beta_qsmk = {out_model.params['qsmk']:.3f}")
print(f"  beta_qsmk:smokeintensity = {out_model.params['qsmk:smokeintensity']:.3f}")

# 5 개비/일과 40 개비/일 에서의 효과
for x in [5, 40]:
    eff = out_model.params["qsmk"] + x * out_model.params["qsmk:smokeintensity"]
    print(f"  Effect at smokeintensity={x}: {eff:.2f} kg")

# PS 추정
ps_formula = (
    "qsmk ~ sex + race + C(education) + age + I(age**2) "
    "+ smokeintensity + I(smokeintensity**2) + smokeyrs + I(smokeyrs**2) "
    "+ C(exercise) + C(active) + wt71 + I(wt71**2)"
)
ps_model = smf.logit(ps_formula, data=nhefs).fit(disp=False)
nhefs["ps"] = ps_model.predict()

print(f"\nPS distribution:")
print(f"  Min: {nhefs['ps'].min():.3f}")
print(f"  Max: {nhefs['ps'].max():.3f}")
print(f"  Mean (treated): {nhefs[nhefs['qsmk']==1]['ps'].mean():.3f}")
print(f"  Mean (untreated): {nhefs[nhefs['qsmk']==0]['ps'].mean():.3f}")

# Balancing 진단 — PS layer 별 공변량 평균
nhefs["ps_decile"] = pd.qcut(nhefs["ps"], 10, labels=False)
print("\nCovariate balance check (age) by PS decile:")
balance = nhefs.groupby(["ps_decile", "qsmk"])["age"].mean().unstack()
print(balance)

9 한 줄 요약

Outcome regression 은 결과 회귀를 직접 추정하는 가장 흔한 도구로, faux MSM 과 등가. NHEFS 에서 product term 없으면 3.5kg, 있으면 흡연량별 2.85~4.6kg. PS 는 \(\Pr(A=1|L)\) 의 logistic 추정량으로, Rosenbaum-Rubin 정리에 의해 다차원 \(L\) 정보를 1 차원으로 압축. Balancing 성질이 PS 활용의 모든 형태 (가중·층화·매칭) 의 이론적 기초. 추정 PS 는 모형 misspecification 위험에 의존.

10 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

Subscribe

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