1 들어가며 — Ch.5 첫 번째 deep-dive
| 편 | 주제 |
|---|---|
| Ch.5 Overview | 5 sampling scheme 조망 |
| § 5.1~5.2 (본 편) | Left · Double · Interval Censoring 의 알고리즘과 손풀이 |
| § 5.3 (예정) | Right Truncation (time reversal) |
| § 5.4 (예정) | Cohort Life Table |
| § 5.5 (예정) | 10 Exercises 풀이 |
“Pure left censoring 은 시간축 뒤집기로 § 4.2 의 KM 에 환원되지만, 실제로는 left + right 혼합 (double censoring) 또는 interval censoring 이 흔하다. 두 경우 모두 closed-form 추정량 없이 — Turnbull 1974 의 4-step self-consistency (double) 와 Turnbull 1976 의 4-step NPMLE (interval) — 반복 알고리즘으로 해결한다. 두 알고리즘 모두 § 4.2 self-consistency (Efron 1967) 의 일반화 — left-censored 또는 interval 관측의 conditional expectation 으로 사건 수 d_i 를 채워 KM 을 반복 갱신. EM 알고리즘의 비모수 적용.”
2 § 5.1 — Introduction
2.1 Ch.4 framework 의 한계
Ch.4 의 KM·NA 는 다음 두 sampling scheme 만 직접 처리:
- 우측 censoring: \(T_i = \min(X_i, C_{r,i})\), \(\delta_i = I(X_i \leq C_{r,i})\).
- 좌절단: 표본 조건 \(X_i \geq L_i\) — entry 이후 사건만.
다른 sampling scheme (Ch.1.17~1.19 의 정전 사례) 은 위험집합 \(Y_i\) 의 정의나 likelihood 의 형태가 본질적으로 다름.
→ Ch.5 의 5 sampling scheme:
| Scheme | 정보 구조 | 처리 |
|---|---|---|
| Left censoring (§ 5.2.1) | 사건이 \(C_l\) 이전 발생만 알려짐 | Time reversal → 우측 |
| Double censoring (§ 5.2.2) | Left + right 혼합 + exact | Turnbull 1974 |
| Interval censoring (§ 5.2.3) | \((L_i, R_i]\) 내 사건 | Turnbull 1976 NPMLE |
| Right truncation (§ 5.3) | 시점 \(\tau\) 까지 사건 발생자만 | Time reversal → 좌절단 |
| Grouped data (§ 5.4) | 구간별 카운트만 | Cohort life table |
2.2 본 편의 범위
본 deep-dive 는 § 5.2 의 3 sampling scheme — pure left, double, interval censoring — 만 다룬다. § 5.3 (right truncation) 과 § 5.4 (life table) 은 다음 deep-dive 편.
3 § 5.2.1 — Pure Left Censoring (Time Reversal)
3.1 Left Censoring 의 본질
개체 \(i\) 에 대해:
- 정확히 관측: \(X_i\) 값 알려짐.
- Left censored: \(X_i \leq C_{l,i}\) 만 알려짐 (사건이 시점 \(C_{l,i}\) 이전 어딘가에 발생).
표본의 가능한 데이터: \(T_i = \max(X_i, C_{l,i})\) + \(\epsilon_i = I(X_i = T_i) \in \{0, 1\}\).
- \(\epsilon_i = 1\): 정확한 사건 시점.
- \(\epsilon_i = 0\): left censored.
Klein § 1.17 마리화나 (대표 예제): 고등학생에게 “마리화나 처음 사용 나이” 질문.
- 응답 1: “13 세에 처음 사용” → \(X_i = 13\) 정확히 알려짐.
- 응답 2: “이미 사용한 적 있음, 정확한 나이는 모름” → 현재 14 세라면 \(X_i \leq 14\) 만 알려짐 — left censored.
- 응답 3: “사용한 적 없음” → 인터뷰 시점까지 $X_i > $ 현재 나이 — right censored.
다른 사례:
- 영유아 발달 단계 (특정 기능 습득 시점, 부모가 처음 알아챘을 때).
- 특정 질환 (HIV 감염 시점) 의 retrospective 진단.
- 경제 행동 (실업, 결혼) 의 처음 발생 시점 회고 조사.
3.2 Time Reversal Trick
핵심 변환: 큰 시점 \(\tau\) (모든 관측 시점 이후) 잡고 새 시간 \(T^*_i = \tau - T_i\).
- 원래 정확 (\(X_i = T_i\), \(\epsilon_i = 1\)) → 새 시간 \(T^*_i = \tau - X_i\) 정확.
- 원래 left censored (\(T_i = C_{l,i} > X_i\), \(\epsilon_i = 0\)) → 새 시간 \(T^*_i = \tau - C_{l,i} < \tau - X_i\) — 즉 진짜 사건 시점 \(\tau - X_i\) 가 \(T^*_i\) 보다 큼 → right censored in 새 시간.
→ 변환된 데이터는 standard right-censored. § 4.2 의 KM·NA 그대로 적용 가능.
역변환: 변환된 KM \(\widehat{S}^*\) 가 추정한 양:
\[ \widehat{S}^*(t) = \widehat{P}(\tau - X > t) = \widehat{P}(X < \tau - t) \]
원래 시간으로 돌아가면:
\[ \widehat{P}(X \leq t) = 1 - \widehat{S}^*(\tau - t) \]
조건:
- \(\tau\) 가 모든 관측 시점 이후 (즉 \(\tau \geq \max T_i\)).
- Censoring 과 사건 시점의 독립 (Practical Note 1).
3.3 Pure Left Censoring 의 한계
Pure left censoring (모든 관측이 정확 또는 left censored) 은 매우 드뭄. 대부분 right censoring 이 함께 발생:
- 마리화나 인터뷰 → “사용한 적 없음” (right cens) 도 존재.
- HIV 감염 시점 → 정확히 알려지지 않은 사람들 (right cens) 도 존재.
→ 실제로는 double censoring (left + right + exact) 이 표준. Time reversal 만으로 처리 안 됨 → Turnbull 1974.
Ware-DeMets (1976) 가 pure left censoring 의 작동 사례. 그러나 일반적으로 § 5.2.2 의 Turnbull 사용.
4 § 5.2.2 — Double Censoring · Turnbull (1974) Self-Consistency
4.1 데이터 구조
사전 정의된 grid \(0 = t_0 < t_1 < t_2 < \cdots < t_m\) 에서 (사건 시점이 아닌 임의 격자):
- \(d_i\): 시점 \(t_i\) 에서의 정확한 사건 수.
- \(r_i\): 시점 \(t_i\) 에서의 right censoring 수 (이 시점에 study 종료).
- \(c_i\): 시점 \(t_i\) 에서의 left censoring 수 (“\(t_i\) 이전 어딘가에 사건 발생”).
→ \(d_i + r_i + c_i\) = 시점 \(t_i\) 까지 관측된 정보.
Right censoring 만 (Ch.4) 의 KM 은 식 4.2.1 의 explicit 곱.
Left + right + exact 가 혼합되면 closed form 없음. Turnbull 의 반복 알고리즘 필요.
이유: left-censored 관측 \(c_i\) 는 “\(t_i\) 이전 어딘가” 라는 정보뿐. 그 정확 시점이 어디인지 모르므로 KM 의 분자 \(d_j\) 에 어떻게 배분할지 결정 불가 → 반복 추정.
4.2 Turnbull 1974 알고리즘 4-step
Step 0 — 초기값:
Left censored 관측을 무시하고 KM 적용:
\[ S_0(t_j) = \prod_{i \leq j}\left(1 - \frac{d_i}{Y_i^{(0)}}\right), \quad Y_i^{(0)} = \sum_{k \geq i}(d_k + r_k) \]
Step (K+1)-1 — Conditional 확률 계산:
각 left-censored 시점 \(t_l\) (\(c_l > 0\)) 에 대해, 진짜 사건이 \(t_j\) (\(j \leq l\)) 에서 발생했을 조건부 확률:
\[ \widehat{p}_{lj} = \frac{S_K(t_{j-1}) - S_K(t_j)}{1 - S_K(t_l)}, \quad j \leq l \]
(분자: \((t_{j-1}, t_j]\) 에서 사건 발생 확률. 분모: \(t_l\) 까지 사건 발생 확률 — left censored 가 표본에 포함된 조건).
Step (K+1)-2 — 사건 수 채우기:
\[ \widehat{d}_i = d_i + \sum_{l \geq i} c_l \cdot \widehat{p}_{li} \]
(원래 정확한 \(d_i\) 에, 시점 \(t_l \geq t_i\) 의 left-censored \(c_l\) 명 중 진짜 \(t_i\) 사건일 것의 기댓값을 더함).
Step (K+1)-3 — KM 갱신:
\[ S_{K+1}(t_j) = \prod_{i \leq j}\left(1 - \frac{\widehat{d}_i}{Y_i}\right), \quad Y_i = \sum_{k \geq i}(\widehat{d}_k + r_k) \]
수렴 조건 (\(\max |S_{K+1} - S_K| < \epsilon\), 보통 \(\epsilon = 10^{-3}\) 또는 \(10^{-7}\)) 까지 1~3 반복.
§ 4.2 Theoretical Note 3 의 self-consistency (Efron 1967):
“추정량 \(\widehat{S}\) 가 자기 자신을 일관되게 사용 — fixed point 방정식의 해”.
Turnbull 1974 는 같은 아이디어의 양방향 일반화:
- Left-censored 관측의 진짜 사건 시점을 직접 모름.
- 현재 추정 \(S_K\) 로 그 분포를 계산 (\(\widehat{p}_{lj}\)).
- 이 분포로 사건 수 \(\widehat{d}_i\) 채움.
- 갱신된 데이터로 새 KM.
- 반복하여 수렴 = fixed point.
EM 알고리즘과의 관계:
- E-step: \(\widehat{p}_{lj}\) 계산 (missing event time 의 conditional expectation).
- M-step: 갱신된 \(\widehat{d}_i\) 로 KM 최대화.
- 반복하여 NPMLE 수렴.
→ Turnbull 1974 는 EM (Dempster-Laird-Rubin 1977) 보다 먼저 나온, 비모수 설정의 EM 사례.
4.3 Klein Example 5.1 — Marijuana 191 명 손풀이
California 고등학생 191 명의 마리화나 첫 사용 나이.
| \(i\) | \(t_i\) (세) | \(c_i\) (left) | \(d_i\) (정확) | \(r_i\) (right) | \(Y_i^{(0)}\) | \(S_0(t_i)\) |
|---|---|---|---|---|---|---|
| 1 | 10 | 0 | 4 | 0 | 179 | 0.978 |
| 2 | 11 | 0 | 12 | 0 | 175 | 0.911 |
| 3 | 12 | 0 | 19 | 2 | 163 | 0.804 |
| 4 | 13 | 1 | 24 | 15 | 142 | 0.669 |
| 5 | 14 | 2 | 20 | 24 | 103 | 0.539 |
| 6 | 15 | 3 | 13 | 18 | 59 | 0.420 |
| 7 | 16 | 2 | 3 | 14 | 28 | 0.375 |
| 8 | 17 | 3 | 1 | 6 | 11 | 0.341 |
| 9 | 18 | 1 | 0 | 0 | 4 | 0.341 |
| 10 | >18 | 0 | 4 | 0 | 4 | 0.000 |
| 합계 | 12 | 100 | 79 |
→ 191 명 = 100 정확 + 79 right + 12 left.
Left-censored 관측이 있는 \(t_l\) (\(l = 4, 5, 6, 7, 8, 9\)) 에 대해 \(\widehat{p}_{lj}\) 계산.
예: \(t_4 = 13\) 의 left-censored 1 명:
\[ p_{41} = \frac{1.000 - 0.978}{1 - 0.669} = \frac{0.022}{0.331} = 0.067 \]
\[ p_{42} = \frac{0.978 - 0.911}{0.331} = 0.202 \]
\[ p_{43} = \frac{0.911 - 0.804}{0.331} = 0.320 \]
\[ p_{44} = \frac{0.804 - 0.669}{0.331} = 0.410 \]
검증: \(\sum_{j=1}^4 p_{4j} = 0.067 + 0.202 + 0.320 + 0.410 = 0.999 \approx 1\) ✓.
해석: \(t_4 = 13\) 에서 “이미 사용했다” 응답한 1 명에 대해, 실제 첫 사용 나이가:
- 10 세 이하: 6.7%.
- 11 세: 20.2%.
- 12 세: 32.0%.
- 13 세 직전: 41.0%.
→ 후반부일 확률이 더 높음 (자연스러운 패턴 — 13 세에 가까운 나이에 시작했을 가능성).
각 시점에서 정확한 \(d_i\) 에 left-censored 의 분배 기여를 합산.
\(t_1 = 10\):
\[ \widehat{d}_1 = 4 + 0.067 \cdot 1 + 0.048 \cdot 2 + 0.039 \cdot 3 + 0.036 \cdot 2 + 0.034 \cdot 3 + 0.034 \cdot 1 \]
\[ = 4 + 0.067 + 0.096 + 0.117 + 0.072 + 0.102 + 0.034 = 4.487 \]
\(t_2 = 11\): \(\widehat{d}_2 = 13.461\). \(t_3 = 12\): \(\widehat{d}_3 = 21.313\). \(t_4 = 13\): \(\widehat{d}_4 = 26.963\). \(t_5 = 14\): \(\widehat{d}_5 = 22.437\). \(t_6 = 15\): \(\widehat{d}_6 = 14.714\). \(t_7 = 16\): \(\widehat{d}_7 = 3.417\). \(t_8 = 17\): \(\widehat{d}_8 = 1.207\). \(t_9 = 18\): \(\widehat{d}_9 = 0\). \(t_{10}\) >18: \(\widehat{d}_{10} = 4\).
검증: \(\sum \widehat{d}_i = 100 + 12 = 112\) (정확 100 + left 12 모두 어딘가에 분배) — 부분적 검증.
\(\widehat{d}_i\) 와 \(r_i\) 로 KM 재계산:
| \(t_i\) | \(\widehat{d}_i\) | \(r_i\) | \(Y_i\) | \(S_1(t_i)\) |
|---|---|---|---|---|
| 10 | 4.487 | 0 | 191.000 | 0.977 |
| 11 | 13.461 | 0 | 186.513 | 0.906 |
| 12 | 21.313 | 2 | 173.052 | 0.794 |
| 13 | 26.963 | 15 | 149.739 | 0.651 |
| 14 | 22.437 | 24 | 107.775 | 0.516 |
| 15 | 14.714 | 18 | 61.338 | 0.392 |
| 16 | 3.417 | 14 | 28.624 | 0.345 |
| 17 | 1.207 | 6 | 11.207 | 0.308 |
| 18 | 0.000 | 0 | 4.000 | 0.308 |
| >18 | 4.000 | 0 | 4.000 | 0.000 |
Step 4 — 수렴 검증:
이 \(S_1\) 으로 \(p_{ij}\) 재계산 → \(\widehat{d}_i\) 재계산 → \(S_2\) 계산. Klein 의 보고:
“\(|S_2 - S_1| < 0.001\) for all \(t_i\), so the iterative process stops.”
→ 단 2 회 반복 으로 수렴. 작은 문제이므로 빠름.
임상 함의:
- 13~14 세에 가장 큰 점프 (\(S\) 가 0.65 → 0.39): 마리화나 첫 사용이 이 연령대 집중.
- Initial \(S_0\) (left cens 무시) 와 \(S_1\) 의 차이: 13 세 0.669 → 0.651 (3% 작아짐) — left cens 보정으로 발생률 약간 증가.
4.4 Turnbull 분산 — J 행렬의 inverse
Tridiagonal symmetric matrix \(\mathbf{J}\):
\[ A_{ii} = \frac{d_i}{[\widehat{S}(t_{i-1}) - \widehat{S}(t_i)]^2} + \frac{d_{i+1}}{[\widehat{S}(t_i) - \widehat{S}(t_{i+1})]^2} + \frac{r_i}{\widehat{S}(t_i)^2} + \frac{c_i}{[1 - \widehat{S}(t_i)]^2} \]
\[ A_{i,i+1} = A_{i+1,i} = -\frac{d_{i+1}}{[\widehat{S}(t_i) - \widehat{S}(t_{i+1})]^2} \]
\(|i - j| \geq 2\) 면 \(A_{ij} = 0\).
분산 행렬: \(\mathbf{V} = \mathbf{J}^{-1}\).
\(A_{ii}\) 의 각 항이 \(\widehat{S}(t_i)\) 의 정밀도에 기여:
| 항 | 의미 |
|---|---|
| \(d_i / [S(t_{i-1}) - S(t_i)]^2\) | \(t_i\) 의 정확 사건이 \(S\) jump 추정에 기여 |
| \(d_{i+1} / [S(t_i) - S(t_{i+1})]^2\) | \(t_{i+1}\) 의 정확 사건이 다음 jump 에 기여 |
| \(r_i / S(t_i)^2\) | \(t_i\) right cens 가 \(S(t_i)\) 의 분모 정밀도 |
| \(c_i / [1 - S(t_i)]^2\) | \(t_i\) left cens 가 \(1 - S(t_i)\) 의 분자 정밀도 |
→ 모든 정보 source (정확 + left + right) 가 합산된 Fisher information 의 비모수 일반화.
Tridiagonal 구조: \(|i - j| \geq 2\) 의 \(A_{ij} = 0\) → 인접 시점만 직접 정보 공유. 멀리 떨어진 시점의 covariance 는 chain 을 통해 (행렬 inverse 로) 계산.
5 § 5.2.3 — Interval Censoring · Turnbull (1976) NPMLE
5.1 데이터 구조
각 개체 \(i\) 에 대해 사건 시점 \(X_i\) 가 구간 \((L_i, R_i]\) 내에 있음만 알려짐. Exact·left·right censoring 의 super-class.
특수 사례:
- Exact: \(L_i = R_i^-\) (degenerate interval).
- Left: \((0, R_i]\).
- Right: \((L_i, \infty)\).
- Interval (proper): \((L_i, R_i]\) with \(0 < L_i < R_i < \infty\).
Klein § 1.18 breast cancer: 4-6 개월 visit schedule.
- 시점 \(t_1 = 6\) 개월 검진: cosmetic 양호.
- 시점 \(t_2 = 12\) 개월 검진: 악화 발견.
- → 사건 발생이 \((6, 12]\) 사이 어딘가 — interval censored.
다른 예제:
- 동물 종양 발생 (사후 부검만 검출).
- HIV serological window (감염은 일정 기간 후에만 검출).
- 학교 검진 (척추 측만증 발생 시점).
→ “정기 검진이 있는 어디서나 interval censoring”.
5.2 Grid 와 Indicator \(\alpha_{ij}\)
Grid: 모든 \(L_i, R_i\) (\(i = 1, \ldots, n\)) 를 모은 후 정렬:
\[ 0 = \tau_0 < \tau_1 < \cdots < \tau_m \]
Indicator \(\alpha_{ij}\):
\[ \alpha_{ij} = \begin{cases} 1 & \text{if } (\tau_{j-1}, \tau_j] \subseteq (L_i, R_i] \\ 0 & \text{otherwise} \end{cases} \]
즉 “개체 \(i\) 의 사건이 grid interval \((\tau_{j-1}, \tau_j]\) 에서 발생할 가능성이 있는가”.
각 개체 \(i\) 의 사건 발생 가능성을 grid interval 들에 0/1 indicator 로 표시.
예: 개체 \(i\) 의 관측 \((L_i, R_i] = (5, 10]\), grid \(\tau = \{0, 3, 5, 7, 10, 15\}\).
- \((\tau_0, \tau_1] = (0, 3]\): \(\alpha_{i1} = 0\) (구간 5-10 밖).
- \((\tau_1, \tau_2] = (3, 5]\): \(\alpha_{i2} = 0\).
- \((\tau_2, \tau_3] = (5, 7]\): \(\alpha_{i3} = 1\) (구간 5-10 안).
- \((\tau_3, \tau_4] = (7, 10]\): \(\alpha_{i4} = 1\).
- \((\tau_4, \tau_5] = (10, 15]\): \(\alpha_{i5} = 0\).
→ 개체 \(i\) 의 사건은 \((5, 7]\) 또는 \((7, 10]\) 에서 발생 가능. 정확히 어디인지는 데이터로부터 추정.
5.3 Turnbull 1976 알고리즘 4-step
초기값: 각 개체 \(i\) 의 mass \(1/n\) 을 \(\alpha_{ij} = 1\) 인 모든 grid interval 에 균등 분배.
예: 개체 \(i\) 가 \((5, 10]\) 관측, 그 안에 2 grid intervals → 각 \(1/(2n)\) 씩.
Step 1 — Probability mass \(p_j\):
\[ p_j = S(\tau_{j-1}) - S(\tau_j), \quad j = 1, \ldots, m \]
(grid interval \((\tau_{j-1}, \tau_j]\) 에서의 사건 발생 확률).
Step 2 — 사건 수 \(d_j\):
\[ d_j = \sum_{i=1}^n \frac{\alpha_{ij} p_j}{\sum_{k} \alpha_{ik} p_k} \]
(개체 \(i\) 의 mass 를 가능 grid interval 들에 비례 분배 → 각 interval 의 총 사건 수 합산).
분모 \(\sum_k \alpha_{ik} p_k\): 개체 \(i\) 의 가능 시점들의 총 mass.
Step 3 — 위험집합 \(Y_j\):
\[ Y_j = \sum_{k \geq j} d_k \]
(grid interval \(j\) 부터의 모든 사건 수 합 = \(j\) 시점에 위험인 사람 수).
Step 4 — KM 갱신:
\[ S_{\text{new}}(\tau_j) = \prod_{i \leq j}\left(1 - \frac{d_i}{Y_i}\right) \]
수렴 검증: \(\max |S_{\text{new}} - S_{\text{old}}| < \epsilon\) (\(10^{-7}\) 권장). 미수렴 시 1~3 반복.
| 측면 | Turnbull 1974 (double) | Turnbull 1976 (interval) |
|---|---|---|
| 데이터 | \(d_i, r_i, c_i\) — exact + left + right | \((L_i, R_i]\) — interval |
| Grid | 사건 시점 | 모든 endpoint |
| Indicator | \(p_{lj}\) (조건부 확률) | \(\alpha_{ij}\) (0/1) |
| 분배 대상 | left cens \(c_l\) | 모든 개체 (mass \(1/n\)) |
| 수렴 속도 | 빠름 (10 회 이내) | 느림 (수백 회 가능) |
왜 1976 이 더 일반적: interval censoring 이 left·right censoring 을 모두 포함 (super-class). 따라서 1976 알고리즘은 1974 의 일반화. 그러나 double censored 데이터는 1974 가 더 효율적 (사건 형태 정보 활용).
5.4 Klein Example 5.2 — Breast Cancer 46 명 손풀이
94 명 breast cancer 의 cosmetic deterioration 시점:
- Radiation only 46 명.
- Radiation + chemotherapy 48 명.
4-6 개월 visit schedule → 모든 관측이 interval censored.
본 풀이는 Radiation only 46 명 만 다룸.
초기값: 각 개체에 mass \(1/46\) 분배.
예: 관측 \((0, 7]\) 인 개체 1 명. Grid 의 \((0, 4], (4, 5], (5, 6], (6, 7]\) 4 intervals 에 각각 \(1/(46 \times 4)\) 분배.
\(\tau = 4\) 의 첫 \(d_1\) 계산:
\[ d_1 = \sum_i \frac{\alpha_{i1} \cdot 0.021}{\sum_k \alpha_{ik} p_k} \]
위 계산 (Klein 본문 6 명 case):
- 첫 개체 \((0, 7]\): 분모 \(= 0.021 + 0.024 + 0.021 + 0.029 = 0.095\) (4 intervals 의 mass 합), 기여 \(= 0.021/0.095 = 0.221\).
- (다른 5 개체 유사 계산)
- 합 \(d_1 = 0.842\) (Klein Table 5.4).
| \(\tau\) | 초기 \(S\) | \(d\) | \(Y\) | 갱신 \(S\) | 변화 |
|---|---|---|---|---|---|
| 0 | 1.000 | 0.000 | 46.000 | 1.000 | 0.000 |
| 4 | 0.979 | 0.842 | 46.000 | 0.982 | -0.002 |
| 5 | 0.955 | 1.151 | 45.158 | 0.957 | -0.002 |
| 6 | 0.934 | 0.852 | 44.007 | 0.938 | -0.005 |
| 7 | 0.905 | 1.475 | 43.156 | 0.906 | -0.001 |
| 8 | 0.874 | 1.742 | 41.680 | 0.868 | 0.006 |
| 10 | 0.848 | 1.286 | 39.938 | 0.840 | 0.008 |
| 11 | 0.829 | 0.709 | 38.653 | 0.825 | 0.004 |
| 12 | 0.807 | 1.171 | 37.944 | 0.799 | 0.008 |
| 14 | 0.789 | 0.854 | 36.773 | 0.781 | 0.008 |
| 16 | 0.767 | 0.162 | 35.388 | 0.766 | 0.001 |
| 22 | 0.713 | 0.775 | 34.045 | 0.723 | -0.011 |
| 32 | 0.615 | 0.817 | 30.510 | 0.646 | -0.031 |
| 38 | 0.439 | 1.997 | 25.524 | 0.512 | -0.073 |
| 44 | 0.328 | 2.358 | 21.233 | 0.410 | -0.082 |
| 46 | 0.229 | 1.850 | 17.545 | 0.341 | -0.112 |
| 48 | 0.000 | 15.695 | 15.695 | 0.000 | 0.000 |
관찰: 첫 반복 후 \(|\Delta S|\) 최대 0.112 — 큼. 더 많은 반복 필요.
Klein 본문 보고:
“this revised estimate is then used to re-estimate the number of deaths, and the process continues until the maximum change in the estimate is less than \(10^{-7}\). This requires, in this case, 305 iterations of the process.”
→ 305 회 반복 후 수렴. Marijuana 의 2 회 와 큰 차이. Interval censoring 이 double censoring 보다 정보가 적어 수렴 느림.
Klein 본문의 최종 KM (interval-summarized):
| 구간 (개월) | \(\widehat{S}\) |
|---|---|
| 0-4 | 1.000 |
| 5-6 | 0.954 |
| 7 | 0.920 |
| 8-11 | 0.832 |
| 12-24 | 0.761 |
| 25-33 | 0.668 |
| 34-38 | 0.586 |
| 40-48 | 0.467 |
| ≥48 | 0.000 |
임상 해석:
- 첫 4 개월: 100% (모두 양호).
- 1 년: 81% (약 19% 가 cosmetic 악화).
- 2 년: 67% (33% 악화).
- 4 년: 47% (53% 악화).
Klein Figure 5.1 의 두 군 비교: Radiation + chemotherapy 군이 모든 시점에서 더 빨리 악화. → chemotherapy 추가는 cosmetic 부작용 가속.
6 Practical Notes
Pure left censoring (Time reversal) 의 KM 이 정당하려면:
\[ P(X = x \mid X \leq C_l) = P(X = x) \]
즉 censoring 시점이 진짜 사건 시점과 독립.
위반 사례: 마리화나 사용 시점이 빠른 학생일수록 (위험 행동 패턴) 인터뷰에서 left-censoring 응답할 가능성 높음 → independence 위반.
검증: 외부 정보로 censoring 발생률을 사건 시점과 비교. 어려우면 sensitivity analysis.
Turnbull 알고리즘은 작은 \(Y_i\) 에서 불안정. § 4.6 의 Lai-Ying 1991 정규화를 적용 가능:
\[ \widetilde{S}(t) = \prod_{t_i \leq t}\left\{1 - \frac{\widehat{d}_i}{Y_i} \cdot I[Y_i \geq c n^\alpha]\right\} \]
→ 작은 위험집합 시점의 jump 무시. finite sample 안정.
7 Theoretical Notes
Kiefer-Wolfowitz (1956): mixture model 의 NPMLE 가 mixing distribution 의 discrete 형태로 존재.
Turnbull (1976) 의 interval censoring NPMLE 는 이 결과의 직접 적용:
- 사건 시점 \(X\) 의 분포가 mixing distribution.
- 관측 \((L_i, R_i]\) 가 censored mixture 관찰.
- NPMLE 는 grid 점들의 weighted sum 형태.
→ Turnbull 알고리즘은 EM 과 NPMLE 의 두 표준 도구의 융합. mixture model 의 비모수 추정 의 일반론적 적용.
8 응용 분야
| 분야 | Sampling Scheme | 도구 |
|---|---|---|
| 청소년 행동 조사 | Pure left or double | Time reversal / Turnbull 1974 |
| 정기 검진 임상시험 | Interval | Turnbull 1976 |
| 동물 종양 실험 | Interval (부검만) | Turnbull 1976 |
| HIV serological window | Interval (감염 검출 지연) | Turnbull 1976 |
| 척추 측만증 학교 검진 | Interval (학년별 검진) | Turnbull 1976 |
| 보험 dropout | Double | Turnbull 1974 |
| 발달 단계 (영유아) | Interval (부모 관찰) | Turnbull 1976 |
9 코드 예시
9.1 Step 1 — Turnbull 1974 직접 구현
import numpy as np
def turnbull_1974(d, r, c, max_iter=100, tol=1e-3):
"""
Turnbull (1974) self-consistency for double censoring.
d, r, c: 시점별 정확 사건, right cens, left cens 수.
"""
m = len(d)
# Step 0: left cens 무시한 KM 초기값
Y = np.array([sum(d[i:] + r[i:]) for i in range(m)])
S = np.cumprod(1 - d / Y)
for iteration in range(max_iter):
# Step 1: p_lj 계산 (left cens 가 있는 시점만)
d_hat = d.copy().astype(float)
S_prev = np.concatenate([[1.0], S[:-1]])
for l in range(m):
if c[l] == 0:
continue
# j ≤ l 까지의 p_lj
denom = 1 - S[l]
if denom <= 0:
continue
for j in range(l + 1):
p_lj = (S_prev[j] - S[j]) / denom
d_hat[j] += c[l] * p_lj
# Step 3: 새 Y, KM
Y_new = np.array([sum(d_hat[i:] + r[i:]) for i in range(m)])
S_new = np.cumprod(1 - d_hat / Y_new)
# 수렴 검증
if np.max(np.abs(S_new - S)) < tol:
print(f"Converged after {iteration + 1} iterations")
return S_new
S = S_new
print(f"Max iter {max_iter} reached")
return S
# Klein Example 5.1: marijuana 191 명
d = np.array([4, 12, 19, 24, 20, 13, 3, 1, 0, 4])
r = np.array([0, 0, 2, 15, 24, 18, 14, 6, 0, 0])
c = np.array([0, 0, 0, 1, 2, 3, 2, 3, 1, 0])
S_final = turnbull_1974(d, r, c)
print(S_final) # 약 [0.977, 0.906, 0.794, 0.651, 0.516, 0.392, 0.345, 0.308, 0.308, 0.000]9.2 Step 2 — R Icens 패키지 (Turnbull 1976)
library(Icens)
library(KMsurv)
# Klein Example 5.2 — breast cancer cosmetic deterioration
data(bcdeter)
# Radiation only 군
rad_only <- subset(bcdeter, treat == 1) # treat==1: radiation only
# Turnbull 1976 NPMLE — EMICM 알고리즘
fit <- EMICM(cbind(rad_only$lower, rad_only$upper))
plot(fit, type = "l", xlab = "Months", ylab = "Survival")
# 또는 icenReg 패키지 (더 모던)
library(icenReg)
fit2 <- ic_np(cbind(lower, upper) ~ treat, data = bcdeter)
plot(fit2)
summary(fit2)9.3 Step 3 — 두 군 비교 plot (Klein Figure 5.1)
library(icenReg)
library(KMsurv)
data(bcdeter)
# 두 군 NPMLE
fit <- ic_np(cbind(lower, upper) ~ treat, data = bcdeter)
plot(fit, col = c("blue", "red"),
xlab = "Months", ylab = "Cosmetic-deterioration-free Survival",
main = "Klein Figure 5.1 재현")
legend("bottomleft",
c("Radiation only", "Radiation + Chemo"),
col = c("blue", "red"), lty = 1)10 핵심 takeaway
Time reversal trick 으로 left censoring 환원 — pure left censoring 은 시간축 뒤집기로 right-censored framework 에 환원. § 4.2 KM 그대로 사용. 그러나 실제로는 left + right 혼합이 흔해 § 5.2.2 사용.
Turnbull 1974 self-consistency — Closed form 없는 double censoring 의 표준. Step 0 (left cens 무시 KM) → Step 1 (조건부 확률 \(p_{lj}\)) → Step 2 (사건 수 \(\widehat{d}_i\) 채움) → Step 3 (새 KM) → 반복. § 4.2 self-consistency 의 양방향 일반화.
Turnbull 1976 NPMLE — Interval censoring 의 표준. Grid + indicator \(\alpha_{ij}\) + step 1~4 반복. EM (Dempster-Laird-Rubin 1977) + NPMLE (Kiefer-Wolfowitz 1956) 의 융합.
수렴 속도가 sampling scheme 의 정보량 반영 — Marijuana double censoring 2 회 수렴 vs breast cancer interval censoring 305 회 수렴. Interval 이 더 적은 정보 → 더 많은 반복.
J 행렬 분산 — 모든 정보의 통합 — 4 항 (\(d_i, d_{i+1}, r_i, c_i\)) 합산 = Fisher information 의 비모수 일반화. Tridiagonal 구조로 인접 시점만 직접 정보 공유, 나머지는 chain rule 로 계산.
11 관련 주제
선행 지식
- Ch.5 Overview — 5 sampling scheme 조망
- § 4.1~4.2 — KM·NA + Self-Consistency Efron 1967
- § 3.3~3.4 — Censoring/Truncation 정밀 정의
- § 1.17~1.18 — Marijuana doubly censored · Breast Cancer interval censored
후속 주제
- § 5.3 — Right Truncation (time reversal 의 두 번째 응용)
- § 5.4 — Cohort Life Table (grouped data)
- § 5.5 — 10 Exercises 풀이
관련 개념
- EM 알고리즘 (Dempster-Laird-Rubin 1977) — Turnbull self-consistency 의 모수적 일반화
- Kiefer-Wolfowitz (1956) NPMLE — mixture model 의 비모수 추정
- 임상시험 정기 검진 (regulatory guidance) — interval censoring 의 표준 발생 source