Klein § 2.8 — Exercises (20 문제 완전 풀이)

분포별 계산 (Ex 2.1~2.8: 지수·Weibull·log-logistic·exp power·log-normal·Gompertz·gamma·Pareto) / 회귀 (Ex 2.9 log-normal·Ex 2.16 log-logistic proportional odds) / piecewise constant hazard (Ex 2.10) · 3-parameter Weibull guarantee time (Ex 2.11) · uniform·geometric (Ex 2.12·2.13·2.18) · gamma frailty mixture (Ex 2.14) · linear hazard (Ex 2.15) · linear MRL 역산 (Ex 2.17) · competing risks joint survival (Ex 2.19·2.20)

Klein & Moeschberger Ch.2 § 2.8 의 20 개 연습문제를 한 편으로 정리한다. § 2.2~2.7 의 모든 개념 (4 함수·9 분포·2 회귀 framework·competing risks) 을 실제 수치 계산과 모형 변환으로 연습. Group A — 분포별 계산 (2.1 Exponential 전구·2.2 Weibull 쥐 종양·2.3 Log-logistic 신장이식·2.4 Exp power bathtub 증명·2.5 Log-normal BMT·2.6 Gompertz 쥐·2.7 Gamma 쥐·2.8 Pareto 페이스메이커). Group B — 회귀 (2.9 log-normal 폐암 치료 비교 · 2.16 log-logistic = proportional odds 증명). Group C — 추가 모델·MRL (2.10 piecewise 일정 hazard 의 S, MRL, mdrl·2.11 3-모수 Weibull guarantee time·2.12 Uniform·2.13 Geometric vs Exponential·2.14 Exponential + Gamma frailty = Pareto·2.15 Linear hazard·2.17 Linear MRL 로부터 S, h 역산·2.18 Uniform 의 MRL/mdrl). Group D — Competing risks (2.19 joint S(x,y)=(1-x)(1-y)(1+5xy)·2.20 joint S=exp(-x-y-5xy)). 핵심 직관 + R/Python 검증 코드 + Ch.2 16 항 통합 체크리스트.

Statistics
Survival Analysis
Klein-Moeschberger
Exercises
저자

Kwangmin Kim

공개

2026년 04월 27일

1 들어가며 — Ch.2 의 종합 연습

Ch.2 의 모든 개념 — 4 함수 (S, h, H, m), 9 분포, AFT/PH 회귀, competing risks — 가 § 2.8 의 20 문제로 검증된다. 본 편은 모든 문제를 — 정의 환원 + 핵심 직관 + 결과 해석 — 의 3 단계로 풀이한다.

풀이 전략

각 문제는 다음 4 단계로 환원된다:

  1. 분포 식별 → 어느 § 2.5 분포인가?
  2. 목표 함수 식별 → $S, h, m, x_p, F, $ 또는 회귀량?
  3. 수식 적용 → § 2.2~2.7 의 closed form 또는 적분.
  4. 수치 결과 해석 → 임상·공학적 의미.

이 패턴이 Ch.2 의 본질이다.

그룹 문제 주제
A 2.1~2.8 (8) 9 분포의 수치 계산
B 2.9, 2.16 (2) 회귀 (AFT, proportional odds)
C 2.10~2.15, 2.17~2.18 (8) 추가 모델 + MRL
D 2.19~2.20 (2) Competing risks

2 Group A — 분포별 수치 계산

2.1 Ex 2.1 — 전구 (Exponential, \(\lambda = 0.001\)/hr)

\(X \sim \text{Exp}(\lambda = 0.001)\), \(h(x) = 0.001\), \(S(x) = e^{-0.001 x}\).

  1. Mean: \(\mu = 1/\lambda = 1{,}000\) hours.

  2. Median: \(x_{0.5} = \ln 2 / \lambda = 0.693/0.001 \approx 693\) hours.

  3. \(\Pr[X > 2000]\): \(S(2000) = e^{-0.001 \times 2000} = e^{-2} \approx 0.135\).

직관

전구의 median 이 mean 보다 짧다 — exponential 은 right-skewed. “절반의 전구는 약 693 시간 안에 끊어지지만, 평균 수명은 1000 시간”. 이 둘의 차이가 right-skew 의 신호.

2.2 Ex 2.2 — 쥐 종양 (Weibull, \(\alpha=2,\ \lambda=0.001\))

\(h(x) = \alpha\lambda x^{\alpha-1} = 0.002 x\) (linear, IFR), \(S(x) = e^{-0.001 x^2}\).

  1. Tumor-free 확률:
  • \(S(30) = e^{-0.001 \times 900} = e^{-0.9} \approx 0.407\)
  • \(S(45) = e^{-0.001 \times 2025} = e^{-2.025} \approx 0.132\)
  • \(S(60) = e^{-0.001 \times 3600} = e^{-3.6} \approx 0.027\)
  1. Mean: \(\mu = \Gamma(1+1/\alpha)/\lambda^{1/\alpha} = \Gamma(1.5)/\sqrt{0.001} = (0.5\sqrt{\pi})/\sqrt{0.001}\).

\(\sqrt{\pi} \approx 1.7725\), \(\sqrt{0.001} \approx 0.0316\).

\(\mu \approx 0.5 \times 1.7725 / 0.0316 \approx 28.0\) days.

  1. Hazard:
  • \(h(30) = 0.002 \times 30 = 0.06\)
  • \(h(45) = 0.09\)
  • \(h(60) = 0.12\)

선형 증가 (IFR) — 노출 후 시간이 흐를수록 종양 발생 강도가 빨라짐.

  1. Median: \(x_{0.5} = (\ln 2 / \lambda)^{1/\alpha} = \sqrt{0.693/0.001} = \sqrt{693} \approx 26.3\) days.
해석

쥐가 carcinogen 노출 후 종양이 생기는 시점은 — median 26.3 일, mean 28.0 일. 두 값이 가까운 이유: \(\alpha=2\) 는 Rayleigh 분포 (right-skew 가 비교적 약함).

2.3 Ex 2.3 — 신장 이식 (Log-logistic, \(\alpha=1.5,\ \lambda=0.01\))

\(S(x) = 1/(1 + 0.01 x^{1.5})\), \(h(x) = 1.5 \times 0.01 \times x^{0.5} / (1 + 0.01 x^{1.5})\).

  1. 생존확률:
  • \(S(50) = 1/(1 + 0.01 \times 50^{1.5}) = 1/(1 + 0.01 \times 353.55) = 1/4.5355 \approx 0.220\)
  • \(S(100) = 1/(1 + 0.01 \times 1000) = 1/11 \approx 0.091\)
  • \(S(150) = 1/(1 + 0.01 \times 150^{1.5}) = 1/(1 + 0.01 \times 1837.1) = 1/19.37 \approx 0.0516\)
  1. Median: \(S(x_{0.5}) = 0.5 \Rightarrow 1 + 0.01 x^{1.5} = 2 \Rightarrow x^{1.5} = 100 \Rightarrow x_{0.5} = 100^{2/3} \approx 21.5\) days.

  2. Hazard turning point: \(\alpha > 1\) 이므로 hump-shape. 최댓값 at \(x^* = [(\alpha-1)/\lambda]^{1/\alpha} = [0.5/0.01]^{1/1.5} = 50^{2/3} \approx 13.6\) days.

  3. Mean: \(E[X] = \pi \csc(\pi/\alpha) / (\alpha \lambda^{1/\alpha}) = \pi \csc(2\pi/3) / (1.5 \times 0.01^{1/1.5})\).

\(\csc(2\pi/3) = 1/\sin(120°) = 2/\sqrt{3} \approx 1.155\).

\(0.01^{1/1.5} = 0.01^{0.667} \approx 0.0464\).

\(\mu \approx \pi \times 1.155 / (1.5 \times 0.0464) \approx 3.628 / 0.0696 \approx 52.1\) days.

해석

신장 이식 후 — hazard 가 약 14 일에 최대 (수술 합병증 정점) → 그 후 감소 (회복). mean (52 일) 이 median (22 일) 보다 큰 이유 — log-logistic 의 heavy tail 특성.

2.4 Ex 2.4 — Exponential Power Bathtub 증명

\(S(x) = \exp\{1 - \exp[(\lambda x)^\alpha]\}\). \(h(x) = -d \ln S/dx = d\exp[(\lambda x)^\alpha]/dx = \alpha \lambda^\alpha x^{\alpha-1} \exp[(\lambda x)^\alpha]\).

  1. \(\alpha = 0.5\): \(h(x) = 0.5 \lambda^{0.5} x^{-0.5} \exp[(\lambda x)^{0.5}]\).
  • 첫째 항 \(x^{-0.5}\): 단조 감소.
  • 둘째 항 \(\exp[\sqrt{\lambda x}]\): 단조 증가.
  • 곱 → bathtub.

Turning point: \(h'(x) = 0\) 풀이 → \(x^* = 1/(4\lambda)\).

  1. \(\alpha = 2\): \(h(x) = 2 \lambda^2 x \exp[(\lambda x)^2]\).

두 항 모두 \(x\) 에 대해 증가 → 단조 증가 (IFR).

핵심 메시지

Exp power 의 \(\alpha < 1\) 일 때 bathtub 이 자연 발생. 이는 § 2.5 에서 본 인구 mortality 의 자연 모델.

2.5 Ex 2.5 — Auto BMT (Log-normal, \(\mu=3.177,\ \sigma=2.084\))

\(Y = \ln X \sim N(3.177, 2.084^2)\).

  1. Mean: \(E[X] = e^{\mu + \sigma^2/2} = e^{3.177 + 2.172} = e^{5.349} \approx 210.4\) days.

Median: \(x_{0.5} = e^\mu = e^{3.177} \approx 24.0\) days.

극단적 right-skew

Mean (210 일) ≫ Median (24 일) — log-normal 의 강한 skewness (\(\sigma = 2.084\) 가 크기 때문). 이때 median 만 보고하는 것이 안전.

  1. 생존확률 \(S(x) = 1 - \Phi[(\ln x - \mu)/\sigma]\):
  • \(\Phi[(\ln 100 - 3.177)/2.084] = \Phi[(4.605 - 3.177)/2.084] = \Phi(0.685) \approx 0.753\)\(S(100) \approx 0.247\)
  • \(\Phi[(\ln 200 - 3.177)/2.084] = \Phi[2.342/2.084] = \Phi(1.124) \approx 0.870\)\(S(200) \approx 0.130\)
  • \(\Phi[(\ln 300 - 3.177)/2.084] = \Phi[2.527/2.084] = \Phi(1.213) \approx 0.887\)\(S(300) \approx 0.113\)
  1. Hazard: log-normal 의 hump-shape → 짧은 시간 후 최대, 그 후 감소.

2.6 Ex 2.6 — Gompertz 쥐 (방사선, \(\theta=0.01,\ \alpha=0.25\))

\(h(x) = 0.01 e^{0.25 x}\), \(S(x) = \exp\{(0.01/0.25)(1 - e^{0.25 x})\} = \exp\{0.04(1 - e^{0.25 x})\}\).

  1. \(\Pr[X > 12]\): \(S(12) = \exp\{0.04(1 - e^3)\} = \exp\{0.04(1 - 20.09)\} = \exp(-0.7634) \approx 0.466\).

  2. \(\Pr[X < 6]\): \(1 - S(6) = 1 - \exp\{0.04(1 - e^{1.5})\} = 1 - \exp\{0.04(1 - 4.482)\} = 1 - \exp(-0.1393) \approx 0.130\).

  3. Median: \(S(x_{0.5}) = 0.5\). \(\exp\{0.04(1-e^{0.25 x_{0.5}})\} = 0.5\). \(0.04(1-e^{0.25 x_{0.5}}) = -0.6931\). \(e^{0.25 x_{0.5}} = 1 + 17.33 = 18.33\). \(0.25 x_{0.5} = \ln 18.33 = 2.909\). \(x_{0.5} \approx 11.6\) months.

Gompertz 의 임상 의의

방사선 노출 쥐의 노화가 가속됨 — 시간이 흐를수록 hazard 가 지수적으로 증가. 이것이 인구 mortality 의 30~80 세 구간이 Gompertz 로 잘 적합되는 이유.

2.7 Ex 2.7 — Gamma 쥐 (\(\beta=3,\ \lambda=0.2\))

  1. \(\Pr[X > 18] = 1 - I(\lambda x, \beta) = 1 - I(3.6, 3)\) — incomplete gamma. 수치적으로 \(\approx 0.302\).

  2. \(\Pr[X \leq 12] = I(2.4, 3) \approx 0.430\).

  3. Mean: \(\mu = \beta/\lambda = 15\) months.

Gamma 의 응용

대기 시간 (3 사건이 누적되어야 발생하는 사건의 시간) — 신경 전달, 다단계 발병 모델.

2.8 Ex 2.8 — 페이스메이커 배터리 (Pareto, \(\theta=4,\ \lambda=5\))

\(S(x) = (\lambda/x)^\theta = (5/x)^4\) for \(x \geq 5\).

  1. \(\Pr[X > 10] = (5/10)^4 = 1/16 = 0.0625\).

  2. Mean: \(\theta\lambda/(\theta-1) = 4 \times 5/3 = 6.67\) years.

  3. \(\Pr[X > t_o] = 0.99\): \((5/t_o)^4 = 0.99\). \(5/t_o = 0.99^{0.25} = 0.99749\). \(t_o = 5/0.99749 \approx 5.013\) years.

의료기기 보증

99% 가 5 년 이상 살아남으려면 — 교체 주기를 5 년으로 설정. 이것이 의료기기 정책 수립의 표준 방법.

3 Group B — 회귀 모형

3.1 Ex 2.9 — Log-normal AFT (폐암 치료 비교)

\(Y = \ln X = 2 + 0.5 Z + 2W\), \(W \sim N(0,1)\).

  • \(Z = 1\) (treatment A): \(Y \sim N(2.5, 4)\).
  • \(Z = 0\) (treatment B): \(Y \sim N(2, 4)\).

생존확률 비교:

\(t\) (years) \(\ln t \times 12\) (months) \(S_A(t)\) \(S_B(t)\) 차이
1 \(\ln 12 = 2.485\) \(1 - \Phi(-0.0075) = 0.503\) \(1 - \Phi(0.243) = 0.404\) A 우세
2 \(\ln 24 = 3.178\) \(1 - \Phi(0.339) = 0.367\) \(1 - \Phi(0.589) = 0.278\) A 우세
5 \(\ln 60 = 4.094\) \(1 - \Phi(0.797) = 0.213\) \(1 - \Phi(1.047) = 0.148\) A 우세
AFT 해석

A 의 시간 척도가 \(e^{0.5} = 1.65\) 배 — 동일 사건까지 1.65 배 늦게. 즉, “A 그룹의 환자는 B 그룹보다 평균 1.65 배 오래 생존”.

  1. Logistic error 로 바꾸면 → log-logistic AFT. 결과는 비슷하지만 꼬리가 더 두꺼움. Heavy tail 이 임상에서 의미 있는 차이를 보일지는 데이터 의존.

3.2 Ex 2.16 — Log-logistic 의 Proportional Odds 증명

\(Y = \ln X = \mu + \beta Z + \sigma W\), \(f(w) = e^w/(1+e^w)^2\) (logistic).

  1. Conditional survival:

\[ S(x \mid Z) = \Pr[Y > \ln x] = \Pr[W > (\ln x - \mu - \beta Z)/\sigma] \]

표준 logistic 의 \(\Pr[W > w] = 1/(1+e^w)\). 따라서

\[ S(x \mid Z) = \frac{1}{1 + \exp[(\ln x - \mu - \beta Z)/\sigma]} = \frac{1}{1 + \lambda x^{1/\sigma} e^{-\beta Z/\sigma}} \]

여기서 \(\lambda = e^{-\mu/\sigma}\).

  1. Odds of death:

\[ \frac{1 - S(x \mid Z)}{S(x \mid Z)} = \exp[(\ln x - \mu - \beta Z)/\sigma] = \lambda x^{1/\sigma} e^{-\beta Z/\sigma} \]

  1. 두 개체 \(Z_1, Z_2\) 의 odds 비:

\[ \frac{\text{odds}(Z_1)}{\text{odds}(Z_2)} = \frac{\lambda x^{1/\sigma} e^{-\beta Z_1/\sigma}}{\lambda x^{1/\sigma} e^{-\beta Z_2/\sigma}} = e^{-\beta(Z_1-Z_2)/\sigma} \]

Klein 정리

Log-logistic 회귀 모델은 사망 odds 비가 시간에 무관한 유일한 모델 — 즉 “proportional odds” 모델.

  • PH (Cox): hazard 비가 시간 무관.
  • AFT: 시간 척도 변환.
  • PO (log-logistic): odds 비가 시간 무관.

세 가지 framework 가 서로 다른 covariate 효과 형태를 가정. 데이터에 따라 적합한 것이 다르다 (log-log plot 평행성 vs odds 안정성으로 진단).

4 Group C — 추가 모델과 MRL

4.1 Ex 2.10 — Piecewise Constant Hazard (Life Table)

\(h(x) = \theta_i\) for \(\tau_{i-1} \leq x < \tau_i\).

  1. Survival: \(H(x) = \int_0^x h\, du\) 가 piecewise linear →

\[ S(x) = \exp\!\left[-\sum_{j=1}^{i-1} \theta_j(\tau_j - \tau_{j-1}) - \theta_i (x - \tau_{i-1})\right] \quad \text{for } \tau_{i-1} \leq x < \tau_i \]

  1. MRL: \(m(x) = \int_x^\infty S(u)\,du / S(x)\).

각 구간에서 \(S(u) = S(\tau_{i-1}) \exp[-\theta_i (u - \tau_{i-1})]\) 이므로 적분이 closed form. 결과:

\[ m(x) = \frac{1}{\theta_i}\left[1 - \exp(-\theta_i(\tau_i - x))\right] + \sum_{j > i} \frac{S(\tau_{j-1})}{S(x) \theta_j}\left[1 - \exp(-\theta_j(\tau_j - \tau_{j-1}))\right] \]

  1. Median residual life: \(m(x \mid X > x)\) 의 median — 조건부 분포에서 \(S(t \mid X > x) = S(t)/S(x)\) 가 0.5 인 시점 빼기 \(x\).
응용

Cohort life table — § 1.14 weaning 분석에서 사용한 actuarial estimator (Cutler-Ederer 1958) 가 piecewise constant hazard 의 비모수 버전. 인구 통계청의 mortality table 도 동일 framework.

4.2 Ex 2.11 — 3-Parameter Weibull (Guarantee Time)

\[ S(x) = \begin{cases} 1 & x < \phi \\ \exp[-\lambda(x-\phi)^\alpha] & x \geq \phi \end{cases} \]

  1. Hazard: \(h(x) = 0\) for \(x < \phi\), \(h(x) = \alpha\lambda(x-\phi)^{\alpha-1}\) for \(x \geq \phi\).

Density: \(f(x) = h(x) S(x) = \alpha\lambda(x-\phi)^{\alpha-1} \exp[-\lambda(x-\phi)^\alpha]\) for \(x \geq \phi\).

  1. \(\alpha=1, \lambda=0.0075, \phi=100\): 단순 shifted exponential.
  • Mean: \(\mu = \phi + 1/\lambda = 100 + 133.3 \approx 233.3\).
  • Median: \(\phi + \ln 2 / \lambda = 100 + 92.4 \approx 192.4\).
의의

신뢰성 공학 — “100 시간 이전에는 절대 고장 없음 (warranty)”. 임상 — 발병까지 최소 잠복기. 단순한 평행 이동이지만, 모형 적합 시 매우 큰 효과.

4.3 Ex 2.12 — Uniform \([0, \theta]\)

\(f(x) = 1/\theta\) on \([0, \theta]\).

  1. Survival: \(S(x) = 1 - x/\theta\) for \(0 \leq x \leq \theta\), 0 otherwise.

  2. Hazard: \(h(x) = f/S = (1/\theta) / (1 - x/\theta) = 1/(\theta - x)\).

\(x \to \theta\) 에서 \(h \to \infty\) — 끝에 가까워질수록 위험 폭증. 시간 제한이 있는 사건 (마감 시한, 자원 고갈) 의 자연 모델.

  1. MRL: \(m(x) = \int_x^\theta (1 - u/\theta)\, du / (1 - x/\theta) = (\theta - x)/2\).
의미

uniform 분포에서 — 잔여 기대 수명은 항상 남은 구간의 절반. 이는 directly 직관적: 균등하게 분포하면 평균 잔여 = 남은 구간 평균 = 절반.

4.4 Ex 2.13 — Geometric (이산)

\(p(x) = p(1-p)^{x-1}\), \(x = 1, 2, \ldots\).

  1. Survival: \(S(x) = \sum_{j > x} p(1-p)^{j-1} = (1-p)^x\).

  2. Hazard: \(h(x_j) = p(x_j)/S(x_{j-1}) = p(1-p)^{j-1} / (1-p)^{j-1} = p\).

이산판 memoryless

Geometric 의 hazard 가 상수 \(p\) — exponential 의 이산 version. “매 시도마다 동일한 성공 확률, 과거 무관” — 동전 던지기, Bernoulli trial 의 첫 성공 시점.

이산 분포 중 유일하게 memoryless.

4.5 Ex 2.14 — Frailty Mixture (Exponential + Gamma)

\(X \mid \theta \sim \text{Exp}(\theta)\), \(\theta \sim \text{Gamma}(\beta, \lambda)\).

  1. Marginal Survival:

\[ S(x) = E_\theta[e^{-\theta x}] = \int_0^\infty e^{-\theta x} \frac{\lambda^\beta \theta^{\beta-1} e^{-\lambda \theta}}{\Gamma(\beta)} d\theta \]

이는 gamma MGF 의 변형. 결과:

\[ S(x) = \left(\frac{\lambda}{\lambda + x}\right)^\beta \]

이는 Pareto 분포 형태 (Lomax 분포).

  1. Hazard: \(h(x) = -d\ln S/dx = \beta/(\lambda + x)\) — 단조 감소 (\(x \to \infty\) 에서 0).
Frailty 의 핵심

개체별 hazard 가 다른 (heterogeneity) population 을 — 개체 hazard \(\theta\) 가 frailty 분포 (gamma) 를 따른다고 가정하면 — marginal hazard 가 시간이 흐르며 감소.

이유: high-frailty 개체는 일찍 사건을 경험 → 시간이 흐르면 low-frailty 만 남음 → marginal hazard 가 감소처럼 보임.

이 현상이 DFR (Decreasing Failure Rate) 의 frailty 해석. 개체 hazard 는 일정 (constant) 인데 모집단 평균은 감소처럼 보이는 paradox. § 1.7 Kidney transplant 의 race × gender 격차도 frailty 로 해석 가능.

4.6 Ex 2.15 — Linear Hazard \(h(x) = \alpha + \beta x\)

\(H(x) = \int_0^x (\alpha + \beta u)\, du = \alpha x + \beta x^2/2\).

\(S(x) = \exp[-H(x)] = \exp[-\alpha x - \beta x^2/2]\).

\(f(x) = h(x) S(x) = (\alpha + \beta x) \exp[-\alpha x - \beta x^2/2]\).

Gompertz 의 사촌

Linear hazard 는 Gompertz (\(\theta e^{\alpha x}\)) 의 first-order Taylor 근사. 짧은 기간에서는 Gompertz ≈ linear hazard.

\(\alpha=0\) 이면 순수 quadratic-time hazard — Weibull \(\alpha=2\) (\(h = 2\lambda x\)) 와 동일 (with \(\beta = 2\lambda\)).

4.7 Ex 2.17 — Linear MRL 로부터 역산

\(m(x) = x + 10\).

  1. Mean: \(m(0) = 10\).

  2. Hazard: Klein Theoretical Note 2 의 식

\[ h(x) = \frac{m'(x) + 1}{m(x)} = \frac{1 + 1}{x + 10} = \frac{2}{x + 10} \]

  1. Survival: \(H(x) = \int_0^x 2/(u+10)\, du = 2\ln[(x+10)/10]\). \(S(x) = \exp[-H] = (10/(x+10))^2\) — Pareto!
함수 사이의 변환

Linear MRL → Pareto 분포. 이것이 4 함수 (S, h, f, m) 가 서로를 결정한다는 § 2.4 Theoretical Note 2 의 정전 예시. MRL 만 알아도 분포가 완전히 결정.

4.8 Ex 2.18 — Uniform \([0, 100]\)

\(f(x) = 1/100\) on \([0, 100]\).

  1. Survival: \(S(x) = 1 - x/100\).
  • \(S(25) = 0.75\), \(S(50) = 0.5\), \(S(75) = 0.25\).
  1. MRL (Ex 2.12 의 일반식): \(m(x) = (100 - x)/2\).
  • \(m(25) = 37.5\), \(m(50) = 25\), \(m(75) = 12.5\).
  1. Median residual life: 조건부 분포 \(X - x \mid X > x\) 가 Uniform \([0, 100-x]\) 이므로 median = \((100-x)/2 = m(x)\).
Uniform 에서 mean = median

이는 Uniform 의 대칭성 때문. 일반 분포에서는 다름 — log-normal 같은 right-skew 에서는 median residual < mean residual.

5 Group D — Competing Risks

5.1 Ex 2.19 — Joint \(S(x,y) = (1-x)(1-y)(1+5xy)\), \(0 < x, y < 1\)

  1. Marginal survival of \(X\): \(S_X(x) = S(x, 0) = (1-x)(1-0)(1+0) = 1 - x\) for \(0 < x < 1\). Uniform on \([0,1]\).

  2. Cumulative incidence of \(T_1 = X\) when \(T = \min(X, Y)\).

먼저 cause-specific hazard:

\[ h_1(t) = \frac{-\partial S(x, y)/\partial x \big|_{x=y=t}}{S(t, t)} \]

\(S(t, t) = (1-t)^2 (1 + 5t^2)\).

\(\partial S(x,y)/\partial x = -(1-y)(1+5xy) + (1-x)(1-y) \cdot 5y\)

\(\big|_{x=y=t}\): \(-(1-t)(1+5t^2) + (1-t)^2 \cdot 5t = (1-t)[-(1+5t^2) + 5t(1-t)] = (1-t)[-1 - 5t^2 + 5t - 5t^2] = (1-t)[-1 + 5t - 10t^2]\).

\(h_1(t) = -(1-t)(-1 + 5t - 10t^2) / [(1-t)^2 (1 + 5t^2)] = (1 - 5t + 10t^2) / [(1-t)(1 + 5t^2)]\).

Total hazard: \(h_T(t) = -d\ln S(t,t)/dt\). \(\ln S(t,t) = 2\ln(1-t) + \ln(1+5t^2)\). 미분 → \(h_T(t) = 2/(1-t) - 10t/(1+5t^2)\).

CIF:

\[ F_1(t) = \int_0^t h_1(u) S(u, u)\, du \]

수치 적분으로 계산. 수식이 복잡하므로 \(S(t,t)\) 에 대한 직접 분해:

\[ F_1(t) + F_2(t) + S(t,t) = 1 \]

대칭성 (\(S\)\(x \leftrightarrow y\) 대칭) → \(F_1(t) = F_2(t) = (1 - S(t,t))/2 = (1 - (1-t)^2(1+5t^2))/2\).

\(F_1(\infty) = F_1(1) = (1 - 0)/2 = 0.5\) — cause 1 로 사건이 일어날 모집단 비율.

Sub-distribution 성질 확인

\(F_1(\infty) = 0.5 < 1\) — sub-distribution 의 정의 만족. 두 cause 가 대칭이므로 \(\Pr[\delta = 1] = 0.5\), \(\Pr[\delta = 2] = 0.5\).

5.2 Ex 2.20 — Joint \(S(x,y) = e^{-x-y-5xy}\)

  1. Marginal: \(S_X(x) = S(x, 0) = e^{-x}\). $X $ Exp(1) (marginal).

  2. CIF of \(X\):

\(\ln S(t, t) = -2t - 5t^2\). \(h_T(t) = 2 + 10t\) (linear hazard, Ex 2.15 의 형태).

cause-specific hazard:

\(\partial S(x,y)/\partial x = -e^{-x-y-5xy}(1 + 5y)\).

\(\big|_{x=y=t}\): \(-(1+5t) e^{-2t - 5t^2}\).

\(h_1(t) = (1+5t) e^{-2t-5t^2} / e^{-2t-5t^2} = 1 + 5t\).

CIF:

\[ F_1(t) = \int_0^t (1 + 5u) e^{-2u - 5u^2}\, du \]

이 적분의 closed form 은 없지만 — 대칭성 (\(X \leftrightarrow Y\)) 에서 \(F_1(t) = F_2(t)\), 그리고

\[ F_1(t) + F_2(t) = 1 - S(t,t) = 1 - e^{-2t - 5t^2} \]

따라서

\[ F_1(t) = \frac{1 - e^{-2t - 5t^2}}{2} \]

  • \(F_1(\infty) = 0.5\).
  • \(F_1(1) = (1 - e^{-7})/2 \approx 0.4995\).

Marginal \(1 - S_X(t) = 1 - e^{-t}\) 와 다름:

  • Marginal \(1 - S_X(1) = 1 - e^{-1} \approx 0.632\).
  • CIF \(F_1(1) \approx 0.4995\).
1 - KM ≠ CIF 의 정전 시연
  • Marginal probability of \(X \leq 1\) in counterfactual world (only cause 1 acting): \(1 - e^{-1} \approx 0.632\).
  • CIF \(F_1(1)\) in real world (both causes acting): \(\approx 0.500\).

차이 \(0.132\) 가 “다른 cause 가 cause 1 사건을 미리 막은 비율”. 이것이 — competing risks 에서 1 - KM 이 항상 과대 추정 한다는 § 2.7 의 정전 함정.

임상에서 단순 KM 으로 cause 1 누적 발생을 추정하면 — 약 26% 과대 추정 (\(0.632\) vs \(0.500\)). 정책·치료 결정에 결정적인 차이.

6 R + Python — 핵심 문제 검증

6.1 R — Ex 2.2 (Weibull) 와 Ex 2.20 (Competing risks)

# Ex 2.2 — Weibull α=2, λ=0.001
alpha <- 2
lambda <- 0.001
S_weib <- function(x) exp(-lambda * x^alpha)
h_weib <- function(x) alpha * lambda * x^(alpha-1)
mu_weib <- gamma(1 + 1/alpha) / lambda^(1/alpha)
median_weib <- (log(2)/lambda)^(1/alpha)

cat("Ex 2.2:\n")
cat(sprintf("  S(30)=%.3f, S(45)=%.3f, S(60)=%.3f\n",
            S_weib(30), S_weib(45), S_weib(60)))
cat(sprintf("  h(30)=%.3f, h(45)=%.3f, h(60)=%.3f\n",
            h_weib(30), h_weib(45), h_weib(60)))
cat(sprintf("  Mean=%.2f, Median=%.2f\n", mu_weib, median_weib))

# Ex 2.20 — Competing risks: S(x,y) = exp(-x-y-5xy)
library(cubature)
joint_S <- function(t1, t2) exp(-t1 - t2 - 5*t1*t2)
total_S <- function(t) joint_S(t, t)
cif_1 <- function(t) (1 - total_S(t)) / 2
marginal_F <- function(t) 1 - exp(-t)

ts <- c(0.1, 0.5, 1, 2)
data.frame(
  t = ts,
  S_joint = sapply(ts, total_S),
  CIF_1 = sapply(ts, cif_1),
  marginal_F_X = sapply(ts, marginal_F),
  diff = sapply(ts, marginal_F) - sapply(ts, cif_1)
)
# CIF < marginal 이 항상 성립 — 1 - KM 함정 확인

6.2 Python — Ex 2.5 (Log-normal) 와 Ex 2.17 (Linear MRL)

import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt

# Ex 2.5 — Log-normal μ=3.177, σ=2.084
mu, sigma = 3.177, 2.084
def S_lnorm(x):
    return 1 - norm.cdf((np.log(x) - mu) / sigma)
def h_lnorm(x):
    f = norm.pdf((np.log(x) - mu) / sigma) / (x * sigma)
    return f / S_lnorm(x)

mean_lnorm = np.exp(mu + sigma**2 / 2)
median_lnorm = np.exp(mu)
print(f"Ex 2.5: Mean={mean_lnorm:.1f}, Median={median_lnorm:.1f}")
for t in [100, 200, 300]:
    print(f"  S({t})={S_lnorm(t):.3f}")

# Ex 2.17 — Linear MRL m(x) = x + 10 → Pareto
# h(x) = 2/(x+10), S(x) = (10/(x+10))^2
def m_linear(x): return x + 10
def h_inv(x): return 2 / (x + 10)
def S_inv(x): return (10 / (x + 10))**2

xs = np.linspace(0, 50, 100)
fig, axes = plt.subplots(1, 3, figsize=(15, 4))
axes[0].plot(xs, [m_linear(x) for x in xs])
axes[0].set_title("MRL m(x) = x + 10")
axes[1].plot(xs, [h_inv(x) for x in xs])
axes[1].set_title("h(x) = 2/(x+10) — DFR")
axes[2].plot(xs, [S_inv(x) for x in xs])
axes[2].set_title("S(x) = (10/(x+10))^2 — Pareto")
plt.tight_layout()
plt.savefig("klein_2_8_exercises.png", dpi=100)

# Hazard 모양: m'(x)=1 (constant 증가) → DFR
# 검증: h(x) = (m'(x) + 1)/m(x) = 2/(x+10), 식과 일치

7 직관 통합 — 20 문제의 통일 메시지

Klein § 2.8 의 5 가지 교훈
  1. 분포 식별이 첫 번째: 데이터의 hazard 모양 (constant·IFR·DFR·hump·bathtub) 으로 9 분포 중 후보 좁히기.
  2. 4 함수의 동등성: 어느 한 함수만 알아도 나머지 결정 (Ex 2.17 의 MRL → S 역산이 정전).
  3. 회귀 framework 의 차이: AFT (시간) vs PH (강도) vs PO (odds) — log-logistic 만이 PO 에서 닫혀있음 (Ex 2.16).
  4. Frailty 가 단순 분포를 만든다: Exponential + Gamma frailty = Pareto (Ex 2.14) — heterogeneity 의 자연스러운 분포 표현.
  5. Competing risks 에서 1 - KM ≠ CIF: 단순 KM 으로 한 cause 의 누적 발생을 추정하면 항상 과대 추정 (Ex 2.20 의 정전 시연).

이 다섯 교훈이 Klein Ch.2 의 모든 것이다.

8 실전 체크리스트 — Ch.2 통합

§ 2.2~2.3 (S, h, H)

  1. \(S(x) = \Pr(X > x)\), \(h(x) = f/S = -d\ln S/dx\), \(H = \int h = -\ln S\).
  2. 이산 hazard \(h(x_j) = p(x_j)/S(x_{j-1})\) → KM 의 출생.

§ 2.4 (m, median)

  1. \(m(x) = \int_x^\infty S/S(x)\), $= m(0) = $ 면적.
  2. Median life \(S(x_{0.5}) = 0.5\), mdrl 도 정의 가능.

§ 2.5 (9 분포)

  1. Exp memoryless 유일.
  2. Weibull AFT∩PH 유일.
  3. Gompertz 인구 mortality 정전.
  4. Generalized gamma → super-family.
  5. Frailty mixture (Ex 2.14) → 단순 분포.

§ 2.6 (회귀)

  1. AFT \(S(x \mid Z) = S_0[x e^{-\gamma'Z}]\).
  2. PH \(h = h_0 c(\beta'z)\), Cox \(c=\exp\).
  3. PO 는 log-logistic 유일 (Ex 2.16).

§ 2.7 (competing risks)

  1. Cause-specific \(h_i\) 직접 추정.
  2. CIF \(F_i = \int h_i e^{-H_T}\).
  3. 1 - KM ≠ CIF (Ex 2.20).

Ex 2.8 통합

  1. 20 문제 모두 분포 식별 + 식 적용 + 해석 의 3 단계.

9 관련 주제

Klein 시리즈

Ch.1 시리즈 — 연습문제 데이터의 임상 맥락

관련 개념 (cross-category)

10 참고문헌

  • Klein, J. P., & Moeschberger, M. L. (2003). Survival Analysis: Techniques for Censored and Truncated Data (2nd ed.), Ch.2 § 2.8 Exercises 2.1~2.20, pp. 57-61. Springer.
  • Beyer, W. H. (1968). CRC Handbook of Tables for Probability and Statistics. CRC Press. (gamma function table)
  • Cutler, S. J., & Ederer, F. (1958). Maximum utilization of the life table method in analyzing survival. Journal of Chronic Diseases, 8(6), 699-712. (Ex 2.10 actuarial)
  • Vaupel, J. W., Manton, K. G., & Stallard, E. (1979). The impact of heterogeneity in individual frailty on the dynamics of mortality. Demography, 16(3), 439-454. (Ex 2.14 frailty)
  • Bennett, S. (1983). Analysis of survival data by the proportional odds model. Statistics in Medicine, 2(2), 273-277. (Ex 2.16 PO)
  • Cox, D. R., & Oakes, D. (1984). Analysis of Survival Data. Chapman & Hall.
  • Lawless, J. F. (2003). Statistical Models and Methods for Lifetime Data, 2nd ed. Wiley.
  • Kalbfleisch, J. D., & Prentice, R. L. (2002). The Statistical Analysis of Failure Time Data, 2nd ed. Wiley.

Subscribe

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