1 들어가며 — Ch.5 시리즈의 마무리
| 편 | 주제 |
|---|---|
| Ch.5 Overview | 5 sampling scheme 조망 |
| § 5.1~5.2 | Left·Double·Interval Censoring · Turnbull NPMLE |
| § 5.3~5.4 | Right Truncation + Cohort Life Table |
| § 5.5 (본 편) | 10 Exercises 풀이 + Ch.5 마무리 |
“Ch.5 의 10 exercises 는 § 5.1~5.4 의 모든 도구를 다양한 데이터에 통합 적용 — Turnbull 1974 (double cens 2 문제) + Turnbull 1976 (interval cens 2 문제) + time reversal (right trunc 2 문제) + cohort life table (grouped data 2 문제) + 특수 mixed (left cens 2 문제). 각 문제의 핵심은 (a) sampling scheme 정확 식별 → (b) 도구 선택 → (c) 위험집합 정의 → (d) 알고리즘 진행.”
2 10 문제 분류표
| Ex | 데이터 | Sampling Scheme | 도구 | n |
|---|---|---|---|---|
| 5.1 | 의대생 흡연 시작 나이 | Double cens (left + right + exact) | Turnbull 1974 | 190 |
| 5.2 | 수의사 첫 needlestick injury | Double cens | Turnbull 1974 | 100 |
| 5.3 | Nursing home 첫 낙상 | Mixed interval + right cens | Turnbull 1976 | 18 |
| 5.4 | Lumpectomy metastasis | Pure interval cens | Turnbull 1976 | 20 |
| 5.5 | STD incubation | Right truncation (\(\tau = 42\)) | Time reversal → 좌절단 | 25 |
| 5.6 | AIDS adults Lagakos 1988 | Right truncation (\(\tau = 8\) yr) | Time reversal → 좌절단 | 258 |
| 5.7 | Framingham CHD 1571 men | Grouped data | Cohort life table | 1571 |
| 5.8 | HIV STD clinic | Grouped data | Cohort life table | 100 |
| 5.9 | DMBA rat tumors | Mixed left cens + exact | Time reversal | 13 |
| 5.10 | Baboon descent time | Pure left cens (Wagner-Altmann 1973) | Time reversal | 100+ |
3 Group 1 — Double Censoring (Turnbull 1974)
3.1 Ex 5.1 — 의대생 흡연 시작 나이 (190 명)
190 명 first-year medical students 에게 “처음 담배 피운 나이” 질문. 응답:
- 정확한 나이 (\(d_i\)): 43 명 (14~26 세).
- “이미 피웠지만 정확한 나이 모름” (\(c_i\) — left cens): 20 명 (19~23 세).
- “한 번도 안 피움” (\(r_i\) — right cens, 현재 나이까지): 127 명 (19~26 세).
총 = 43 + 20 + 127 = 190.
Step 1: Grid \(t_i\) = 14, 15, …, 26.
Step 2: 각 시점에 \(d_i\), \(c_i\), \(r_i\) 분류.
Step 3: § 5.1~5.2 deep-dive 의 알고리즘 적용:
- Step 0: left cens 무시한 KM 으로 \(S_0\) 초기값.
- Step 1: \(\widehat{p}_{lj} = [S_K(t_{j-1}) - S_K(t_j)] / [1 - S_K(t_l)]\) 계산.
- Step 2: \(\widehat{d}_i = d_i + \sum_{l \geq i} c_l \cdot \widehat{p}_{li}\).
- Step 3: 새 KM.
- 반복하여 \(|\Delta S| < 0.001\) 까지.
예상 결과: 17~18 세에 흡연 시작이 가장 흔함 (\(S\) 의 큰 점프). 25 세 이후는 거의 0.
R interval 패키지 또는 Python 직접 구현 (§ 5.1~5.2 deep-dive 의 코드).
3.2 Ex 5.2 — 수의사 첫 Needlestick Injury (100 명)
100 명 수의사에게 “졸업 후 첫 needlestick injury 까지 시간 (개월)” 질문:
- 정확 (\(d\)): 27 명.
- Left cens (현재 시점 이전이지만 정확히 모름): 32 명.
- Right cens (아직 injury 없음): 41 명.
Grid: 2, 4, 8, 10, 12, 15, 20, 24, 28, 34, 41, 62, 69, 75, 79, 86 개월.
Ex 5.1 과 동일 — Turnbull 1974 적용.
관찰 포인트:
- 12~15 개월 시점에 사건 발생 정점 (초기 임상 활동 시).
- 30 개월 이후 hazard 가 안정 (경험 축적).
- Left cens 32 명의 분배가 hazard 추정에 영향.
핵심 학습: double censoring 데이터의 Turnbull 적용은 left cens 무시한 결과보다 사건 발생률을 일반적으로 더 높게 추정 (left cens 가 정확한 사건이었음을 인정).
4 Group 2 — Interval Censoring (Turnbull 1976)
4.1 Ex 5.3 — Nursing Home 첫 낙상 (18 명)
- Interval observations (사건 발생 구간만 알려짐): (6, 12], (48, 60], (24, 36], (12, 24], (18, 24], (9, 12], (36, 42], (12, 36] — 8 명.
- Right censored (낙상 없음, 입소 후 시간): 23, 41, 13, 25, 59, 39, 22, 18, 49, 38 — 10 명.
총 18 명.
Step 1 — Grid 구성:
모든 endpoint 모음: \(\{6, 9, 12, 13, 18, 22, 23, 24, 25, 36, 38, 39, 41, 42, 48, 49, 59, 60\}\).
Step 2 — Indicator \(\alpha_{ij}\):
각 개체 \(i\) 의 사건 가능 grid intervals 표시.
예: 첫 개체 \((6, 12]\) → \((6, 9], (9, 12]\) 두 grid intervals 만 \(\alpha = 1\).
Right censored 처리: \(T_i = 23\) 명은 \((23, \infty)\) 와 같은 형태로 처리.
Step 3·4 — NPMLE 반복:
§ 5.1~5.2 deep-dive 의 4-step 알고리즘:
- \(p_j = S(\tau_{j-1}) - S(\tau_j)\).
- \(d_j = \sum_i \alpha_{ij} p_j / \sum_k \alpha_{ik} p_k\).
- \(Y_j = \sum_{k \geq j} d_k\).
- KM 갱신.
예상 결과: 12~24 개월 구간에 mass 집중. 60 개월 이후는 거의 0.
R icenReg::ic_np 또는 Python 직접 구현.
4.2 Ex 5.4 — Lumpectomy Metastasis (20 명)
20 명 모두 정기 검진 (4-6 개월) 으로 metastasis 검출:
- Interval observations (10 명): (12, 18], (20, 24], (10, 13], (14, 15], (25, 33], (33, 44], (18, 22], (19, 25], (13, 22], (11, 15].
- Right censored (10 명, end of study): 25, 27, 33, 36, 30, 29, 35, 44, 44, 44.
→ 모든 사건이 interval 형태 (정확 시점 없음). Turnbull 1976 의 정전 사례.
Ex 5.3 와 동일한 Turnbull 1976 알고리즘.
관찰 포인트:
- Grid 가 더 많은 endpoint 포함 (모든 \(L_i, R_i\) + censored \(T_i\)).
- 12~25 개월 mass 집중.
- 35 개월 이후 추가 사건 거의 없음.
핵심 학습: interval censoring 의 NPMLE 는 grid 의 모든 endpoint 에서 점프 가능. 결과는 step function 이지만 점프 위치가 KM 보다 많음.
5 Group 3 — Right Truncation (Time Reversal)
5.1 Ex 5.5 — STD Incubation Time (25 명)
25 명 STD 환자, 1996-06-01 시점에 진단:
- 모든 환자가 1993-01 이후 첫 sexual partner 와 sexual 활동 → \(\tau = 42\) 개월 (1996-06 까지의 윈도우).
- 표본 조건: 1996-06 까지 STD 진단 받은 사람만 (right truncated).
데이터 표 25 행: encounter 시점 \(T_i\) + induction time \(X_i\).
Step 1 — 변환: \(R_i = 42 - X_i\).
Step 2 — 좌절단 framework 환원:
- 새 시간 \(R_i\) 의 entry \(L_i^* = 42 - T_i\).
- 위험집합 \(Y_i\) = “\(R_i\) 직전 risk 인 사람” = “induction time > \(X_i\) 이면서 encounter time ≤ \(42 - X_i\) 인 사람”.
Step 3 — KM 적용: 식 4.6.1 의 좌절단 KM.
예상 결과: \(\widehat{P}(X < x \mid X \leq 42)\) 의 추정.
비교 기준: \(X = 6\) 개월 → 어느 정도? \(X = 15\) 개월 → 50% 도달?
→ Klein § 1.19 AIDS 와 같은 구조 — 짧은 잠복기가 over-sample.
5.2 Ex 5.6 — AIDS Adults Lagakos 1988 (258 명)
Klein § 1.19 의 AIDS Lagakos 1988 데이터의 adults 258 명 part. (Klein Example 5.3 은 children 37 명 만 다룸.)
\(\tau = 8\) years (1978-04 ~ 1986-06).
Ex 5.5 와 동일 — Time reversal + 좌절단 KM.
예상 결과 (Klein Figure 5.2 에서 보고됨):
- Adults 잠복기 분포가 children 보다 길게 나타남.
- 8 년 시점 약 50% 가 induction (children 은 6 년 시점에 50%).
- Adults 평균 약 8 년, children 약 5 년.
임상 함의: 면역 시스템 성숙도가 잠복기에 영향. Pediatric AIDS 의 빠른 진행 — public health 의 우선순위.
6 Group 4 — Cohort Life Table
6.1 Ex 5.7 — Framingham CHD (1571 men)
1571 명 disease-free men at age 40, 40 년 추적 (Klein-Keiding-Kreiner 1995):
| Age 구간 | \(d_j\) (CHD events) | \(W_j\) (lost) |
|---|---|---|
| 45-50 | 17 | 29 |
| 50-55 | 36 | 60 |
| 55-60 | 62 | 83 |
| 60-65 | 76 | 441 |
| 65-70 | 50 | 439 |
| 70-75 | 9 | 262 |
| 75-80 | 0 | 7 |
→ 전형적 cohort life table 데이터. 정확 사건 시점 없음.
Step 1 — \(Y'_j\) 계산:
- \(Y'_1 = 1571\) (40 세에서 시작 — disease free 가정으로 모두 risk).
- \(Y'_2 = Y'_1 - d_1 - W_1 = 1571 - 17 - 29 = 1525\).
- …
Step 2 — \(Y_j = Y'_j - W_j/2\) 계산 (식 5.4.4).
Step 3 — 식 5.4.1 의 KM 누적:
\[ \widehat{S}(50) = (1 - 17/Y_1) = (1 - 17/(1571 - 14.5)) = 0.989 \]
(여기서 \(Y_1 = 1571 - 29/2 = 1556.5\)).
Step 4 — 식 5.4.2·3 의 density 와 hazard.
Step 5 — Median CHD onset: 식 5.4.8 적용.
예상 결과: CHD hazard 가 60 세 이후 급증 (\(d_4 = 76\) 가 가장 높음). \(W_j\) 가 60-70 세 에 매우 큰 점은 study 종료에 의한 administrative censoring 때문.
6.2 Ex 5.8 — HIV STD Clinic (100 명)
100 명 STD-positive 가 1980 년 visit 시점에 HIV-negative. 이후 visit 으로 HIV 감염 시점 추적:
| Year 구간 | HIV+ | Lost |
|---|---|---|
| 0-2 | 2 | 3 |
| 2-4 | 1 | 2 |
| 4-6 | 4 | 8 |
| 6-8 | 3 | 10 |
| 8-10 | 2 | 18 |
| 10-12 | 2 | 21 |
| 12-14 | 3 | 21 |
Ex 5.7 와 동일.
\(Y'_j\) 계산:
- \(Y'_1 = 100\).
- \(Y'_2 = 100 - 2 - 3 = 95\).
- …
관찰:
- HIV 감염률 매우 낮음 (총 17 / 100 = 17% 감염).
- Lost 가 압도적 (총 83 / 100 = 83% censoring).
- → KM 의 추정이 매우 불확실 (작은 위험집합 + 적은 사건).
핵심 학습: high-risk population 도 HIV 감염은 드물다. Public health 의 행동 변화 캠페인의 효과 가능성.
7 Group 5 — Special Mixed
7.1 Ex 5.9 — DMBA Rat Tumors (13 마리)
13 마리 rat 에 7 weeks old 시점에 DMBA (5 mg) 투여. 6 주 후부터 매일 검사:
- 3 마리: day 62 (첫 검사일) 에 이미 tumor 있음 — left censored at day 62.
- 10 마리 (exact event): day 46, 49, 54, 61, 62, 64, 68, 120, 150, 160.
→ 첫 검사 이전 (\(t < 62\)) 에 tumor 발생한 3 마리는 정확 시점 모름.
Approach 1 — Time Reversal:
- $= $ 큰 값 (예: 200) 잡고 \(T^*_i = \tau - T_i\).
- Left cens (3 마리 at day 62) → right cens at \(\tau - 62\).
- Exact (10 마리) → exact at \(\tau - X_i\).
- 변환된 데이터에 KM.
- 역변환으로 원래 시간의 분포.
Approach 2 — Turnbull 1974:
Grid: 0, 46, 49, 54, 61, 62, 64, 68, 120, 150, 160.
- \(d_i\): 정확 사건 (10 마리 분배).
- \(c_i\): left cens (day 62 의 3 마리).
- \(r_i\): 0.
- Turnbull 1974 알고리즘 적용.
→ 두 방법 모두 동일한 결과 (Turnbull 1974 가 더 직접적).
7.2 Ex 5.10 — Wagner-Altmann 1973 Baboon Descent (Pure Left Cens)
Amboseli Reserve, Kenya 의 baboon troop:
- “Half of the troop descended from trees” 시점 관측.
- Exact: 관찰자가 일찍 도착 → 시점 정확 기록 (예: 0656 = 06:56 AM).
- Left censored: 관찰자가 늦게 도착 → “이미 descend 했음, 정확 시점 모름” — 도착 시점 이전 어딘가.
데이터 100 일 가량.
핵심 변환 (Wagner-Altmann 권장):
- \(\tau\) = 자정 다음 날 (즉 24:00 = 1440 분).
- 각 시점을 분 단위 변환: 0656 = 6×60 + 56 = 416 분.
- \(T^*_i = 1440 - T_i\) (자정으로부터 거꾸로).
왜 자정 변환: descent 시점이 새벽 6~9 AM 에 분포. 자정 (24:00) 에서 거꾸로 보면 약 15~18 시간 후. 큰 양수.
- Original left cens → 새 시간에서 right cens.
- Original exact → 새 시간에서 exact.
→ 변환된 데이터에 § 4.2 KM 적용 → \(\widehat{P}(\tau - X > t)\) 추정 → 원래 시간으로 역변환.
예상 결과: descent time 의 median 약 0830 (median 의 의미: 절반의 troop 이 0830 이전에 descend).
→ Pure left censoring 의 표준 처리 (Ware-DeMets 1976 의 적용).
8 Ch.5 시리즈 통합 7 가지 교훈
Time reversal trick 의 universality — Pure left cens (§ 5.2.1, Ex 5.10) + right truncation (§ 5.3, Ex 5.5·5.6) + mixed left cens (Ex 5.9) 모두 시간축 뒤집기로 Ch.4 framework 에 환원.
Turnbull self-consistency 의 EM 일반화 — Double cens (Ex 5.1·5.2) 의 Turnbull 1974 + interval cens (Ex 5.3·5.4) 의 Turnbull 1976. § 4.2 Efron self-consistency 의 양방향 / 다중구간 일반화. EM 의 비모수 적용.
Cohort life table = lim KM (Thompson 1977) — Grouped data (Ex 5.7·5.8) 의 11 column 표가 본질적으로 KM 의 grouped 일반화. 구간 → 0 면 정확 KM.
위험집합 정의의 universality — \(Y_i\) 재정의 만으로 모든 sampling scheme 처리: Ch.4 의 \(\#\{T_j \geq t_i\}\), § 4.6 의 \(\#\{L_j < t_i \leq T_j\}\), § 5.3 의 \(\#\{T_j > X_i, X_j \leq \tau - X_i\}\), § 5.4 의 \(Y'_j - W_j/2\).
Grouped data 의 3 가정 명시 — Independent censoring + uniform within interval + constant hazard within interval. 실무 보고에 명시 필수 (Ex 5.7·5.8 의 결과 해석에 영향).
Time reversal 의 historical impact — AIDS 1980s 우측 절단 보정 (Ex 5.6) 의 임팩트 = “잠복기 5+ 년 과소 추정 → 정확 추정” 의 공중보건 의사결정 변화.
Ch.4 도구의 단순한 generalization 으로 모든 sampling scheme 처리 — Ch.5 는 Ch.4 의 본질적 framework 위에서 위험집합 정의 + likelihood + 알고리즘 만 변형. 비모수 추정의 통일된 framework.
9 Ch.6 예고 — 비모수 추정의 정교화
Ch.5 가 5 sampling scheme 의 표준 비모수 추정을 다뤘다면, Ch.6 은 그 위에 정교화:
- Kernel hazard smoothing: NA 점프의 kernel 평활 (Gaussian / Epanechnikov / biweight). bandwidth trade-off.
- Excess mortality: 일반 인구 mortality 와의 비교 — 상대 생존 (relative survival) \(S_r(t) = S(t)/S^*(t)\).
- Bayesian NPMLE: Dirichlet process prior 로 generalized 추정 — α → 0 에서 KM 으로 수렴.
→ Ch.4·5 의 hazard 추정이 거친 (jump function) 형태 → Ch.6 에서 평활 + 상대화 + 정보 통합.
10 응용 분야 (Ch.5 통합)
| 분야 | Sampling Scheme | 도구 |
|---|---|---|
| 청소년 행동 조사 (흡연·마약) | Double cens | Turnbull 1974 (Ex 5.1) |
| 의료 종사자 needlestick injury | Double cens | Turnbull 1974 (Ex 5.2) |
| 노인 낙상 추적 | Mixed interval + right cens | Turnbull 1976 (Ex 5.3) |
| 정기 검진 임상시험 | Pure interval | Turnbull 1976 (Ex 5.4) |
| 감염병 잠복기 (STD·AIDS) | Right truncation | Time reversal (Ex 5.5·5.6) |
| 인구통계 (Framingham) | Cohort life table | 식 5.4.1 (Ex 5.7) |
| HIV 코호트 추적 | Cohort life table | 식 5.4.1 (Ex 5.8) |
| 동물 실험 (DMBA carcinogen) | Mixed left + exact | Turnbull 1974 / time reversal (Ex 5.9) |
| 행동 생태학 (baboon descent) | Pure left cens | Time reversal (Ex 5.10) |
→ Ch.5 의 도구가 의학·역학·인구통계·행동생태·동물실험 모든 분야에 적용. 비모수 추정의 universal framework.
11 코드 예시 통합
11.1 R icenReg + Icens (Turnbull)
library(icenReg)
# Ex 5.4 lumpectomy metastasis
data <- data.frame(
L = c(12, 20, 10, 14, 25, 33, 18, 19, 13, 11,
25, 27, 33, 36, 30, 29, 35, 44, 44, 44),
R = c(18, 24, 13, 15, 33, 44, 22, 25, 22, 15,
Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf)
)
fit <- ic_np(cbind(L, R) ~ 1, data = data)
plot(fit, xlab = "Months", ylab = "Survival",
main = "Ex 5.4 — Pure Interval Censoring")11.2 R KMsurv (Cohort Life Table)
library(KMsurv)
# Ex 5.7 Framingham CHD 1571 men
intervals <- c(40, 45, 50, 55, 60, 65, 70, 75, 80)
events <- c(0, 17, 36, 62, 76, 50, 9, 0)
lost <- c(0, 29, 60, 83, 441, 439, 262, 7)
fit <- lifetab(tis = intervals,
ninit = 1571,
nlost = lost,
nevent = events)
print(fit)
# Median CHD onset
median_age <- 40 + ... # 식 5.4.8 적용11.3 Python (Right Truncation 직접)
import numpy as np
import pandas as pd
# Ex 5.6 AIDS adults Lagakos 1988
# (실제 데이터는 Klein Appendix D 또는 외부 다운로드)
def right_truncation_km(T, X, tau):
"""Time reversal R = tau - X 후 좌절단 KM"""
R = tau - X
L_star = tau - T
# 좌절단 + censored 0 의 KM
# Y_i = #{j : L_star_j < R_i ≤ R_j}
n = len(X)
unique_R = np.sort(np.unique(R))
S_cond = 1.0
results = []
for r in unique_R:
Y = np.sum((L_star < r) & (r <= R))
d = np.sum(R == r)
if Y > 0:
S_cond *= (1 - d / Y)
# 원래 시간으로: P(X < tau - r | X <= tau)
x_orig = tau - r
results.append((x_orig, S_cond, Y, d))
return results12 관련 주제
선행 지식
- Ch.5 Overview
- § 5.1~5.2 — Turnbull NPMLE
- § 5.3~5.4 — Right Truncation + Cohort Life Table
- Ch.4 시리즈 — KM·NA 의 표준 framework
후속 주제
- Ch.6 — Kernel Hazard Smoothing · Excess Mortality · Bayesian NPMLE
- Ch.7 — Log-rank · Wilcoxon · Tarone-Ware
- Ch.9 — Cox PH 의 다양한 sampling scheme 일반화
관련 개념
- 1980s AIDS 역학 (Brookmeyer-Liao 1990, Bacchetti 1990) — Ex 5.6 의 historical context
- 인구통계 cohort vs current life table (Chiang 1984)
- Wagner-Altmann (1973) baboon ethology — 비모수 통계의 행동생태 적용
- Ware-DeMets (1976) 의 pure left censoring 적용 사례