Klein Ch.6 Overview — Topics in Univariate Estimation (Kernel Smoothing · Excess Mortality · Bayesian NPMLE)

§ 6.2 Kernel Hazard Smoothing — NA 점프 ΔH̃(t_i) 의 가중 평균 ĥ(t) = (1/b) ∑ K((t-t_i)/b) ΔH̃(t_i) (식 6.2.4) · 3 종 kernel (uniform 0.5 · Epanechnikov 0.75(1-x²) · biweight (15/16)(1-x²)²) · Gasser-Müller 1979 의 asymmetric boundary kernel (식 6.2.6~8) · bandwidth bias-variance trade-off / § 6.3 Excess Mortality 두 모형 — Multiplicative h_j = β(t)θ_j(t) (식 6.3.1) → B̂(t) = ∑ d_i/Q(t_i) (식 6.3.2) — SMR 의 시간 변동 일반화 · Additive h_j = α(t) + θ_j(t) (식 6.3.4) → Â(t) = H̃(t) - Θ(t) (식 6.3.6) — ‘corrected’ survival S^C = Ŝ/S* / § 6.4 Bayesian NPMLE — Dirichlet process prior (Ferguson 1973) for S(t) — α(t,∞) = c S_0(t), 식 6.4.1 의 closed form S̃_D · Beta process prior (Hjort 1990) for H(t) — c(t) weight, 식 6.4.2 의 closed form S̃_B · c → 0 (또는 n → ∞) 에서 KM 으로 수렴

Klein & Moeschberger Ch.6 의 4 개 절을 한 편으로 조망한다. Ch.4·5 가 KM·NA·life table 등 비모수 추정의 표준 도구를 다뤘다면, Ch.6 은 그 위의 정교화 — (1) hazard rate 의 평활 추정, (2) reference 인구와의 비교 (excess mortality), (3) prior 정보를 활용한 Bayesian 추정 — 을 다룬다. § 6.1 Introduction — Ch.4 의 NA 가 cumulative hazard 만 추정 → hazard rate 자체는 점프 크기 ΔH̃(t_i) 의 거친 추정만 가능. Ch.6 의 3 가지 정교화: kernel smoothing (§ 6.2), excess mortality (§ 6.3), Bayesian (§ 6.4). § 6.2 — Kernel Hazard Smoothing: NA 점프의 시간 t 주변 가중 평균 ĥ(t) = (1/b) ∑ K((t-t_i)/b) ΔH̃(t_i) (식 6.2.4). Bandwidth b 와 kernel K() 가 두 핵심 선택. 3 종 kernel: uniform K=0.5 (식 6.2.1, 균등 가중), Epanechnikov K=0.75(1-x²) (식 6.2.2, 중심에 큰 가중·optimal MSE), biweight K=(15/16)(1-x²)² (식 6.2.3, smoothest·heavier weighting). Boundary effect 함정 — 시작·끝에서 symmetric kernel 작동 안 함 → Gasser-Müller 1979 asymmetric kernel (식 6.2.6~6.2.8). Bandwidth bias-variance trade-off (작은 b → 분산 큼·편향 작음, 큰 b → 분산 작음·편향 큼). Klein Example 6.1 BMT ALL 의 ĥ(150) = 0.00257. § 6.3 — Excess Mortality: 표준 인구 mortality 와 비교하는 두 모형. (1) Multiplicative (relative mortality) — h_j(t) = β(t) θ_j(t) (식 6.3.1) where θ_j 는 j 번째 환자의 인구 hazard. β(t) > 1 면 study 군이 표준 인구보다 빠른 사망. B(t) = ∫ β(u) du 의 추정 식 6.3.2 = ∑ d_i / Q(t_i), Q(t_i) = ∑ θ_j(t_i) Y_j(t_i) — Breslow 1975 SMR (Standardized Mortality Ratio) 의 시간 변동 일반화. (2) Additive — h_j(t) = α(t) + θ_j(t) (식 6.3.4) — α(t) > 0 면 표준 인구 외 추가 위험. Â(t) = H̃(t) - Θ(t) (식 6.3.6) where Θ(t) = ∑ ∫ θ_j(u) Y_j(u)/Y(u) du (식 6.3.5). Corrected survival S^C(t) = Ŝ(t)/S*(t). Klein Example 6.3 26 명 Iowa psychiatric inpatient (Klein § 1.15) — 1959-1961 Iowa state mortality 와 비교, β(t) ≈ 20-30 (첫 2 년 정신질환자가 일반 인구보다 20-30 배 사망률 높음). § 6.4 — Bayesian Nonparametric Methods: prior 정보 + sample data → posterior. Squared-error loss → posterior mean 이 Bayes estimator. 두 conjugate prior. (1) Dirichlet process for S — Ferguson 1973, α(t,∞) = c S_0(t) where S_0 은 prior guess, c 는 prior 강도. Prior variance = S_0(1-S_0)/(c+1) — c 가 가짜 표본 크기 + 1. Bayes estimator 식 6.4.1 의 closed form S̃_D(t). (2) Beta process for H — Hjort 1990, H_0(t) prior guess + c(t) 시간별 weight. 식 6.4.2 의 closed form S̃_B(t). 두 prior 의 sample path 시뮬레이션 (Klein Figure 6.11·12). c → 0 (정보 없는 prior) 또는 n → ∞ (큰 표본) 에서 KM 으로 수렴 — Bayes 가 KM 의 일반화. Klein Example 6.4 6-MP 데이터, S_0(t) = e^{-0.1t}, c = 5. § 6.5 Exercises — 다음 deep-dive 편에서 풀이. Ch.6 의 핵심: Ch.4·5 의 KM/NA 가 raw cumulative hazard 만 추정하면, Ch.6 은 (1) 점프를 평활해 hazard rate 직접 추정, (2) reference 와 비교해 “excess” 분리, (3) prior 정보로 finite sample 안정화 — 비모수 추정의 정교화 toolkit.

Statistics
Survival Analysis
Klein-Moeschberger
Kernel-Smoothing
Excess-Mortality
Bayesian-NPMLE
Dirichlet-Process
저자

Kwangmin Kim

공개

2026년 04월 28일

1 들어가며 — Ch.4·5 의 정교화

Klein 시리즈 사다리:

주제
Ch.1 시리즈 19 데이터 catalog
Ch.2 시리즈 4 함수 + 9 분포 + PH/AFT + competing risks
Ch.3 시리즈 Censoring·truncation + likelihood + counting process
Ch.4 시리즈 KM·NA·CI·Band·Mean/Median·LT·CIF
Ch.5 시리즈 Left·Double·Interval Cens · Right Trunc · Life Table
Ch.6 (본 편) Kernel Hazard Smoothing · Excess Mortality · Bayesian NPMLE
Ch.7 (예정) Log-rank · Wilcoxon · Tarone-Ware
… (Ch.8~13) Cox PH · Aalen · AFT · 진단
Ch.6 의 한 줄 요약

“Ch.4·5 의 NA 추정량 \(\widetilde{H}(t)\) 는 cumulative hazard 의 step function — 그 점프 크기 \(\Delta\widetilde{H}(t_i) = d_i/Y_i\) 가 hazard rate 의 거친 추정. Ch.6 은 이 거친 추정을 (1) 평활 (kernel smoothing, § 6.2) 해 매끄러운 \(\widehat{h}(t)\) 도출, (2) 표준 인구와 비교 (excess mortality, § 6.3) 해 multiplicative \(\beta(t)\) 또는 additive \(\alpha(t)\) 분리, (3) prior 정보 결합 (Bayesian NPMLE, § 6.4) 해 finite sample 안정화. 세 정교화 모두 Ch.4 의 NA·KM 위에 새로운 layer 를 올린다.”

직관 — Ch.4·5 의 한계와 Ch.6 의 동기

Ch.4 의 NA 추정량:

\[ \widetilde{H}(t) = \sum_{t_i \leq t} \frac{d_i}{Y_i} \]

  • 이산 step function — 사건 시점에서만 점프, 그 사이는 상수.
  • 점프 크기 \(\Delta\widetilde{H}(t_i) = d_i/Y_i\) = \(t_i\) 시점 hazard 의 거친 추정.

문제점:

  1. 거친 hazard 추정 — 점프만 보고 hazard 모양 파악 어려움. 평활이 필요.
  2. 표준 인구 무시 — 모든 사건이 동등하게 처리. “정신질환자가 일반인보다 얼마나 빨리 사망하는가” 같은 질문 답 못 함.
  3. Prior 정보 무시 — 이전 연구·전문가 의견·표준 인구 mortality 등을 활용 못 함.

Ch.6 의 3 정교화가 각 문제를 해결.

1.1 Ch.6 의 4 절 조망

주제 핵심 도구
§ 6.1 Introduction Ch.4·5 의 한계 + Ch.6 의 3 정교화
§ 6.2 Kernel Hazard Smoothing \(\widehat{h}(t) = (1/b) \sum K(\cdot) \Delta\widetilde{H}\)
§ 6.3 Excess Mortality Multiplicative + Additive 두 모형
§ 6.4 Bayesian Nonparametric Dirichlet + Beta process prior
§ 6.5 Exercises 10 문제

2 § 6.2 — Kernel Hazard Smoothing

2.1 NA 의 점프 vs Smooth Hazard

정의: NA 점프 = 거친 hazard 추정

Ch.4 § 4.2 의 NA 추정량:

\[ \widetilde{H}(t) = \sum_{t_i \leq t} \frac{d_i}{Y_i}, \quad \Delta\widetilde{H}(t_i) = \frac{d_i}{Y_i} \]

연속 시간에서 hazard 의 정의:

\[ h(t) = \frac{dH(t)}{dt} = \lim_{\Delta t \to 0} \frac{P(t \leq X < t + \Delta t \mid X \geq t)}{\Delta t} \]

→ 이산 점프 \(\Delta\widetilde{H}(t_i)\)\(h(t_i)\) 의 거친 추정. 하지만 점프만 보고 hazard 모양 (constant·monotone·U·hump) 파악 어려움.

직관 — 왜 평활이 필요한가

NA plot 의 시각적 모습:

  • 사건 시점에서만 jump.
  • 사이에는 상수 (계단 모양).
  • “기울기 = hazard” 는 점프 시점 직후 무한대, 사이는 0 — 의미 없음.

→ 점프들의 시간 평균 이 의미 있는 hazard 추정.

비유: 비 오는 날의 빗소리. 빗방울 하나하나는 점적인 (point process), 그러나 우리는 “초당 빗방울 수” 를 듣고 비의 강도를 파악. → 시간 윈도우 내 평균이 자연.

2.2 Kernel Smoothing 식 (식 6.2.4)

정의: Kernel-smoothed hazard estimator (식 6.2.4)

시점 \(t\) 에서:

\[ \widehat{h}(t) = \frac{1}{b} \sum_{i=1}^D K\left(\frac{t - t_i}{b}\right) \Delta\widetilde{H}(t_i) \]

분산 (식 6.2.5):

\[ \sigma^2[\widehat{h}(t)] = \frac{1}{b^2} \sum_{i=1}^D K\left(\frac{t - t_i}{b}\right)^2 \Delta\widehat{V}[\widetilde{H}(t_i)] \]

여기서:

  • \(b\): bandwidth — “얼마나 넓은 시간 윈도우를 평균할지”.
  • \(K(\cdot)\): kernel function — \([-1, +1]\) 에서 정의, \(\int K = 1\), \(K \geq 0\).
  • \(\Delta\widehat{V}[\widetilde{H}(t_i)] = d_i / Y_i^2\) (Aalen 분산의 점프).
직관 — 식의 분해

식 6.2.4 를 인자별로 해석:

  • \(\Delta\widetilde{H}(t_i) = d_i/Y_i\): \(t_i\) 시점 hazard 의 거친 추정.
  • \(K((t - t_i)/b)\): \(t_i\)\(t\) 에 가까울수록 큰 가중, 멀수록 0.
  • \(1/b\): 정규화 (bandwidth 가 클수록 더 많은 점이 포함되므로 분모 보정).
  • \(\sum\): 모든 사건 시점의 가중 평균.

→ “\(t\) 주변 (\(\pm b\)) 의 hazard 거친 추정들을 가중 평균하여 매끄러운 \(h(t)\) 도출”.

2.3 3 종 Kernel

정의: 3 가지 표준 kernel (식 6.2.1~6.2.3)

Uniform (식 6.2.1):

\[ K(x) = 0.5, \quad -1 \leq x \leq 1 \]

Epanechnikov (식 6.2.2):

\[ K(x) = 0.75 (1 - x^2), \quad -1 \leq x \leq 1 \]

Biweight (식 6.2.3):

\[ K(x) = \frac{15}{16}(1 - x^2)^2, \quad -1 \leq x \leq 1 \]

직관 — 3 kernel 의 차이

각 kernel 의 모양:

Kernel 중심 (\(x = 0\)) 가중 양 끝 (\(x = \pm 1\)) 가중 매끄러움
Uniform 0.5 0.5 (cliff) 거침
Epanechnikov 0.75 0 (smooth) 매끄러움
Biweight 0.9375 0 (very smooth) 매우 매끄러움

중심 가중 비교:

  • Uniform: 모든 점에 같은 가중 — “naive 평균”.
  • Epanechnikov: 중심에 더 큰 가중 — MSE 최적 (Hodges-Lehmann 1956).
  • Biweight: 중심에 가장 큰 가중 — 결과가 가장 매끄러우나 약간 더 편향.

실무 권장: Epanechnikov 가 표준 — MSE 관점 최적. Uniform 은 단순 평균이 필요할 때, biweight 는 가장 매끄러운 plot 이 필요할 때.

2.4 Bandwidth 의 Bias-Variance Trade-off

함정 — bandwidth 선택의 trade-off

작은 \(b\):

  • 좁은 윈도우 → 적은 점들 가중 평균 → 분산 큼.
  • 그러나 시간 변동에 민감 → 편향 작음.
  • Plot: 거칠고 노이즈 많음.

\(b\):

  • 넓은 윈도우 → 많은 점들 가중 평균 → 분산 작음.
  • 그러나 시간 변동을 평탄화 → 편향 큼 (예: 시간에 따라 변하는 hazard 를 일정한 평균으로 추정).
  • Plot: 매끄럽지만 진짜 모양 놓침.

선택 방법:

  • MSE 최소화 (cross-validation).
  • 시각적 판단 (실무에서 흔함).
  • Klein Example 6.2 에서 다양한 \(b\) 비교.

2.5 Boundary Effect — Asymmetric Kernel

함정 — 시작·끝에서 symmetric kernel 안 됨

대칭 kernel (\(K(-x) = K(x)\)) 은 \(-1 \leq x \leq 1\) 범위 모두 데이터가 있어야 작동.

문제:

  • \(t < b\) 영역: \(t - b < 0\) 이라 사건 데이터 없음 (\(t_i\) 가 음수 안 됨).
  • \(t > t_D - b\) 영역: 사건 데이터 부족 (마지막 사건 이후).

→ 단순히 kernel 양쪽을 잘라내면 적분 = 1 보장 못 함, 추정량 편향.

정의: Gasser-Müller (1979) Asymmetric Kernel

\(q = t/b\) (boundary 까지의 비율) 정의 후 modified kernel.

Uniform 의 asymmetric (식 6.2.6):

\[ K_q(x) = \frac{4(1 + q^3)}{(1 + q)^4} + \frac{6(1 - q)}{(1 + q)^3} x, \quad -1 \leq x \leq q \]

Epanechnikov asymmetric (식 6.2.7): \(K_q(x) = K(x) (\alpha_E + \beta_E x)\) where \(\alpha_E, \beta_E\)\(q\) 의 함수.

Biweight asymmetric (식 6.2.8): 유사한 형태.

→ Boundary 에서 적분 = 1 유지하면서 연속적 가중 분배.

2.6 Klein Example 6.1 — BMT ALL Hazard 추정

손풀이 — t = 150 일 시점

BMT ALL 38 명 (Klein § 1.3, Klein Example 4.2 의 ALL 군). Epanechnikov kernel + bandwidth \(b = 100\) 일 사용.

\(t = 150\) (즉 \(b \leq t \leq t_D - b\) 범위 안 — symmetric kernel 사용 가능):

식 6.2.4 직접 계산:

\[ \widehat{h}(150) = \frac{1}{100} \sum_i K\left(\frac{150 - t_i}{100}\right) \cdot \frac{d_i}{Y_i} \]

Klein Table 6.1 의 weight 값 일부 (Epanechnikov):

\(t_i\) \(\Delta\widetilde{H}\) \(K((150-t_i)/100)\) 기여
55 0.0270 0.0731 0.00197
74 0.0278 0.3168 0.00880
86 0.0286 0.4428 0.01266
104 0.0294 0.5913 0.01738
122 0.0667 0.6912 0.04609
172 0.0370 0.7137 0.02641
192 0.0385 0.6177 0.02378
230 0.0435 0.2700 0.01175

(다른 시점은 \(K = 0\) — 즉 \(|150 - t_i|/100 > 1\)).

합 ≈ 0.257, 그리고 \(\widehat{h}(150) = 0.257 / 100 = 0.00257\) /day.

→ “150 일 시점에서 ALL 환자의 hazard rate ≈ 0.00257 / day = 0.94 / year” → 연 94% 사건 확률 (1 명당). 매우 높은 사망률 — BMT 후 1 년 위험 정점.

표준오차: \(\sigma(\widehat{h}(150)) = 0.00073\) → 95% CI 약 \((0.0011, 0.0040)\) /day.

3 § 6.3 — Estimation of Excess Mortality

3.1 두 모형의 동기

직관 — 왜 표준 인구와 비교하는가

특정 환자 그룹 (예: 정신질환자) 의 mortality 를 알고 싶을 때:

  • 단순 KM: “정신질환자의 5 년 생존률 80%” — 절대 척도, 그러나 같은 나이·성별의 일반인 대비 어떤지 모름.
  • Excess mortality: “정신질환자가 같은 나이·성별 일반인보다 1.5 배 빠르게 사망” — 상대적 비교.

→ 표준 인구 mortality table 활용해 “환자 그룹의 사망이 일반인보다 얼마나 더 일어나는가” 정량화.

가정: 표준 인구 hazard \(\theta_j(t)\) 가 환자 \(j\) 의 특성 (나이·성별·인종 등) 에 따라 알려져 있음 — life table 또는 cohort 데이터에서.

3.2 두 모형 — Multiplicative vs Additive

정의: Multiplicative (Relative Mortality) Model (식 6.3.1)

환자 \(j\) 의 hazard rate:

\[ h_j(t) = \beta(t) \cdot \theta_j(t), \quad j = 1, \ldots, n \]

  • \(\beta(t)\): relative mortality function (환자 그룹 / 표준 인구).
  • \(\beta(t) > 1\): 환자 그룹이 표준보다 빠른 사망.
  • \(\beta(t) = 1\): 표준과 동일.
  • \(\beta(t) < 1\): 환자 그룹이 더 좋음 (예: 운동 군의 심혈관 질환).

Cumulative: \(B(t) = \int_0^t \beta(u) du\).

정의: Additive Model (식 6.3.4)

\[ h_j(t) = \alpha(t) + \theta_j(t) \]

  • \(\alpha(t)\): excess (additional) hazard — 환자 그룹의 추가 위험.
  • \(\alpha(t) > 0\): 표준 인구 외 추가 위험.
  • \(\alpha(t) = 0\): 표준과 동일.
  • \(\alpha(t) < 0\): 표준보다 안전 (드뭄).

Cumulative: \(A(t) = \int_0^t \alpha(u) du\).

직관 — 두 모형의 의미 차이

같은 데이터에서 두 모형은 다른 질문에 답:

모형 답하는 질문 비유
Multiplicative “위험이 몇 배?” 1.5 배 빠른 자동차
Additive “추가 위험이 얼마?” 시속 50 km 더 빠른 자동차
  • Multiplicative: \(\beta(t) = 2\)\(\theta_j = 0.01\) 환자에서 \(h_j = 0.02\), \(\theta_j = 0.05\) 환자에서 \(h_j = 0.10\) — 위험이 비례 확대.
  • Additive: \(\alpha(t) = 0.01\) 이 모든 환자에 동일 추가 — \(\theta_j = 0.01\)\(h_j = 0.02\), \(\theta_j = 0.05\)\(h_j = 0.06\) — 작은 baseline 환자에 더 큰 상대 영향.

선택 기준:

  • 위험 요인이 “비례적” (예: 흡연 → 폐암 모든 연령 공통 ratio): multiplicative.
  • 위험 요인이 “추가적” (예: 직업 노출 → 모든 연령 공통 추가 위험): additive.

→ 두 모형 모두 보고하고 비교 권장.

3.3 Multiplicative Model 의 추정

정의: B̂(t) — Cumulative Relative Mortality (식 6.3.2)

\[ \widehat{B}(t) = \sum_{t_i \leq t} \frac{d_i}{Q(t_i)} \]

여기서 \(Q(t) = \sum_{j=1}^n \theta_j(t) Y_j(t)\) — 모든 위험 환자의 표준 인구 hazard 합.

분산 (식 6.3.3):

\[ \widehat{V}[\widehat{B}(t)] = \sum_{t_i \leq t} \frac{d_i}{Q(t_i)^2} \]

직관 — 식 6.3.2 의 의미
  • 분자 \(d_i\): 시점 \(t_i\) 에서 실제 사건 수 (관측).
  • 분모 \(Q(t_i)\): “표준 인구 mortality 가정 시 \(t_i\) 시점에 기대되는 사건 수의 가중치”.
  • 비율 \(d_i / Q(t_i)\): “실제 / 기대” — 시간별 relative mortality 의 거친 추정.

→ NA 의 일반화: 표준 KM 의 \(d_i / Y_i\) 가 분모에 위험집합만 사용한다면, B̂ 는 분모에 표준 인구 hazard 가중을 추가.

SMR (Standardized Mortality Ratio) 의 시간 변동:

전통 SMR (Breslow 1975): \(\beta(t) = \beta_0\) 일정 가정. \(\widehat{\beta}_0 = \sum d_i / E\) where \(E = \int Q(u) du\) — Klein § 6.3 Practical Note 1. → B̂ 가 SMR 의 시간-변동 일반화.

3.4 Additive Model 의 추정

정의: Â(t) — Cumulative Excess Mortality (식 6.3.6)

\[ \widehat{A}(t) = \sum_{t_i \leq t} \frac{d_i}{Y(t_i)} - \Theta(t) \]

여기서:

  • 첫 항 \(\sum d_i / Y(t_i) = \widetilde{H}(t)\) — 표준 NA (관측 cumulative hazard).
  • 두 번째 항 \(\Theta(t)\) — “기대 cumulative hazard” (식 6.3.5):

\[ \Theta(t) = \sum_{j=1}^n \int_0^t \theta_j(u) \frac{Y_j(u)}{Y(u)} du \]

분산 (식 6.3.7):

\[ \widehat{V}[\widehat{A}(t)] = \sum_{t_i \leq t} \frac{d_i}{Y(t)^2} \]

직관 — H̃(t) - Θ(t) 의 의미
  • \(\widetilde{H}(t)\): 관측된 cumulative hazard.
  • \(\Theta(t)\): “표준 인구 가정 시 기대되는 cumulative hazard” — 시간별 위험에 든 환자의 표준 hazard 가중 평균.
  • 차이 \(\widehat{A}(t)\): “관측 - 기대” = excess (추가) cumulative hazard.

→ “\(t\) 시점까지 표준 인구 대비 추가로 발생한 사건 수의 cumulative”.

Corrected Survival Curve:

\[ S^C(t) = \widehat{S}(t) / S^*(t) \]

  • \(\widehat{S}\): 관측 KM.
  • \(S^*(t) = \exp(-\Theta(t))\): 표준 인구 기대 생존곡선.
  • \(S^C\): “환자 그룹의 표준 인구 보정된 survival” — 표준 사망률을 제외한 환자 고유 mortality.

→ Cancer survival 분석의 “relative survival” 표준 도구.

3.5 Klein Example 6.3 — Iowa Psychiatric

26 명 Iowa psychiatric inpatient (Klein § 1.15)

Woolson (1981) 26 명 정신질환자, 1959-1961 Iowa state mortality 와 비교.

\(Q(t)\) 계산 단계:

  • 각 환자 \(j\) 의 entry age \(a_j\) 와 sex 에서 \(\theta_j(t) = \lambda_S(a_j + t)\) (Klein Table 6.2 의 일반 인구 hazard).
  • \(Q(t) = \sum \theta_j(t) Y_j(t)\) — 모든 위험 환자 합.

B̂(t) 계산 (식 6.3.2): 매 사건 시점에서 \(d_i / Q(t_i)\) 누적.

관찰 (Klein Figure 6.8):

  • B̂(2) ≈ 25 → 첫 2 년에 정신질환자가 일반 인구보다 20-30 배 빠른 사망.
  • B̂(10) ≈ 50 → 10 년 시점 누적 ratio.
  • B̂(30) ≈ 250 → 30 년 누적.

Â(t) (Klein Table 6.4):

  • Â(30) ≈ 0.36 → “30 년 동안 100 명당 36 명 추가 사망 (표준 인구 대비)”.
  • 95% CI: \((0.04, 0.68)\).

임상 함의: 정신질환자의 mortality 는 일반 인구보다 매우 높음. 특히 첫 2 년이 위험. 사회적 지원 + 의료 모니터링 강화 근거.

4 § 6.4 — Bayesian Nonparametric Methods

4.1 Bayesian 접근의 동기

직관 — 왜 Bayesian 비모수가 필요한가

표준 KM (Ch.4) 의 한계:

  • Prior 정보 무시 — 이전 연구·전문가 의견·표준 인구 데이터 등 외부 지식 활용 못 함.
  • Finite sample 불안정 — 작은 표본에서 KM 이 불안정 (특히 tail).

Bayesian 접근:

  • Prior \(\pi(S)\): \(S(t)\) 에 대한 사전 분포 (이전 연구 기반).
  • Likelihood \(L(\text{data} \mid S)\): 표본 데이터의 가능도.
  • Posterior \(\pi(S \mid \text{data}) \propto L \cdot \pi\): 데이터 + prior 의 조합.

Squared-error loss 하의 Bayes estimator:

\[ \widehat{S} = E[S \mid \text{data}] = \text{posterior mean} \]

→ 큰 표본 (\(n \to \infty\)) 에서 prior 영향 0 → KM 으로 수렴. 작은 표본에서 prior 가 dominant.

4.2 Dirichlet Process Prior — Ferguson (1973)

정의: Dirichlet Process Prior on \(S(t)\)

\(S(t)\) 가 Dirichlet process 의 sample path:

\[ S(t) \sim DP(\alpha) \]

여기서 \(\alpha\) 는 measure on \([0, \infty)\). 표준 형태:

\[ \alpha([t, \infty)) = c \cdot S_0(t) \]

  • \(S_0(t)\): prior guess — investigator 의 best estimate before seeing data.
  • \(c\): prior strength — “\(c + 1\) 개 가짜 표본” 에 해당.

Prior 분포:

\[ E[S(t)] = S_0(t), \quad V[S(t)] = \frac{S_0(t)[1 - S_0(t)]}{c + 1} \]

\(c\) 가 클수록 prior 분산 작음 (강한 prior).

정의: Bayes Estimator under Dirichlet Prior (식 6.4.1)

right-censored 데이터 + Dirichlet prior 의 posterior mean:

\[ \widetilde{S}_D(t) = \frac{\alpha(t, \infty) + Y_{i+1}}{\alpha(0, \infty) + n} \prod_{k=1}^i \frac{\alpha(t_k, \infty) + Y_{k+1} + \lambda_k}{\alpha(t_k, \infty) + Y_{k+1}} \]

for \(t_i \leq t < t_{i+1}\).

→ Closed form! Gibbs sampler 등 Monte Carlo 불필요.

직관 — Dirichlet posterior 의 특성
  • \(n \to \infty\): prior 항 \(\alpha\) 가 표본 항에 비해 작아짐 → KM 으로 수렴.
  • \(c \to 0\): prior 가 매우 약함 → KM.
  • \(c \to \infty\): prior 가 매우 강함 → \(S_0\) 그대로.

Sample path 시뮬레이션 (Klein Figure 6.11): \(S_0(t) = e^{-0.1 t}\), \(c = 5\) 의 10 개 sample path. 각 path 가 nonincreasing + \(S(0) = 1\) + 연속이지만 약간 거침. \(c\) 증가 시 매끄러워짐.

4.3 Beta Process Prior — Hjort (1990)

정의: Beta Process Prior on \(H(t) = -\ln S(t)\)

대안: \(H(t)\) 에 prior 부여.

  • \(H_0(t)\): prior guess for cumulative hazard.
  • \(c(t)\): 시간별 prior weight.

각 작은 구간 \([a_{i-1}, a_i)\) 에서 \(W_i = H(a_i) - H(a_{i-1})\) 가 베타 분포:

\[ W_i \sim \text{Beta}(p_i, q_i) \]

with \(p_i = c \cdot [H_0(a_i) - H_0(a_{i-1})]\), \(q_i = c \cdot \{1 - [H_0(a_i) - H_0(a_{i-1})]\}\).

Limit 구간 length → 0 → beta process.

Bayes estimator (식 6.4.2): Closed form (긴 식).

직관 — Dirichlet vs Beta Process
측면 Dirichlet Beta Process
Prior on \(S(t)\) \(H(t)\)
도메인 \([0, 1]\) (확률) \([0, \infty)\) (cumulative hazard)
도입 Ferguson 1973 Hjort 1990
Sample path 의 매끄러움 거침 (특히 작은 \(c\)) 더 매끄러움
Closed form 식 6.4.1 식 6.4.2

왜 Beta Process 가 더 매끄러운가: \(H\) 의 sample path 는 cumulative function 이므로 자연히 monotone non-decreasing + 연속. \(S = e^{-H}\) 변환은 매끄러움 보존.

실무 권장:

  • Prior 가 직접적으로 survival (\(S_0(t)\)) 형태로 주어지면 Dirichlet.
  • Prior 가 hazard (\(h_0(t)\)) 형태로 주어지면 Beta process.

두 경우 모두 closed form Bayes estimator 활용 가능 (Gibbs sampler 등 Monte Carlo 불필요한 장점).

4.4 Klein Example 6.4 — 6-MP

6-MP 21 명 Bayesian 추정

Klein § 1.2 의 6-MP 군 21 명 (Freireich 1963).

Prior 설정:

  • \(S_0(t) = e^{-0.1 t}\) — prior guess (constant hazard 0.1 / week, 즉 control 군 mean rate 와 비슷).
  • \(c = 5\) — “5 + 1 = 6 개 가짜 표본” 가치 prior.

Bayes estimator (식 6.4.1) 계산:

\(\alpha(t, \infty) = 5 \cdot e^{-0.1t}\), 식 6.4.1 의 분자/분모에 대입.

결과: \(\widetilde{S}_D(t)\) 가 KM 과 prior 사이의 가중 평균. 작은 표본 (\(n = 21\)) 이라 prior 영향 명확 — KM 의 거친 step 이 매끄러워짐.

→ Bayesian 의 효용: finite sample 에서 prior 가 안정화. 큰 표본에서는 KM 으로 수렴.

5 § 6.5 — Exercises (10 문제, 다음 deep-dive 편)

Ch.6 의 10 exercises 미리보기:

Ex 주제 도구
6.1 BMT high risk hazard smoothing § 6.2 kernel
6.2 BMT 3 그룹 비교 § 6.2
6.3 Lung cancer hazard § 6.2
6.4 Marijuana hazard § 6.2 + § 5.2 결합
6.5 Psychiatric excess mortality (Klein § 1.15) § 6.3 multiplicative
6.6 Excess mortality 두 모형 비교 § 6.3
6.7 Bayesian Dirichlet prior § 6.4
6.8 Bayesian Beta process prior § 6.4
6.9 Gibbs sampler § 6.4 alternative
6.10 통합 분석 Ch.4·5·6 종합

→ 다음 deep-dive 편에서 풀이.

6 Ch.6 의 5 가지 교훈

Ch.6 핵심 교훈
  1. Hazard 의 평활 (§ 6.2) — NA 의 점프 \(\Delta\widetilde{H}(t_i)\) 가 hazard 의 거친 추정. Kernel smoothing 으로 매끄러운 \(\widehat{h}(t)\) 도출. Epanechnikov kernel + bandwidth bias-variance trade-off + Gasser-Müller boundary correction.

  2. Excess mortality 의 두 모형 (§ 6.3) — Multiplicative (\(\beta(t) = h_j/\theta_j\)) 는 “몇 배 빠른 사망”, additive (\(\alpha(t) = h_j - \theta_j\)) 는 “추가 사망률”. 같은 데이터에서 다른 질문에 답. SMR (Breslow 1975) 의 시간-변동 일반화.

  3. Corrected survival (§ 6.3)\(S^C(t) = \widehat{S}(t)/S^*(t)\) 는 “표준 인구 보정” 생존. Cancer 분야의 relative survival 표준 도구.

  4. Bayesian NPMLE (§ 6.4) — Prior 정보 + KM 데이터 결합. Dirichlet process (Ferguson 1973) for \(S\) + Beta process (Hjort 1990) for \(H\). 두 prior 모두 closed form Bayes estimator. \(c \to 0\) 또는 \(n \to \infty\) 에서 KM 으로 수렴 — Bayes 가 KM 의 일반화.

  5. Ch.4·5 의 정교화 layer — Ch.4·5 의 raw KM/NA 위에 (1) 평활, (2) reference 비교, (3) prior 결합 의 3 layer 추가. 비모수 추정의 정교화 toolkit.

7 응용 분야

분야 도구 구체적 예시
임상 시험 hazard 보고 § 6.2 kernel BMT post-transplant hazard plot
종양학 relative survival § 6.3 multiplicative Cancer 5 년 생존률 (일반 인구 보정)
정신건강 mortality § 6.3 multiplicative Iowa psychiatric SMR
직업 노출 hazard § 6.3 additive 화학 노출 → 추가 위험
작은 표본 임상시험 § 6.4 Bayesian n = 20 phase II trial
신약 개발 (전문가 prior) § 6.4 Bayesian 기존 약 effect 를 prior 로
인구통계 cohort analysis § 6.3 + § 6.4 표준 mortality + Bayesian 평활

8 코드 예시

8.1 Step 1 — Kernel Hazard Smoothing (R muhaz)

library(muhaz)
library(KMsurv)
data(bmt)

# Klein Example 6.1 — BMT ALL hazard estimate
all_data <- subset(bmt, group == 1)

# Epanechnikov kernel + bandwidth 100 days
fit <- muhaz(all_data$t1, all_data$d1,
             max.time = 730,  # 2 년
             bw.method = "global",
             bw.smooth = 100,
             kern = "epanechnikov")

plot(fit, xlab = "Days Post Transplant",
     ylab = "Estimated Hazard Rate",
     main = "Klein Example 6.1 — ALL Hazard")

# t = 150 days 의 hazard
h_150 <- approx(fit$est.grid, fit$haz.est, xout = 150)$y
print(paste("h(150) =", round(h_150, 5)))  # ≈ 0.00257

8.2 Step 2 — Excess Mortality (Multiplicative)

import numpy as np
import pandas as pd

def relative_mortality(data, ref_hazard_table):
    """식 6.3.2 — B̂(t) cumulative relative mortality"""
    # data: (entry_age, time, event, sex) 컬럼
    # ref_hazard_table: age × sex 의 표준 hazard

    n = len(data)
    event_times = np.sort(data.loc[data['event'] == 1, 'time'].unique())

    B = 0
    var_B = 0
    results = []

    for t in event_times:
        # Q(t) = ∑ θ_j(t) Y_j(t)
        at_risk = data[data['time'] >= t]
        Q_t = sum(ref_hazard_table.loc[
                  (row['entry_age'] + t, row['sex']), 'hazard']
                  for _, row in at_risk.iterrows())
        d_t = sum((data['time'] == t) & (data['event'] == 1))

        B += d_t / Q_t                 # 식 6.3.2
        var_B += d_t / Q_t ** 2         # 식 6.3.3
        results.append((t, B, np.sqrt(var_B)))

    return results

# Example 6.3 — Iowa psychiatric (26 명)
# (실제 데이터는 Klein Appendix D 또는 KMsurv::psych)

8.3 Step 3 — Bayesian Dirichlet Prior

import numpy as np

def bayes_dirichlet_km(times, events, S_0_func, c=5):
    """식 6.4.1 — Dirichlet process prior 기반 Bayes KM"""
    # S_0_func: prior guess function
    # c: prior strength
    n = len(times)
    sorted_idx = np.argsort(times)
    t_sorted = times[sorted_idx]
    e_sorted = events[sorted_idx]

    distinct_times = np.unique(t_sorted)
    Y = n  # 초기 위험집합

    S_D = []
    prod_term = 1.0

    for t in distinct_times:
        d = sum((t_sorted == t) & (e_sorted == 1))
        cens = sum((t_sorted == t) & (e_sorted == 0))
        Y_next = Y - d - cens

        # 식 6.4.1
        alpha_t = c * S_0_func(t)
        alpha_0 = c * S_0_func(0)

        first_term = (alpha_t + Y_next) / (alpha_0 + n)
        # ... (full implementation: 곱 항 계산)

        S_D.append((t, first_term * prod_term))
        Y = Y_next

    return S_D

# Klein Example 6.4 — 6-MP 21 명
import lifelines
from lifelines.datasets import load_kidney_transplant
# (실제 6-MP 데이터 로드)
S_0 = lambda t: np.exp(-0.1 * t)  # prior guess
result = bayes_dirichlet_km(times, events, S_0, c=5)

8.4 Step 4 — R bayesSurv (Bayesian)

library(bayesSurv)

# Bayesian survival analysis with Dirichlet process
fit <- bayesBisurvreg(
  Surv(time, event) ~ 1,
  data = data,
  prior = list(
    type = "dirichlet",
    S0 = function(t) exp(-0.1 * t),
    c = 5
  ),
  nsimul = list(niter = 10000, nthin = 5, nburn = 2000)
)

plot(fit)

9 관련 주제

선행 지식

후속 주제

  • Ch.6 § 6.5 deep-dive — 10 exercises 풀이
  • Ch.7 — Hypothesis Testing (log-rank · Wilcoxon · Tarone-Ware)
  • Ch.8 — Cox Proportional Hazards
  • Ch.9 — Cox Refinements (time-varying covariates · stratified)

관련 개념

  • Variance stabilizing 변환 (§ 4.3 의 arcsine, § 6.2 의 boundary kernel)
  • SMR (Standardized Mortality Ratio, Breslow 1975) — 인구 역학 표준
  • Relative survival (Cancer epidemiology) — § 6.3 의 multiplicative model
  • Dirichlet process (Ferguson 1973) — Bayesian 비모수의 표준
  • Beta process (Hjort 1990) — hazard 의 Bayesian 표준
  • Gibbs sampler (Geman-Geman 1984) — Bayesian 의 Monte Carlo 대안

Subscribe

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