Klein § 8.3~8.4 — Partial Likelihood + Ties

§ 8.3 Partial Likelihood 식 8.3.1 L(β) = ∏ exp(β’Z_(i)) / ∑{j∈R(t_i)} exp(β’Z_j) — distinct event 가정 / 도출 두 갈래 — Theoretical Note 1 conditional probability (사건 시점 risk set 안에서 누가 죽었느냐) + Theoretical Note 2 profile likelihood (Johansen 1983, baseline h_0 을 step function 으로 profile out) / Score 식 8.3.3 + Information 식 8.3.4 / 세 검정 — Wald 식 8.3.5 (b - β_0)’I(b)(b - β_0), LR 식 8.3.6 2[LL(b) - LL(β_0)], Score 식 8.3.7 U(β_0)’I^{-1}(β_0)U(β_0) / Score test at β=0 = log-rank test (Ch.7-Ch.8 자연 연결) / Newton-Raphson b_m = b{m-1} + U/I / Klein Example 8.1 immunoperoxidase 3 iterations 수렴 b=0.9802, RR=2.67, 95% CI (1.14, 6.25) / § 8.4 ties 세 likelihood — Breslow 식 8.4.1 [∑exp(β’Z)]^{d_i} (SAS 기본, ties 적을 때 OK), Efron 식 8.4.2 가중 분모 ∏[∑exp - (j-1)/d ∑_D exp] (R 기본, 이산 모형에 가까움), Discrete 식 8.4.3 ∑_q exp(β’s_q*) Q_i 모든 d_i-부분집합 합 (정확 logistic, 계산 비쌈) / Klein Example 8.4 dialysis 6 ties at t=0.5 세 likelihood 비교 b ≈ -0.62, RR ≈ 0.54, p ≈ 0.115 — 그러나 Figure 8.1 ln H̃ 차이 발산 → PH 위반, 결과 신뢰 불가 / Klein Example 8.2 larynx Breslow b=(0.066, 0.612, 1.723) LR=16.26 Wald=18.95 Score=22.46 / Klein Example 8.3 kidney 4-group b=(0.16, 0.25, 0.65) RR=(1.17, 1.28, 1.93) LR=4.37 (p=0.22) 비유의

Klein & Moeschberger Ch.8 의 § 8.3 (Partial Likelihoods for Distinct-Event Time Data) + § 8.4 (Partial Likelihoods When Ties Are Present) 를 deep-dive. Ch.8 두 번째 deep-dive — Cox 모형의 추정 엔진. § 8.3 — Partial Likelihood: 식 8.3.1 L(β) = ∏{i=1}^D exp(β’Z(i)) / ∑{j∈R(t_i)} exp(β’Z_j). 분자는 사건자의 covariate, 분모는 risk set 의 모든 covariate. h_0(t) 가 cancel → semiparametric inference 가능. 도출 두 갈래: (1) Theoretical Note 1 — conditional probability “risk set 안에서 누가 죽었느냐” 의 multiplication. (2) Theoretical Note 2 — Johansen (1983) profile likelihood: h_0(t) 를 step function 으로 profile out 하면 식 8.3.1 의 partial likelihood 가 도출. Score 식 8.3.3 U_b(β) = ∑Z(i)b - ∑[∑Z_jb exp(β’Z) / ∑exp(β’Z)] (사건자 covariate 합 - 위험가중 평균). Information 식 8.3.4 위험가중 분산. 세 검정 (식 8.3.5·6·7): Wald (b 의 정규성), LR (likelihood 차이의 2 배), Score (β_0 점에서 평가). 세 검정 점근적 동치 — H_0 근처에서 같은 χ² 분포. 그러나 유한 표본에서는 LR ≈ Wald > Score (Score 수렴 느림). 중요 결과: Score test at β = 0 = log-rank test (Ch.7 § 7.3 의 그 검정). Cox PH 가 log-rank 의 모형 기반 일반화임을 증명. Newton-Raphson 식: b_m = b_{m-1} + U(b_{m-1})/I(b_{m-1}). Klein Example 8.1 immunoperoxidase 3 iterations 수렴: b_0=0 → b_1=1.3121 → b_2=0.9924 → b_3=0.9802. RR = e^0.9802 = 2.67. SE = 1/√I = 0.4349. Wald = 5.08 (p=0.024), LR = 4.44 (p=0.035). 95% CI for RR: (1.14, 6.25). § 8.4 — Ties: 동일 사건 시점에 d_i ≥ 2 명 사망 → 누가 먼저 죽었는지 모름. 세 partial likelihood: Breslow 식 8.4.1 — L_1(β) = ∏ exp(β’s_i) / [∑_{R_i} exp(β’Z)]^{d_i}. 분모는 risk set sum 을 d_i 거듭제곱 — 동시 사망을 “독립” 처리. Ties 적을 때 OK, SAS PHREG 기본. Efron 식 8.4.2 — L_2(β) = ∏ exp(β’s_i) / ∏{j=1}^{d_i} [∑{R_i} exp(β’Z) - ((j-1)/d_i) ∑{D_i} exp(β’Z)]. j 번째 사망 시 동시 사망자의 일부 비례 차감 — 이산 모형에 더 가까움. R coxph 기본. Discrete 식 8.4.3 — L_3(β) = ∏ exp(β’s_i) / ∑{q ∈ Q_i} exp(β’s_q*). Q_i 는 risk set 에서 d_i 명을 뽑는 모든 부분집합. 정확한 logistic 모형 likelihood — 계산 비쌈. Klein Example 8.4 — dialysis 119 patients (43 surgical Z=0, 76 percutaneous Z=1), 6 deaths tied at t=0.5 (모두 Z=1). 세 likelihood 결과: Breslow b=-0.618, Efron b=-0.6126, Discrete b=-0.6204. RR ≈ 0.54 (percutaneous 가 surgical 의 절반 위험). Score χ² ≈ 2.5 (p ≈ 0.115) — 비유의. 그러나 PH 가정 graphical check (Figure 8.1, ln H̃(t|Z=1) - ln H̃(t|Z=0) vs t) 가 시간에 따라 발산 → PH 위반. RR=0.54 결론 신뢰 불가. Klein Example 8.2 (continued) — larynx 4 stage Breslow ties: b=(0.0658, 0.612, 1.723), SE=(0.4584, 0.3552, 0.4197). RR(II/I)=1.07, RR(III/I)=1.84, RR(IV/I)=5.60. LR=16.26 (p=0.001), Wald=18.95, Score=22.46 (df=3). 적어도 한 stage 효과 유의. Klein Example 8.3 (continued) — kidney transplant 4-group Breslow: b=(0.16, 0.248, 0.65). RR=(1.17, 1.28, 1.93). LR=4.37 (p=0.22), Wald=4.64, Score=4.74 — 4 그룹 간 생존율 차이 비유의. Practical Notes — SAS PHREG 기본 Breslow (DISCRETE/EFRON/EXACT 옵션), R coxph 기본 Efron (method = “breslow” / “efron” / “exact”). Ties 가 많을 때 Breslow 와 Efron 차이 커짐 — 보고 시 사용 method 명시 필수.

Statistics
Survival Analysis
Klein-Moeschberger
Cox-Proportional-Hazards
Partial-Likelihood
Newton-Raphson
Tied-Events
Breslow-Efron
저자

Kwangmin Kim

공개

2026년 04월 28일

1 들어가며 — Ch.8 두 번째 deep-dive

주제
Ch.8 Overview 9 절 조망
§ 8.1~8.2 Cox 모형 + Coding
§ 8.3~8.4 (본 편) Partial Likelihood + Ties
§ 8.5 (예정) Local Tests
§ 8.6~8.8 (예정) Discretizing + Model Building + Survival Estimation
§ 8.9 (예정) Exercises
§ 8.3~8.4 의 한 줄 요약

“§ 8.3 의 partial likelihood 식 8.3.1 — 분자 사건자 \(\exp(\beta'Z_{(i)})\), 분모 risk set 합 \(\sum_{j \in R(t_i)} \exp(\beta'Z_j)\). \(h_0(t)\) cancel 로 semiparametric. 도출 두 갈래 — conditional probability + profile likelihood. Score 식 8.3.3 + Information 식 8.3.4 + 세 검정 (Wald 식 8.3.5, LR 식 8.3.6, Score 식 8.3.7). Score test at \(\beta=0\) = log-rank test (Ch.7-Ch.8 자연 연결). Klein Example 8.1 Newton-Raphson 3 iterations 수렴 \(b=0.9802\), RR=2.67, 95% CI (1.14, 6.25). § 8.4 ties — Breslow 식 8.4.1 (SAS 기본), Efron 식 8.4.2 (R 기본, 더 정확), Discrete 식 8.4.3 (정확 logistic). Klein Example 8.4 dialysis 6 ties: 세 method 모두 \(b \approx -0.62\), RR \(\approx 0.54\) — 그러나 PH 위반 진단 시 결론 신뢰 불가. Klein Example 8.2 larynx LR=16.26 (p=0.001), Klein Example 8.3 kidney 4-group LR=4.37 (p=0.22, 비유의).”

2 § 8.3 — Partial Likelihood for Distinct Events

2.1 문제 설정

정의: Partial Likelihood 의 데이터 구조

표본 \(n\), 데이터 \((T_j, \delta_j, Z_j)\), \(j = 1, \ldots, n\).

가정:

  • Censoring 비정보적 (noninformative) — \(Z_j\) 주어진 하 사건 시간과 검열 시간 독립.
  • Distinct event times (§ 8.3) — 사건 시점 동률 없음 (ties 는 § 8.4).

기호:

  • \(t_1 < t_2 < \cdots < t_D\): 정렬된 사건 시점 (\(D\) 개).
  • \(Z_{(i)k}\): \(i\) 번째 사건 발생자의 \(k\) 번째 covariate.
  • \(R(t_i)\): \(t_i\) 직전까지 study 에 남아 있는 모든 개체의 집합 — risk set.

2.2 Partial Likelihood — 식 8.3.1

정의: Cox Partial Likelihood (식 8.3.1)

\[ L(\beta) = \prod_{i=1}^D \frac{\exp\left[\sum_{k=1}^p \beta_k Z_{(i)k}\right]}{\sum_{j \in R(t_i)} \exp\left[\sum_{k=1}^p \beta_k Z_{jk}\right]} = \prod_{i=1}^D \frac{\exp(\beta' Z_{(i)})}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} \]

해석:

  • 분자: \(i\) 번째 사건 발생자의 covariate effect \(\exp(\beta' Z_{(i)})\).
  • 분모: 사건 시점에 살아 있던 모든 개체의 effect 합.

특징:

  • \(h_0(t)\) 가 분자·분모에서 cancel → baseline 형태에 무관한 추정.
  • “Partial” — 전체 likelihood (사건 시점 + 정확한 사망자) 의 일부분만 사용.

Log-likelihood (식 8.3.2):

\[ \ell(\beta) = \sum_{i=1}^D \beta' Z_{(i)} - \sum_{i=1}^D \ln\left[\sum_{j \in R(t_i)} \exp(\beta' Z_j)\right] \]

직관 — Partial Likelihood 의 의미

핵심 질문: “각 사건 시점에서 risk set 안의 개체들 중에서 왜 하필 그 사람이 죽었는가?”

  • 사건 시점 \(t_i\) 에서 누군가 죽음 (1 명, distinct events 가정).
  • Risk set \(R(t_i)\) 안의 누구든 죽을 수 있었다.
  • 각 개체 \(j\) 의 사망 확률은 hazard \(h(t_i | Z_j) = h_0(t_i) \exp(\beta' Z_j)\) 에 비례.
  • \(Z_{(i)}\) 가 죽었을 확률” / “누군가 죽었을 확률” = \(\exp(\beta' Z_{(i)}) / \sum_R \exp(\beta' Z_j)\).

baseline cancel:

\[ \frac{h_0(t_i) \exp(\beta' Z_{(i)})}{\sum_{j \in R(t_i)} h_0(t_i) \exp(\beta' Z_j)} = \frac{\exp(\beta' Z_{(i)})}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} \]

\(h_0(t)\) 가 무엇이든 likelihood 에 영향 없음. Cox 의 천재성.

왜 “partial” 이라 불리는가:

  • 전체 likelihood = 사건 발생 시점의 분포 × 사건 발생자의 conditional 분포.
  • 시점 분포는 \(h_0(t)\) 에 의존 — 버림.
  • Conditional 분포만 사용 → “partial”.
  • 그럼에도 \(\beta\) 추정에는 충분한 정보 (Cox 1972·1975).

2.3 도출 1 — Conditional Probability (Theoretical Note 1)

정의: Conditional Probability 도출

사건 시점 \(t_i\) 에서 1 명 사망 (\(d_i = 1\), distinct event) 라고 했을 때, 그 사람이 covariate \(Z_{(i)}\) 인 개체일 조건부 확률:

\[ \begin{aligned} P\left[\text{개체 } i \text{ 가 } t_i \text{ 에 사망} \mid t_i \text{ 에 1 명 사망}\right] &= \frac{P\left[\text{개체 } i \text{ 가 } t_i \text{ 에 사망} \mid t_i \text{ 까지 생존}\right]}{P\left[t_i \text{ 에 1 명 사망} \mid t_i \text{ 까지 생존}\right]} \\ &= \frac{h(t_i \mid Z_{(i)})}{\sum_{j \in R(t_i)} h(t_i \mid Z_j)} \\ &= \frac{h_0(t_i) \exp(\beta' Z_{(i)})}{\sum_{j \in R(t_i)} h_0(t_i) \exp(\beta' Z_j)} \\ &= \frac{\exp(\beta' Z_{(i)})}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} \end{aligned} \]

Partial likelihood = 모든 사건 시점의 conditional 확률을 곱:

\[ L(\beta) = \prod_{i=1}^D \frac{\exp(\beta' Z_{(i)})}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} \quad (\text{식 8.3.1}) \]

직관 — 조건부 확률의 사고 흐름

비유: 100 명의 학생이 시험을 보는데, 1 명만 100 점.

  • 누가 100 점을 맞을지는 학생들의 “능력”에 비례.
  • “철수가 100 점일 확률” = “철수의 능력” / “100 명 능력의 합”.
  • 이 ratio 가 conditional probability.

Cox 의 통찰:

  • 시점 \(t_i\) 의 risk set 이 시험 보는 100 명.
  • 사망자 \(Z_{(i)}\) 의 hazard \(h_0(t_i) \exp(\beta' Z_{(i)})\) 가 “능력”.
  • “그 사람이 죽었을 확률” = ratio.
  • \(h_0\) 가 분자·분모 동시 cancel — baseline 무관.

의미:

  • Partial likelihood 는 “누가 죽었느냐” 의 정보만 사용.
  • 언제 죽었느냐” (시점 분포) 는 baseline 추정에 사용 — § 8.8 의 Breslow estimator.
  • 두 정보를 분리해서 \(\beta\)\(h_0\) 를 따로 추정하는 것이 semiparametric 의 본질.

2.4 도출 2 — Profile Likelihood (Theoretical Note 2)

정의: Profile Likelihood 도출 (Johansen 1983)

전체 censored-data likelihood (식 8.3.8):

\[ L[\beta, h_0(t)] = \prod_{j=1}^n h_0(T_j)^{\delta_j} [\exp(\beta' Z_j)]^{\delta_j} \exp\left[-H_0(T_j) \exp(\beta' Z_j)\right] \]

Profile 절차: \(\beta\) 고정 → \(h_0(t)\) 에 대해 maximize → 그 결과를 다시 \(\beta\) 에 대해 maximize.

Step 1\(h_0(t) = 0\) except at event times. Let \(h_{0i} = h_0(t_i)\), \(i = 1, \ldots, D\). 그러면 \(H_0(T_j) = \sum_{t_i \leq T_j} h_{0i}\).

Step 2\(h_{0i}\) 에 대해 최대화 (식 8.3.9 의 단순화):

\[ \widehat{h}_{0i} = \frac{1}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} \]

Step 3 — 누적 hazard 의 profile 추정 (Breslow estimator, § 8.8):

\[ \widehat{H}_0(t) = \sum_{t_i \leq t} \frac{1}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} \]

Step 4 — 이를 식 8.3.8 에 대입하면 partial likelihood 식 8.3.1 도출.

직관 — Profile Likelihood 의 의미

Profile likelihood 의 일반 원리:

  • Likelihood \(L(\theta_1, \theta_2)\) 가 nuisance parameter \(\theta_2\) 를 포함.
  • \(\theta_1\) 고정 → \(\theta_2\) 에 대해 maximize → \(\widehat{\theta}_2(\theta_1)\) 얻음.
  • \(L_{\text{profile}}(\theta_1) = L(\theta_1, \widehat{\theta}_2(\theta_1))\)\(\theta_1\) 추정.

Cox 모형에서:

  • \(\theta_1 = \beta\) (관심 parameter).
  • \(\theta_2 = h_0(t)\) (nuisance, 무한 차원).
  • \(h_0\) 를 step function 으로 제한 → 유한 차원 (\(h_{01}, \ldots, h_{0D}\)).
  • \(h_{0i}\) 에 대해 maximize 하면 \(\widehat{h}_{0i} = 1 / \sum_R \exp(\beta' Z)\) — Breslow 형태.

두 도출의 동치성:

  • Conditional probability 도출 — 직관적, 확률 해석 명료.
  • Profile likelihood 도출 — 수학적으로 엄밀, \(h_0\) 추정도 동시에 제공.
  • 두 도출 모두 같은 식 8.3.1 에 도달 → 이중 정당화.

Andersen-Gill (1982):

  • Counting process martingale theory 로 또 한 번 도출.
  • Partial likelihood 의 점근적 정규성·일치성 엄밀 증명.

2.5 Score 와 Information — 식 8.3.3·8.3.4

정의: Score Function (식 8.3.3)

\(U_b(\beta) = \partial \ell(\beta) / \partial \beta_b\), \(b = 1, \ldots, p\):

\[ U_b(\beta) = \sum_{i=1}^D Z_{(i)b} - \sum_{i=1}^D \frac{\sum_{j \in R(t_i)} Z_{jb} \exp(\beta' Z_j)}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} \]

해석:

  • 첫 항: 사건 발생자의 \(Z_b\) 합 (관측).
  • 둘째 항: 각 사건 시점에서의 위험가중 평균 (기대).

Score = 관측 - 기대 가중합.

정의: Information Matrix (식 8.3.4)

\(I(\beta) = [I_{gh}(\beta)]_{p \times p}\), where

\[ I_{gh}(\beta) = \sum_{i=1}^D \frac{\sum_{j \in R(t_i)} Z_{jg} Z_{jh} \exp(\beta' Z_j)}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)} - \sum_{i=1}^D \left[\frac{\sum_{j \in R(t_i)} Z_{jg} \exp(\beta' Z_j)}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)}\right]\left[\frac{\sum_{j \in R(t_i)} Z_{jh} \exp(\beta' Z_j)}{\sum_{j \in R(t_i)} \exp(\beta' Z_j)}\right] \]

구조: 위험가중 \(Z\) 의 분산·공분산 (각 사건 시점에서) 의 합.

Newton-Raphson 식:

\[ b_m = b_{m-1} + I^{-1}(b_{m-1}) U(b_{m-1}) \]

수렴 판정: \(|\ell(b_m) - \ell(b_{m-1})| / |\ell(b_{m-1})| < 0.0001\).

직관 — Score 의 의미

Score = “데이터가 \(\beta\) 를 어느 방향으로 미는가”.

  • \(U(\beta) > 0\): 관측 covariate 가 기대보다 큼 → \(\beta\) 증가 방향.
  • \(U(\beta) < 0\): 관측 covariate 가 기대보다 작음 → \(\beta\) 감소 방향.
  • \(U(\hat{\beta}) = 0\): 관측 = 기대 → MLE.

Information = “데이터가 얼마나 강하게 \(\beta\) 를 식별하는가”.

  • \(I(\beta)\) 클수록 likelihood 곡률 커짐 → 좁은 SE.
  • \(I(\beta) = 0\) 이면 \(\beta\) 식별 불가능 (예: covariate 에 변동 없음).

Newton-Raphson 의 이해:

  • \(U(\beta)\) 의 1차 Taylor 전개: \(0 \approx U(b_{m-1}) + U'(b_{m-1})(b_m - b_{m-1})\).
  • \(U'(\beta) = -I(\beta)\) (information 의 정의).
  • \(\therefore b_m = b_{m-1} + I^{-1}(b_{m-1}) U(b_{m-1})\).

→ Score 가 0 인 점을 찾는 반복 알고리즘.

2.6 세 검정 — 식 8.3.5·8.3.6·8.3.7

정의: Three Tests for \(H_0: \beta = \beta_0\)

Wald test (식 8.3.5):

\[ X_W^2 = (b - \beta_0)' I(b) (b - \beta_0) \sim \chi^2_p \]

Likelihood Ratio test (식 8.3.6):

\[ X_{LR}^2 = 2[\ell(b) - \ell(\beta_0)] \sim \chi^2_p \]

Score test (식 8.3.7):

\[ X_{SC}^2 = U(\beta_0)' I^{-1}(\beta_0) U(\beta_0) \sim \chi^2_p \]

점근적 동치: \(H_0\) 하 큰 표본에서 셋 모두 동일한 \(\chi^2_p\) 분포.

직관 — 세 검정의 시각적 해석

Likelihood 곡선 \(\ell(\beta)\) 위에서 (가로 \(\beta\), 세로 \(\ell\)):

검정 측정 시각적
Wald \(b\)\(\beta_0\) 의 거리 곡선의 정점 위치 비교
LR \(\ell(b) - \ell(\beta_0)\) 곡선의 높이 차이
Score \(U(\beta_0)\) 의 크기 \(\beta_0\) 점에서의 곡선 기울기

유한 표본에서의 차이:

  • Wald — \(b\) 의 정규성 가정 (가장 많이 보고).
  • LR — 두 likelihood 평가 필요 (계산 약간 더 비쌈).
  • Score — \(\beta_0\) 만 평가 (가장 효율적, 그러나 수렴 느림).

일반적 권장:

  • LR ≈ Wald 가 일치할 때: 결론 안정.
  • Score 만 다를 때: 표본 작거나 \(H_0\) 멀리 — Score 결과 신중.
  • 실무에서는 세 검정 모두 보고 (SAS, R 기본 출력).

2.7 Score Test at β=0 = Log-Rank Test

핵심 결과 — Cox-LogRank 연결

이항 covariate \(Z_j = 0\) or \(1\) (예: 처치 vs 대조).

\(Y_{0i}, Y_{1i}\) = 시점 \(t_i\) 의 risk set 에서 \(Z = 0, 1\) 의 수. \(d_i\) = 시점 \(t_i\) 의 사건 수. \(d_{1i}\) = 사건자 중 \(Z = 1\) 의 수.

Score at \(\beta = 0\):

\[ U(0) = \sum_i d_{1i} - \sum_i \frac{Y_{1i} d_i}{Y_{0i} + Y_{1i}} \]

Information at \(\beta = 0\) (no ties, \(d_i = 1\)):

\[ I(0) = \sum_i \frac{Y_{0i} Y_{1i}}{(Y_{0i} + Y_{1i})^2} \]

Score statistic \(X_{SC}^2 = U(0)^2 / I(0)\) — Klein § 7.3 의 2-sample log-rank test 와 동일.

Cox PH 모형의 Score test (at \(\beta = 0\)) = Log-rank test.

직관 — 왜 두 검정이 같은가

Log-rank test (Ch.7 § 7.3):

  • \(Z = 0\) 군과 \(Z = 1\) 군의 hazard 가 같다” 검정.
  • 비모수 — 분포 가정 없음.

Score test at \(\beta = 0\):

  • \(\beta = 0\) vs \(\beta \neq 0\)” 검정.
  • \(\beta = 0\) 이면 두 군의 hazard 가 같음 (Cox 모형).
  • 모수 (Cox PH) — PH 가정 하.

왜 같은 통계량:

  • PH 가정 하 → Cox 모형이 진짜 모형.
  • Score test 가 \(\beta = 0\) 에서 가장 효율적 (locally most powerful).
  • 그 점근 분포가 log-rank 과 일치.

Cox-LogRank 의 자연 연결:

  • Ch.7 의 log-rank → Ch.8 의 Cox 의 특수 경우 (Score at \(\beta=0\)).
  • Cox 가 일반화 — 여러 covariate, continuous covariate, interaction 처리.
  • 그러나 PH 위반 시 두 검정 모두 유효성 잃음 — Renyi (Ch.7 § 7.6) 또는 stratified Cox (Ch.9) 필요.

3 § 8.3 — Klein Example 8.1 손풀이

3.1 데이터 설정

Klein Example 8.1 — Breast Cancer Immunoperoxidase

데이터 (Klein § 1.5):

  • 45 명 림프절 음성 유방암 환자.
  • SLM (standard light microscopy) 음성, IH (immunohistochemical) 검사 추가.
  • \(Z = 1\) if IH+ (immunoperoxidase positive), \(0\) otherwise.
  • 사건: 사망. 시점 \(t_j\), 검열 \(\delta_j\).

모형:

\[ h(t \mid Z) = h_0(t) \exp(\beta Z) \]

식 단순화:

\[ \ell(\beta) = \beta d_1 - \sum_{i=1}^D \ln[Y_{0i} + Y_{1i} e^{\beta}] \]

\[ U(\beta) = d_1 - \sum_{i=1}^D \frac{Y_{1i} e^{\beta}}{Y_{0i} + Y_{1i} e^{\beta}} \]

\[ I(\beta) = \sum_{i=1}^D \frac{Y_{0i} Y_{1i} e^{\beta}}{(Y_{0i} + Y_{1i} e^{\beta})^2} \]

관측값: $d_1 = $ IH+ 사망자 수, \(Y_{0i}, Y_{1i}\) = 시점 \(t_i\) 의 IH-/IH+ risk set 크기.

3.2 Score Test at β=0 = Log-Rank Test

Klein Example 8.1 의 Score Test

\(\beta = 0\) 에서:

\[ U(0) = d_1 - \sum_i \frac{Y_{1i}}{Y_{0i} + Y_{1i}}, \quad I(0) = \sum_i \frac{Y_{0i} Y_{1i}}{(Y_{0i} + Y_{1i})^2} \]

계산값: \(U(0) = 4.19\), \(I(0) = 3.19\).

Score statistic:

\[ X_{SC}^2 = \frac{U(0)^2}{I(0)} = \frac{4.19^2}{3.19} = 5.49 \quad (p = 0.019) \]

이는 Klein § 7.3 의 log-rank test 와 정확히 일치 (Theoretical Note 3).

→ Score test 가 \(\beta = 0\) 에서 log-rank 의 모형 기반 등가.

3.3 Newton-Raphson — 3 Iterations

Klein Example 8.1 — Newton-Raphson 수렴

초기값: \(b_0 = 0\), \(\ell(0) = -83.7438\).

\(m\) \(b_{m-1}\) \(\ell(b_{m-1})\) \(U(b_{m-1})\) \(I(b_{m-1})\) \(b_m = b_{m-1} + U/I\) \(\ell(b_m)\) 상대변화
1 0 -83.7438 4.1873 3.1912 1.3121 -81.8205 0.0230
2 1.3121 -81.8205 -1.8382 5.7494 0.9924 -81.5210 0.0037
3 0.9924 -81.5210 -0.0646 5.3084 0.9802 -81.5206 < 0.0001

수렴: 3 iteration 만에 수렴 (\(\ell\) 변화 < 0.0001).

MLE: \(b = 0.9802\).

직관 — Newton-Raphson 의 흐름

Iteration 1 (\(b_0 = 0 \to b_1 = 1.3121\)):

  • \(U(0) = 4.19 > 0\)\(\beta\) 증가 방향.
  • 한 번에 1.31 증가 (overshoot 가능).

Iteration 2 (\(b_1 = 1.3121 \to b_2 = 0.9924\)):

  • \(U(1.3121) = -1.84 < 0\) → 증가 방향 너무 갔음, 감소 방향.
  • \(b\) 0.32 감소 (correction).

Iteration 3 (\(b_2 = 0.9924 \to b_3 = 0.9802\)):

  • \(U(0.9924) = -0.06\) (거의 0) → 거의 수렴.
  • \(b\) 0.012 미세 조정.

수렴 판정: 두 가지 지표.

  1. Likelihood 변화: \(|\ell(b_m) - \ell(b_{m-1})| / |\ell(b_{m-1})| < 10^{-4}\).
  2. 모수 변화: \(|b_m - b_{m-1}| < 10^{-4}\) — Practical Note 2 의 권장.

→ Iteration 3 에서 두 지표 모두 만족.

완전 분리 (perfect separation) 함정:

  • Covariate 가 사건 시점과 완벽히 정렬되면 \(\beta \to \pm \infty\).
  • Likelihood 가 수렴해도 \(b\) 가 발산 — 모수 변화 점검 필수.

3.4 검정 결과

Klein Example 8.1 — 세 검정 비교

MLE: \(b = 0.9802\).

SE: \(\text{SE}(b) = 1 / \sqrt{I(b)} = 1 / \sqrt{5.2871} = 0.4349\).

Wald test:

\[ X_W^2 = (0.9802)^2 / (0.4349)^2 = 5.08 \quad (p = 0.024) \]

LR test:

\[ X_{LR}^2 = 2[\ell(0.9802) - \ell(0)] = 2[-81.52 - (-83.74)] = 4.44 \quad (p = 0.035) \]

Score test (위 계산):

\[ X_{SC}^2 = 5.49 \quad (p = 0.019) \]

세 검정 모두 \(H_0: \beta = 0\) 기각 (p < 0.05).

→ 결론: IH 검사 결과가 사망 위험과 유의한 연관.

3.5 Hazard Ratio 와 95% CI

Klein Example 8.1 — RR 와 임상 해석

Relative Risk:

\[ \text{RR} = e^b = e^{0.9802} = 2.67 \]

→ IH+ 환자가 IH- 환자보다 2.67 배 빠른 사망.

95% CI for \(\beta\):

\[ 0.9802 \pm 1.96 \times 0.4349 = (0.128, 1.833) \]

95% CI for RR (transform):

\[ \exp(0.128, 1.833) = (1.14, 6.25) \]

임상 해석: IH+ 환자의 사망 위험은 IH- 보다 1.14 배에서 6.25 배 사이 (95% 신뢰).

임상 의미:

  • SLM 음성 환자 중에서도 IH 검사로 더 위험한 환자 식별 가능.
  • IH 검사 양성 환자에게 추가적인 보조 치료 고려.
  • 그러나 CI 가 넓음 (n = 45 표본 작음) — 더 큰 연구 필요.

4 § 8.4 — Partial Likelihoods When Ties Are Present

4.1 문제 — 동시 사망의 처리

정의: Tied Event Times

관측 데이터: \(t_1 < t_2 < \cdots < t_D\) 의 distinct 사건 시점, 그러나 각 시점에 \(d_i \geq 1\) 명 사망.

  • \(D_i\) = 시점 \(t_i\) 에 사망하는 모든 개체 집합, \(|D_i| = d_i\).
  • \(s_i = \sum_{j \in D_i} Z_j\) = 사건자들의 \(Z\) 합 (vector).
  • \(R_i = R(t_i)\) = 시점 \(t_i\) 직전의 risk set.

문제: \(d_i \geq 2\) 일 때, “누가 먼저 죽었는지” 모름.

  • 진짜 연속 시간 모형 → 동시 사망 확률 0.
  • 그러나 데이터는 이산화 (월, 일 단위).
  • 동시 사망을 어떻게 처리할 것인가?
직관 — 왜 ties 가 문제인가

Distinct events 가정 (§ 8.3) 위반:

  • 식 8.3.1 의 likelihood 는 한 사건자 \(Z_{(i)}\) 가정.
  • \(d_i \geq 2\) 명 사망 시 한 명만 분자로 못 씀.

가능한 처리:

  1. 모든 \(d_i!\) 개의 가능한 순서 평균 — 정확하지만 계산 비쌈.
  2. 동시 사망을 “독립” 처리 — Breslow 의 단순 근사.
  3. 이산 시간 logistic 모형 — Cox (1972) 의 정확 처리.
  4. Breslow 와 Discrete 의 중간 — Efron 의 가중 평균.

→ Klein § 8.4 에서 세 가지 (Breslow, Efron, Discrete) 제시.

4.2 Breslow Likelihood — 식 8.4.1

정의: Breslow Likelihood (Breslow 1974, 식 8.4.1)

\[ L_1(\beta) = \prod_{i=1}^D \frac{\exp(\beta' s_i)}{\left[\sum_{j \in R_i} \exp(\beta' Z_j)\right]^{d_i}} \]

  • 분자: 사건자 \(Z\) 합의 effect.
  • 분모: risk set sum 을 \(d_i\) 거듭제곱.

SAS PHREG 기본 method.

직관 — Breslow 의 단순 근사

해석: 동시 사망 \(d_i\) 명을 “동일 risk set 에서 독립적으로 추출”로 처리.

  • 분모는 그대로 \(\sum_{R_i} \exp(\beta' Z)\).
  • 첫 번째 사망자 추출 → risk set 변화 없음.
  • 두 번째 사망자도 같은 risk set 에서 추출 → 독립.
  • \(d_i\) 번 반복 → 분모 \(d_i\) 거듭제곱.

문제: 첫 사망 후 risk set 이 줄어들어야 함 (사망자 1 명 빠짐).

  • Breslow 는 이를 무시 → 분모 과대.
  • \(\beta\) 추정값 0 방향 편향 (0 으로 끌림).

Ties 적을 때 OK:

  • \(d_i \ll |R_i|\) 면 risk set 1 명 줄어도 분모 거의 그대로.
  • 편향 작음.

Ties 많을 때 위험:

  • \(d_i / |R_i|\) 클수록 편향 커짐.
  • Efron 또는 Discrete 권장.

유래: Theoretical Note 2 의 profile likelihood 에서 자연 도출 — Breslow 의 baseline estimator 의 동시 사망 처리.

4.3 Efron Likelihood — 식 8.4.2

정의: Efron Likelihood (Efron 1977, 식 8.4.2)

\[ L_2(\beta) = \prod_{i=1}^D \frac{\exp(\beta' s_i)}{\prod_{j=1}^{d_i} \left[\sum_{k \in R_i} \exp(\beta' Z_k) - \frac{j-1}{d_i} \sum_{k \in D_i} \exp(\beta' Z_k)\right]} \]

  • 분모는 \(d_i\) 개 항의 곱.
  • \(j\) 번째 항: risk set sum 에서 동시 사망자 effect 의 \((j-1)/d_i\) 비례 차감.

R coxph 기본 method.

직관 — Efron 의 가중 차감

아이디어: 동시 사망을 순차적으로 처리하되, 정확한 순서를 모르므로 평균.

  • \(d_i\) 명이 동시에 사망 → 누가 먼저 죽는지는 무작위.
  • \(j\) 번째 사망 시점에서는 \(d_i\) 명 중 평균 \((j-1)\) 명이 이미 죽었음.
  • 이미 죽은 비율 = \((j-1)/d_i\).
  • 분모에서 그 비율만큼 동시 사망자 effect 차감.

(\(d_i = 3\), 3 명 동시 사망):

  • \(j = 1\): 분모 = \(\sum_{R_i} \exp - 0 = \sum_{R_i} \exp\) (모두 살아 있음).
  • \(j = 2\): 분모 = \(\sum_{R_i} \exp - (1/3) \sum_{D_i} \exp\) (평균 1 명 죽음).
  • \(j = 3\): 분모 = \(\sum_{R_i} \exp - (2/3) \sum_{D_i} \exp\) (평균 2 명 죽음).
  • 곱셈으로 결합.

Breslow vs Efron:

  • Breslow 분모 = \([\sum_{R_i} \exp]^3\) (모든 항 동일).
  • Efron 분모 = 위의 가중 곱.
  • Efron 이 분모 작음 → \(\beta\) 추정값 더 정확 (덜 편향).

계산: Breslow 와 비슷한 비용, Discrete 보다 훨씬 빠름.

R 기본: 작은 표본·중간 ties 에서 가장 합리적 trade-off.

4.4 Discrete Likelihood — 식 8.4.3

정의: Discrete Likelihood (Cox 1972, 식 8.4.3)

기반: 이산 시간 logistic hazard 모형.

\[ \frac{h(t \mid Z)}{1 - h(t \mid Z)} = \frac{h_0(t)}{1 - h_0(t)} \exp(\beta' Z) \]

Likelihood:

\[ L_3(\beta) = \prod_{i=1}^D \frac{\exp(\beta' s_i)}{\sum_{q \in Q_i} \exp(\beta' s_q^*)} \]

  • \(Q_i\) = \(R_i\) 에서 \(d_i\) 명을 뽑는 모든 부분집합.
  • \(q = (q_1, \ldots, q_{d_i})\)\(Q_i\), \(s_q^* = \sum_{j=1}^{d_i} Z_{q_j}\).

계산 비용: \(\binom{|R_i|}{d_i}\) 부분집합 — exponential 증가.

직관 — Discrete 의 정확 처리

아이디어: “Risk set \(R_i\) 에서 정확히 \(d_i\) 명이 죽었다” 의 모든 가능성 고려.

  • “철수, 영희, 민수” 가 죽을 수도 있고 “철수, 영희, 정수” 가 죽을 수도 있음.
  • 모든 \(\binom{|R_i|}{d_i}\) 가능성의 effect 합 — 분모.
  • 실제 사망자 조합의 effect — 분자.

(Klein Example 8.4): \(|R_i| = 119\), \(d_i = 6\):

  • 부분집합 수 = \(\binom{119}{6} = 3,096,955,000\) ≈ 31 억.
  • 그러나 모든 사망자가 \(Z = 1\) 동일 → 합산 가능.

계산 trick: 동시 사망자가 같은 covariate value 가지면 부분집합 수 줄어듦.

언제 사용:

  • 진짜 이산 시간 데이터 (예: 매일 검사, 이산 점수).
  • Tied 가 많고 정확한 답이 필요할 때.
  • 계산 자원 충분할 때.

SAS: TIES = DISCRETE 옵션, TIES = EXACT (Kalbfleisch-Prentice 일반화 rank statistic).

R: method = "exact" — 작은 데이터만 가능.

무 ties 시: 세 likelihood 모두 식 8.3.1 로 환원 — 동일한 결과.

5 § 8.4 — Klein Example 8.4 손풀이

5.1 데이터 설정

Klein Example 8.4 — Renal Insufficiency Dialysis

데이터 (Klein § 1.4):

  • 119 명 신부전 환자.
  • 첫 exit-site 감염까지의 시간 (개월).
  • 43 명: 외과적 카테터 (\(Z = 0\), surgical).
  • 76 명: 경피적 카테터 (\(Z = 1\), percutaneous).
  • 카테터 실패 시 검열.

관심: 시점 \(t = 0.5\)6 명 동시 사망 (모두 \(Z = 1\)).

  • \(d_i = 6\), \(D_i\) = 6 명 percutaneous.
  • \(|R_i| = 119\) (시점 0.5 직전 모두 risk).
  • \(|R_i \cap \{Z=0\}| = 43\), \(|R_i \cap \{Z=1\}| = 76\).
  • \(s_i = 6 \times 1 = 6\) (모두 \(Z = 1\)).

5.2 세 Likelihood 의 contribution at t=0.5

Klein Example 8.4 — 세 Likelihood 의 직접 비교

Breslow (식 8.4.1):

\[ \frac{\exp(6\beta)}{[43 + 76 e^{\beta}]^6} \]

Efron (식 8.4.2):

\[ \frac{\exp(6\beta)}{\prod_{j=1}^{6} \left[76 e^{\beta} + 43 - \frac{j-1}{6}(6 e^{\beta})\right]} \]

분모 항을 풀면:

  • \(j=1\): \(76 e^\beta + 43\)
  • \(j=2\): \(76 e^\beta + 43 - e^\beta = 75 e^\beta + 43\)
  • \(j=3\): \(76 e^\beta + 43 - 2 e^\beta = 74 e^\beta + 43\)
  • \(j=4\): \(73 e^\beta + 43\)
  • \(j=5\): \(72 e^\beta + 43\)
  • \(j=6\): \(71 e^\beta + 43\)

Discrete (식 8.4.3):

\[ \frac{\exp(6\beta)}{\binom{43}{6} + \binom{43}{5}\binom{76}{1} e^\beta + \binom{43}{4}\binom{76}{2} e^{2\beta} + \binom{43}{3}\binom{76}{3} e^{3\beta} + \binom{43}{2}\binom{76}{4} e^{4\beta} + \binom{43}{1}\binom{76}{5} e^{5\beta} + \binom{76}{6} e^{6\beta}} \]

\(Z=0\) 에서 \(k\) 명, \(Z=1\) 에서 \(6-k\) 명 뽑는 모든 가능성.

다른 사건 시점에서도 같은 형태로 likelihood 항 누적.

5.3 추정 결과 비교

Klein Example 8.4 — 세 Method 결과
항목 Breslow Efron Discrete
초기 \(\ell\) -104.4533 -104.2319 -94.1869
최종 \(\ell\) -103.2285 -103.0278 -92.9401
\(b\) -0.6180 -0.6126 -0.6204
SE(\(b\)) 0.3981 0.3979 0.4019
\(e^b\) (RR) 0.539 0.542 0.553
Score \(\chi^2\) 2.49 (p=0.115) 2.44 (p=0.117) 2.53 (p=0.112)
Wald \(\chi^2\) 2.41 (p=0.121) 2.37 (p=0.124) 2.45 (p=0.117)
LR \(\chi^2\) 2.45 (p=0.118) 2.41 (p=0.121) 2.49 (p=0.114)

핵심 관찰:

  • 세 method 모두 \(b \approx -0.62\), RR ≈ 0.54.
  • Percutaneous (\(Z=1\)) 가 surgical (\(Z=0\)) 의 약 절반 위험.
  • 그러나 모든 검정 p > 0.05 → 비유의.

Breslow vs Efron 차이: \(b\) 차이 0.005 (작음). Ties 한 곳 (6 명) 만 — 데이터 대부분이 distinct.

Discrete 의 likelihood 절댓값 차이: 다른 normalization 으로 직접 비교 불가. 그러나 추정값 (b, SE, p) 거의 동일.

5.4 PH 가정 위반 진단

Klein Example 8.4 — Figure 8.1 의 위반

Graphical check (Klein § 8.4 끝부분):

  • PH 가정 하 \(H(t \mid Z=1) = e^\beta H(t \mid Z=0)\).
  • \(\therefore \ln \widetilde{H}(t \mid Z=1) - \ln \widetilde{H}(t \mid Z=0) \approx \beta\) — 시간에 대해 상수.
  • Nelson-Aalen 추정량 \(\widetilde{H}\) 사용.

Klein Figure 8.1: 두 차이가 시간에 따라 2 → -2 발산 (시간 0~25 개월).

PH 가정 강력히 위반.

의미:

  • \(h(t|Z=1)/h(t|Z=0)\) 가 시간에 따라 변동.
  • 평균적 RR=0.54 결과는 의미 없음 (시간 평균에 가려짐).
  • 더 중요한 시간-구체적 효과 놓칠 수 있음.

대안:

  • Ch.9 — Time-varying coefficient.
  • Ch.9 § 9.4 — Stratified Cox 의 변형.
  • Ch.11 — Schoenfeld residuals 으로 위반 진단 + 해결.
직관 — PH 진단의 첫 걸음

Cox 분석 권장 절차:

  1. EDA — KM 곡선 그리기 (Ch.5).
  2. PH 진단 — log-log plot 또는 \(\ln \widetilde{H}\) 차이 (위 식).
  3. PH OK → Cox PH 모형 (§ 8.3~8.4 의 partial likelihood).
  4. PH 위반 → time-varying coefficient (Ch.9) 또는 stratified Cox.

Klein Example 8.4 의 교훈:

  • Cox 결과 (b, RR, p-value) 만 보고 결론 내리지 말 것.
  • PH 가정 검증은 선택이 아니라 필수.
  • 위반 시 결과 신뢰성 즉시 깨짐.

진단 도구 (Ch.11 미리보기):

  • Schoenfeld residuals — 시간에 따른 변동 시각화.
  • Cox-Snell residuals — 모형 적합도.
  • Martingale residuals — functional form 확인.

6 § 8.4 — Klein Example 8.2 (continued)

Klein Example 8.2 — Larynx 4 Stage (Breslow Ties)

데이터 (Klein § 1.8): 90 명 후두암 환자, 4-stage.

모형 (식 8.2.3): 3 dummy variables (Stage I = referent).

  • \(Z_1 = 1\) if Stage II.
  • \(Z_2 = 1\) if Stage III.
  • \(Z_3 = 1\) if Stage IV.

MLE (Breslow ties):

항목 \(b\) SE RR
Stage II vs I (\(\beta_1\)) 0.0658 0.4584 1.07
Stage III vs I (\(\beta_2\)) 0.612 0.3552 1.84
Stage IV vs I (\(\beta_3\)) 1.723 0.4197 5.60

Global tests (\(H_0: \beta_1 = \beta_2 = \beta_3 = 0\), df=3):

  • \(X_{LR}^2 = 16.26\) (p = 0.001).
  • \(X_W^2 = 18.95\) (p = 0.0003).
  • \(X_{SC}^2 = 22.46\) (p = 0.0001).

세 검정 모두 강력 기각 — 적어도 한 stage 효과 유의.

임상 해석:

  • Stage II 와 I 차이 거의 없음 (RR=1.07).
  • Stage IV 가 Stage I 의 5.6 배 위험 — 임상적으로 매우 중대.
  • Stage III 가 중간 (RR=1.84).

다음 단계 (§ 8.5 Local Tests): Stage II 가 정말 Stage I 과 같은지 (subset hypothesis), Stage III vs IV 차이는 어떤지 등 local test.

7 § 8.4 — Klein Example 8.3 (continued)

Klein Example 8.3 — Kidney Transplant 4-Group (Breslow Ties)

데이터 (Klein § 1.7): 863 명 신장 이식 환자.

  • 432 white male, 92 black male, 280 white female, 59 black female.
  • 4-group 분석 (white female = reference).

Coding:

  • \(Z_1 = 1\) if black male.
  • \(Z_2 = 1\) if white male.
  • \(Z_3 = 1\) if black female.

MLE (Breslow ties):

항목 \(b\) RR
Black male vs WF (\(\beta_1\)) 0.160 1.17
White male vs WF (\(\beta_2\)) 0.248 1.28
Black female vs WF (\(\beta_3\)) 0.65 1.93

Global tests (df=3):

  • \(X_{LR}^2 = 4.37\) (p = 0.22).
  • \(X_W^2 = 4.64\) (p = 0.20).
  • \(X_{SC}^2 = 4.74\) (p = 0.19).

세 검정 모두 비유의 (\(p > 0.15\)).

임상 해석:

  • 4 군 간 생존율 차이 통계적으로 유의하지 않음.
  • 점추정 RR 은 black female 이 가장 큼 (1.93) 이지만 SE 큼 — n=59 작음.
  • Race × gender interaction 검정은 § 8.5 (Local Tests) 에서.

8 R/Python 코드 흐름

8.1 Step 1 — Newton-Raphson 직접 구현 (R)

# Klein Example 8.1 — Newton-Raphson 손계산 검증
library(survival)

# 가상 데이터 (Klein Example 8.1 형태)
# Z = 1 if IH+, 0 otherwise
# d_1 = IH+ 사망자 수, Y_0i, Y_1i = 시점 t_i 의 IH-/IH+ risk set

# Score function
U_beta <- function(beta, t, delta, Z) {
  event_times <- sort(unique(t[delta == 1]))
  D <- length(event_times)
  d_1 <- sum(delta == 1 & Z == 1)

  expected <- sum(sapply(event_times, function(ti) {
    risk_set <- (t >= ti)
    Y_0 <- sum(risk_set & Z == 0)
    Y_1 <- sum(risk_set & Z == 1)
    Y_1 * exp(beta) / (Y_0 + Y_1 * exp(beta))
  }))

  d_1 - expected
}

# Information
I_beta <- function(beta, t, delta, Z) {
  event_times <- sort(unique(t[delta == 1]))

  sum(sapply(event_times, function(ti) {
    risk_set <- (t >= ti)
    Y_0 <- sum(risk_set & Z == 0)
    Y_1 <- sum(risk_set & Z == 1)
    Y_0 * Y_1 * exp(beta) / (Y_0 + Y_1 * exp(beta))^2
  }))
}

# Newton-Raphson
beta <- 0
for (m in 1:10) {
  U <- U_beta(beta, t, delta, Z)
  I <- I_beta(beta, t, delta, Z)
  beta_new <- beta + U / I
  if (abs(beta_new - beta) < 1e-4) break
  beta <- beta_new
}
cat("MLE:", beta_new, "\n")
cat("SE:", 1/sqrt(I), "\n")
cat("RR:", exp(beta_new), "\n")

8.2 Step 2 — coxph 의 Ties Method 비교

library(survival)

# Klein Example 8.4 — dialysis
data(dialysis)
fit_breslow <- coxph(Surv(time, status) ~ catheter, data = dialysis,
                     method = "breslow")
fit_efron   <- coxph(Surv(time, status) ~ catheter, data = dialysis,
                     method = "efron")
fit_exact   <- coxph(Surv(time, status) ~ catheter, data = dialysis,
                     method = "exact")

summary(fit_breslow)$coef  # b ≈ -0.618
summary(fit_efron)$coef    # b ≈ -0.6126
summary(fit_exact)$coef    # b ≈ -0.6204 (계산 오래 걸림)

# Klein Example 8.2 — larynx 4 stage
data(larynx)
larynx$stage <- factor(larynx$stage)
fit <- coxph(Surv(time, delta) ~ stage, data = larynx, method = "breslow")
summary(fit)
# stage2: b=0.066, RR=1.07
# stage3: b=0.612, RR=1.84
# stage4: b=1.723, RR=5.60
# LR=16.26, Wald=18.95, Score=22.46

8.3 Step 3 — PH 가정 진단

# Klein Example 8.4 — Figure 8.1 재현
library(survival)

# Nelson-Aalen 누적 hazard 추정
na_z0 <- survfit(Surv(time, status) ~ 1, data = subset(dialysis, catheter == 0),
                 type = "fh")
na_z1 <- survfit(Surv(time, status) ~ 1, data = subset(dialysis, catheter == 1),
                 type = "fh")

# log H(t) 차이 vs t plot
H_z0 <- -log(na_z0$surv)
H_z1 <- -log(na_z1$surv)

# 공통 시간축 (interpolation)
t_common <- seq(0, 25, by = 0.5)
log_diff <- log(approx(na_z1$time, H_z1, t_common)$y) -
            log(approx(na_z0$time, H_z0, t_common)$y)

plot(t_common, log_diff, type = "l",
     xlab = "Time", ylab = "ln H(t|Z=1) - ln H(t|Z=0)",
     main = "PH assumption check (Klein Figure 8.1)")
abline(h = -0.618, lty = 2)  # PH 가정 하 일정해야 함

# Schoenfeld 잔차 검정 (Ch.11 미리보기)
fit <- coxph(Surv(time, status) ~ catheter, data = dialysis)
cox.zph(fit)  # p < 0.05 면 PH 위반

8.4 Step 4 — Python lifelines

from lifelines import CoxPHFitter
from lifelines.datasets import load_kidney_transplant
import pandas as pd

# Klein Example 8.3 — kidney transplant 4-group
df = load_kidney_transplant()  # 또는 사용자 데이터

# 4-group dummy
df['group'] = df['race'] + '_' + df['gender']
df_d = pd.get_dummies(df, columns=['group'], drop_first=True)

cph = CoxPHFitter()
cph.fit(df_d, duration_col='time', event_col='death')
cph.print_summary()

# RR(black male) ≈ 1.17, RR(white male) ≈ 1.28, RR(black female) ≈ 1.93
# LR test ≈ 4.37, p ≈ 0.22 (비유의)

# PH 진단
cph.check_assumptions(df_d)

9 Practical Notes

Practical Notes — § 8.3·8.4
  1. 세 검정의 보고 — SAS PHREG, R coxph 모두 Wald, LR, Score 세 검정 동시 출력. 임상 보고는 보통 Wald (가장 친숙) + LR (점근적 권위). 결과 일치 시 안정.

  2. Score test = log-rank — Theoretical Note 3 의 결과. Cox PH 모형의 Score test at \(\beta = 0\) 가 정확히 log-rank test (no ties) 또는 weighted log-rank (ties). Ch.7 의 비모수 검정과 자연 연결.

  3. Convergence diagnostics — Likelihood 변화 + 모수 변화 동시 점검 (Practical Note 2). \(b \to \infty\) 함정 (perfect separation) 회피.

  4. Ties method 선택:

    • Breslow — SAS 기본, ties 적을 때 OK, 빠름.
    • Efron — R 기본, 중간 ties 에서 가장 합리적.
    • Exact/Discrete — ties 많을 때 정확, 계산 비쌈.
  5. Ties 가 많을 때: \(d_i / |R_i| > 0.1\) 정도면 Breslow vs Efron 차이 커짐. 보고 시 method 명시 필수.

  6. PH 가정 검증 — Ch.11 의 진단 도구 (Schoenfeld residuals). 위반 시 § 9 의 time-varying coefficient 또는 stratified Cox.

  7. 소표본 주의: \(n < 50\) 또는 사건 수 < 30 시 점근적 정규성 의심. Bootstrap CI 권장.

  8. 수치적 안정성: Covariate 의 scale 차이 클 때 (예: age 1-100 vs binary 0-1) standardize 후 추정 → 다시 원 단위로 변환.

10 Theoretical Notes

Theoretical Notes — § 8.3·8.4
  1. Conditional probability 도출 — Theoretical Note 1. “Risk set 안에서 누가 죽었느냐” 의 조건부 확률을 모든 사건에 대해 곱.

  2. Profile likelihood 도출 — Theoretical Note 2 (Johansen 1983). \(h_0(t)\) 를 step function 으로 profile out 하면 partial likelihood 도출 + Breslow estimator 부산물.

  3. Counting process martingale 도출 — Andersen-Gill (1982). Partial likelihood 의 점근적 정규성·일치성 엄밀 증명.

  4. Score test = Log-rank — Practical Note 3. Score at \(\beta = 0\) 가 두 군 비교에서 정확히 log-rank test (식 7.3.4·5).

  5. 세 검정의 점근 동치\(H_0\)\(n \to \infty\) 시 Wald, LR, Score 모두 동일한 \(\chi^2_p\) 분포.

  6. Score test 의 수렴 속도 — Practical Note 4. Wald, LR ≈ Score 점근 동치이지만 유한 표본에서 Score 가 가장 느리게 \(\chi^2\) 에 수렴.

  7. Breslow likelihood 의 profile 도출 — Profile likelihood (Theoretical Note 2) 에서 자연 도출. 동시 사망 처리는 \(h_0(t_i)\) 를 그대로 곱.

  8. Efron 의 motivation — 동시 사망의 평균적 순서 처리. 정확 likelihood 에 더 가까움 (Breslow 와 Discrete 의 중간).

  9. Discrete likelihood 의 정확성 — 이산 logistic 모형의 진짜 likelihood. 모든 가능한 부분집합 합 — Cox (1972) 의 원래 형태.

  10. PH 가정 위반 시 — Cox 모형의 partial likelihood 추정 자체는 여전히 가능. 그러나 추정값 \(\beta\) 의 해석 (시간 불변 RR) 이 무너짐. Time-varying coefficient (Ch.9) 가 일반화.

11 핵심 takeaway

§ 8.3~8.4 의 7 가지 교훈
  1. Partial likelihood 식 8.3.1\(L(\beta) = \prod \exp(\beta' Z_{(i)}) / \sum_R \exp(\beta' Z_j)\). 분자 사건자, 분모 risk set 합. \(h_0(t)\) cancel — semiparametric 의 본질.

  2. 두 도출 방식 — (1) Conditional probability (직관적), (2) Profile likelihood (엄밀, Breslow estimator 부산물). 두 방식 모두 같은 식 → 이중 정당화.

  3. 세 검정의 동치성과 차이 — Wald (식 8.3.5), LR (식 8.3.6), Score (식 8.3.7) 점근 동치. 그러나 Score 수렴 느림 — 유한 표본에서 LR ≈ Wald > Score 권장.

  4. Score test = Log-rank — Score at \(\beta = 0\) = Ch.7 § 7.3 의 log-rank. Cox PH 모형이 log-rank 의 모형 기반 일반화임을 확인.

  5. Newton-Raphson 수렴 — Klein Example 8.1 immunoperoxidase 3 iterations 수렴. \(b = 0.9802\), RR = 2.67, 95% CI (1.14, 6.25). \(b \to \infty\) 함정 회피 위해 모수 변화도 점검.

  6. Ties 처리 — 세 method:

    • Breslow (식 8.4.1) — SAS 기본, \([\sum_R \exp]^{d_i}\), 단순.
    • Efron (식 8.4.2) — R 기본, 가중 차감, 더 정확.
    • Discrete (식 8.4.3) — 정확 logistic, 계산 비쌈.
  7. Klein Example 8.4 의 함정 — dialysis 6 ties, 세 method 모두 \(b \approx -0.62\), RR ≈ 0.54, p ≈ 0.115. 그러나 PH 위반 진단 (Figure 8.1) → 결론 신뢰 불가. 모형 적합 후 진단 필수.

12 관련 주제

선행 지식

후속 주제

  • § 8.5 — Local Tests (Wald subset, LR partial)
  • § 8.6 — Discretizing a Continuous Covariate
  • § 8.7 — Model Building Strategy
  • § 8.8 — Survival Function Estimation (Breslow estimator)
  • Ch.9 — Time-Varying Coefficients (PH 위반 처리)
  • Ch.11 — Schoenfeld Residuals (PH 진단)

관련 개념

  • Profile likelihood — nuisance parameter 처리의 일반 원리
  • Newton-Raphson — MLE 계산의 표준 알고리즘
  • Conditional logistic regression — Discrete likelihood 의 일반화
  • Counting process — partial likelihood 의 martingale 정당화 (Andersen-Gill)

Subscribe

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