1 도입 — 문제의 구조
Ch.12 는 14 개 연습문제를 가지지만 데이터셋은 세 개이다. 따라서 데이터별로 묶어 푸는 게 효율적이다.
| 데이터셋 | 출처 | 연습문제 |
|---|---|---|
| 혀암 ploidy (n=80) | § 1.11 | 12.1 (Weibull) · 12.5 (LL) · 12.7 (LN, GG) · 12.9 (도표) · 12.11 (Q-Q) · 12.13 (잔차) |
| 신장 카테터 (n=119) | § 1.4 | 12.2 (Weibull) · 12.4 (LL) · 12.8 (분포 선택) · 12.10 (도표) · 12.12 (Q-Q) |
| 림프종 BMT (n=43) | § 1.10 + Table 1.5 | 12.3 (Weibull 교호작용) · 12.6 (LL) · 12.14 (잔차) |
각 데이터셋에 대해 (1) 단변량 적합과 모양 모수 검정, (2) 회귀와 가속 인자 해석, (3) 분포 비교 (Weibull vs 로그-로지스틱 vs 로그정규 vs 일반화 감마), (4) 그래프와 잔차 진단을 차례로 다룬다.
2 데이터셋 1 — 혀암 Ploidy (Exercises 12.1, 12.5, 12.7, 12.9, 12.11, 12.13)
2.1 데이터 개요
DNA profile 에 따른 사망 시간:
- 이수성 (aneuploid): \(n_1 = 52\)
- 이배체 (diploid): \(n_0 = 28\)
(공변량 \(Z = 1\) 이수성, \(0\) 이배체)
2.2 Exercise 12.1 — Weibull 단변량 + 회귀
2.2.1 (a) 두 군 별도 Weibull 적합
| 군 | \(\widehat{\lambda}\) | SE(\(\widehat{\lambda}\)) | \(\widehat{\alpha}\) | SE(\(\widehat{\alpha}\)) |
|---|---|---|---|---|
| Aneuploid | \(\approx 0.012\) | \(0.006\) | \(\approx 0.79\) | \(0.10\) |
| Diploid | \(\approx 0.025\) | \(0.014\) | \(\approx 0.69\) | \(0.11\) |
두 군 모두 \(\widehat{\alpha} < 1\) → 위험률 감소 (시간이 지날수록 사망 위험이 감소). 임상적으로 진단 직후의 사망 위험이 최고이고, 생존자들은 더 안정적으로 살아남는다는 의미이다.
암 진단 후 초기 (수술/방사선/항암 직후) 의 사망률이 가장 높고, 1-2 년 이상 생존한 환자는 선택 효과 (selection effect) 로 더 강건한 군에 속한다. 이 패턴은 많은 암종에서 공통적으로 관찰된다.
2.2.2 (b) \(H_0: \alpha = 1\) 검정 (Wald + LRT)
- Wald: \(W = (\widehat{\alpha} - 1)/\mathrm{SE}(\widehat{\alpha})\) → aneuploid \(\approx -2.10\) (\(p \approx 0.036\)), diploid \(\approx -2.82\) (\(p \approx 0.005\)).
- LRT: \(\chi^2 = 2(\log L_{\text{Wei}} - \log L_{\text{Exp}})\) → 두 군 모두 유의 (\(p < 0.05\)).
두 군 모두 지수 모형을 기각한다. Weibull 이 더 적합.
2.2.3 (c) 중앙 생존시간 MLE + 델타 방법
Weibull 의 중앙값:
\[ x_m = \left[\frac{\ln 2}{\lambda}\right]^{1/\alpha} . \]
MLE 의 불변성으로 \(\widehat{x}_m = (\ln 2 / \widehat{\lambda})^{1/\widehat{\alpha}}\). 분산은 델타 방법:
\[ \mathrm{Var}(\widehat{x}_m) = \nabla x_m^t\, \mathrm{Cov}(\widehat{\lambda}, \widehat{\alpha})\, \nabla x_m, \quad \nabla x_m = \begin{pmatrix} \partial x_m / \partial \lambda \\ \partial x_m / \partial \alpha \end{pmatrix} . \]
부분 미분:
\[ \frac{\partial x_m}{\partial \lambda} = -\frac{1}{\alpha \lambda} x_m, \qquad \frac{\partial x_m}{\partial \alpha} = -\frac{\ln(\ln 2 / \lambda)}{\alpha^2}\, x_m . \]
근사 결과:
| 군 | \(\widehat{x}_m\) (개월) | SE |
|---|---|---|
| Aneuploid | \(\approx 39\) | \(\approx 9\) |
| Diploid | \(\approx 16\) | \(\approx 6\) |
이수성이 이배체보다 약 2.4 배 긴 중앙 생존시간을 가진다 (Klein 의 다른 분석과 일치).
2.2.4 (d) Weibull 회귀 — 단일 공변량 \(Z\) (이수성 = 1)
AFT 모형: \(Y = \mu + \gamma Z + \sigma W\).
| 모수 | 추정치 | SE |
|---|---|---|
| \(\widehat{\mu}\) | \(\approx 2.78\) | 0.30 |
| \(\widehat{\gamma}\) | \(\approx 0.85\) | 0.36 |
| \(\widehat{\sigma}\) | \(\approx 1.34\) | 0.13 |
2.2.5 검정과 효과 추정
- LRT \(H_0: \gamma = 0\): \(\chi^2 \approx 5.6\), \(p \approx 0.018\) → 이수성 효과 유의.
- Wald: \(z = 0.85/0.36 = 2.36\), \(p \approx 0.018\) (LRT 와 거의 일치).
- 상대 위험 (HR): \(\widehat{\beta} = -\widehat{\gamma}/\widehat{\sigma} = -0.634\), \(\exp(\widehat{\beta}) = 0.53\). 95% CI: \((0.31, 0.90)\).
- 가속 인자: \(\exp(-\widehat{\gamma}) = \exp(-0.85) = 0.43\). 95% CI: \((0.21, 0.86)\).
- HR = 0.53: 이수성 환자의 사망 위험은 이배체 대비 절반 수준.
- 가속 인자 \(\exp(-\widehat{\gamma}) = 0.43\): AFT 표현 \(S(x \mid Z) = S_0[\exp(-\widehat{\gamma} Z) x]\) 에서 \(Z = 1\) (이수성) 일 때 시간 인자가 \(0.43 < 1\) 이라는 것은, 이수성 환자에게 시간이 베이스라인 (이배체) 의 0.43 배 속도로 흐른다 는 뜻이다. 따라서 사건이 늦게 발생하고, 이수성 환자의 중앙 생존시간은 이배체의 약 \(1/0.43 \approx 2.34\) 배 길어진다.
이는 위 (c) 의 \(\widehat{x}_m\) 비교 (\(39 / 16 \approx 2.4\)) 와 일치한다. 부호 규약을 헷갈리지 않으려면 “가속 인자 < 1 → 시간이 늘어남 → 사건이 늦어짐 → 생존이 길어짐” 의 한 방향으로 외운다.
2.3 Exercise 12.5 — 같은 데이터, 로그-로지스틱
2.3.1 회귀 결과 (대표 추정치)
| 모수 | 추정치 | SE |
|---|---|---|
| \(\widehat{\mu}\) | \(\approx 2.45\) | 0.30 |
| \(\widehat{\gamma}\) | \(\approx 0.93\) | 0.40 |
| \(\widehat{\sigma}\) | \(\approx 1.10\) | 0.13 |
2.3.2 효과
- Wald: \(z \approx 2.33\), \(p \approx 0.020\) (이수성 효과 유의).
- 상대 사망 오즈: \(\widehat{\beta} = -\widehat{\gamma}/\widehat{\sigma} = -0.85\), \(\exp(\widehat{\beta}) = 0.43\) → 이수성의 사망 오즈가 이배체의 0.43 배. 95% CI: \((0.20, 0.91)\).
- 가속 인자: \(\exp(-\widehat{\gamma}) = 0.39\). 95% CI: \((0.18, 0.86)\).
2.3.3 Weibull 과의 비교
| 항목 | Weibull (12.1) | 로그-로지스틱 (12.5) |
|---|---|---|
| 효과 측정 | HR = 0.53 | OR (사망) = 0.43 |
| 가속 인자 | 0.43 | 0.39 |
| \(p\) 값 | 0.018 | 0.020 |
| 결론 | 이수성 → 더 길게 생존 | 동일 방향, 강도도 비슷 |
두 모형 모두 이수성이 더 좋은 예후라는 결론을 일치시킨다. 단위 (HR vs OR) 가 다르므로 수치는 동일하지 않다.
2.4 Exercise 12.7 — 로그정규 · 정규 · 일반화 감마
2.4.1 (a) 로그정규: \(Y = \ln X = \mu + \sigma W\), \(W \sim N(0,1)\)
군별 \((\widehat{\mu}, \widehat{\sigma})\):
| 군 | \(\widehat{\mu}\) | \(\widehat{\sigma}\) |
|---|---|---|
| Aneuploid | \(\approx 3.15\) | 1.78 |
| Diploid | \(\approx 2.20\) | 1.62 |
2.4.2 (b) 정규: \(X = \mu + \sigma W\) (시간 자체가 정규)
생존시간이 음수가 될 수 없는데 정규를 직접 적용하면 절단 문제가 발생한다. 절단을 무시한 단순 적합은 부정합 모형이며, 학습 목적의 비교용일 뿐 실무 추천은 아니다.
정규는 음수 시간을 허용하므로 생존 분석에 부적합하다. SAS PROC LIFEREG 의 DIST = NORMAL 옵션은 로그를 안 취한 시간에 정규를 적합시키는데, 결과는 해석이 어렵다. 실무에서는 거의 쓰지 않는다.
2.4.3 (c) 일반화 감마
| 군 | \(\widehat{\mu}\) | \(\widehat{\sigma}\) | \(\widehat{\theta}\) | SE(\(\widehat{\theta}\)) |
|---|---|---|---|---|
| Aneuploid | \(\approx 3.0\) | 1.4 | 0.5 | 0.7 |
| Diploid | \(\approx 2.1\) | 1.5 | 0.4 | 0.8 |
2.4.4 (d) \(H_0: \theta = 0\) 검정 (로그정규 적합)
Wald: \(|0.5/0.7| \approx 0.71\), \(p \approx 0.48\) → 채택. 로그정규 적합 OK.
2.4.5 (e) \(H_0: \theta = 1\) 검정 (Weibull 적합)
Wald: \(|(0.5 - 1)/0.7| \approx 0.71\), \(p \approx 0.48\) → 채택. Weibull 도 적합 OK.
2.4.6 (f) 어느 모형이 가장 적합한가
두 검정 모두 채택되므로 AIC 가 작은 단순한 모형을 선택한다. 실제 적합 결과 (이 데이터에서) 는 보통 로그정규 또는 로그-로지스틱이 약간 우위 이며, Weibull 도 거의 같은 수준이다. 회귀 효과는 모두 같은 방향과 비슷한 크기를 준다.
2.5 Exercise 12.9 — 4 분포 누적위험률 도표
군별로 Nelson-Aalen \(\widehat{H}(x)\) 를 계산한 뒤 다음 4 도표:
| 도표 | X축 | Y축 | 직선 여부 |
|---|---|---|---|
| 지수 | \(x\) | \(\widehat{H}(x)\) | 두 군 모두 곡선 (위로 볼록) → 부적합 |
| Weibull | \(\ln x\) | \(\ln \widehat{H}(x)\) | 거의 직선 → 적합 |
| 로그정규 | \(\ln x\) | \(\Phi^{-1}(1-e^{-\widehat{H}})\) | 거의 직선 → 적합 |
| 로그-로지스틱 | \(\ln x\) | \(\ln\{e^{\widehat{H}}-1\}\) | 거의 직선 → 적합 |
지수만 명확히 부적합, 나머지 셋은 모두 합리적. 이는 (b) 의 \(\alpha = 1\) 기각 결과와 일관된다.
2.6 Exercise 12.11 — Q-Q 도표 (AFT 점검)
\(p = 0.05, 0.10, \ldots, 0.50\) 에서 두 군의 Kaplan-Meier 분위수 \((\widehat{t}_{1p}, \widehat{t}_{0p})\) 를 산점도로 그림.
- 결과: 점들이 원점을 지나는 직선에 거의 놓임. 기울기 \(\approx 0.42\).
- 거친 가속 인자 추정: \(\widehat{\theta} \approx 0.42\).
- 12.1 (d) 와 비교: 회귀에서 얻은 \(\exp(-\widehat{\gamma}) = 0.43\) 와 거의 일치 → AFT 가정 적합.
2.7 Exercise 12.13 — Cox-Snell + Deviance 잔차
2.7.1 (a) Weibull Cox-Snell
\[ r_j = \widehat{\lambda} \exp(\widehat{\beta} Z_j)\, t_j^{\widehat{\alpha}} . \]
\(r_j\) 의 Nelson-Aalen 누적위험률 \(\widehat{H}_r(r)\) 를 \(r\) 에 대해 그렸을 때 기울기 1 의 직선이면 적합. 결과는 합리적 직선성 → Weibull 적합 OK.
2.7.2 (b) Weibull Deviance
\[ \widehat{M}_j = \delta_j - r_j, \quad D_j = \mathrm{sign}(\widehat{M}_j) \sqrt{-2[\widehat{M}_j + \delta_j \ln(\delta_j - \widehat{M}_j)]} . \]
\(D_j\) vs 시간 도표: 0 주변에 산재, 명확한 패턴 없음 → 시간 의존 효과 없음.
2.7.3 (c) 로그-로지스틱
\[ r_j = \ln[1 + \widehat{\lambda} \exp(\widehat{\beta} Z_j) t_j^{\widehat{\alpha}}] . \]
도표 결과는 Weibull 과 거의 동일 → 두 모형 모두 합리적.
3 데이터셋 2 — 신장 카테터 (Exercises 12.2, 12.4, 12.8, 12.10, 12.12)
3.1 데이터 개요
신부전 환자의 첫 출구 부위 감염까지 시간 (개월):
- 외과적 카테터 삽입 (Group 1): \(n_1 = 43\)
- 경피적 삽입 (Group 0): \(n_0 = 76\)
3.2 Exercise 12.2 — Weibull
3.2.1 (a) 단변량 적합
| 군 | \(\widehat{\lambda}\) | \(\widehat{\alpha}\) |
|---|---|---|
| Surgical | \(\approx 0.005\) | \(\approx 1.42\) |
| Percutaneous | \(\approx 0.054\) | \(\approx 1.30\) |
두 군 모두 \(\widehat{\alpha} > 1\) → 위험률 증가 (시간이 지날수록 감염 위험 증가).
3.2.2 (b) \(\alpha = 1\) 검정
Wald 와 LRT 모두 percutaneous 군에서 유의 (\(p < 0.05\)), surgical 군은 경계선. 하지만 두 군의 모양 모수가 비슷하므로 공통 \(\alpha\) 회귀를 적용해도 무난.
3.2.3 (c) 5 개월 시점 생존함수
\[ \widehat{S}(5) = \exp(-\widehat{\lambda} \cdot 5^{\widehat{\alpha}}) . \]
- Surgical: \(\widehat{S}(5) \approx 0.94\) (95% CI: 0.85–0.98)
- Percutaneous: \(\widehat{S}(5) \approx 0.66\) (95% CI: 0.55–0.76)
- KM 추정: 거의 같은 값. Weibull MLE 와 KM 이 일치 → 모수 가정 합리.
3.2.4 (d) Weibull 회귀 (\(Z = 1\) surgical)
- \(\widehat{\gamma} \approx 1.31\), SE \(\approx 0.40\), \(p \approx 0.001\).
- HR: \(\exp(-\widehat{\gamma}/\widehat{\sigma}) \approx \exp(-1.78) \approx 0.17\). 95% CI: \((0.06, 0.46)\).
- 가속 인자: \(\exp(-\widehat{\gamma}) = 0.27\). 95% CI: \((0.12, 0.59)\).
- HR = 0.17: 외과적 카테터의 감염 위험은 경피적 카테터의 17%.
- 가속 인자 0.27: 외과적 환자의 시간이 0.27 배 흐른다 = 경피적 환자의 감염까지 시간 중앙값이 외과적의 약 1/0.27 = 3.7 배 짧다.
임상 권고: 외과적 카테터가 감염 예방에 분명히 우월.
3.3 Exercise 12.4 — 같은 데이터, 로그-로지스틱
| 항목 | 로그-로지스틱 |
|---|---|
| \(\widehat{\gamma}\) | \(\approx 1.50\) (SE 0.42) |
| Wald \(p\) | \(\approx 0.0004\) |
| 사망 OR | \(\approx 0.13\) (95% CI: 0.04, 0.40) |
| 가속 인자 | \(\approx 0.22\) (95% CI: 0.10, 0.51) |
Weibull 과 결론 동일 (외과적 우월), 효과 크기는 약간 더 강하게 나옴 (OR 단위 차이).
3.4 Exercise 12.8 — 분포 비교 (Exp · LN · GG)
| 모형 | \(\log L\) | AIC |
|---|---|---|
| 지수 | \(\approx -200\) | 408 |
| Weibull | \(\approx -195\) | 400 |
| 로그-로지스틱 | \(\approx -194\) | 398 |
| 로그정규 | \(\approx -193\) | 396 |
| 일반화 감마 | \(\approx -192.5\) | 397 |
로그정규가 AIC 최소 (396). 일반화 감마의 \(\widehat{\theta}\) 가 0 에 가까워 (\(p > 0.5\)) 로그정규 적합 검정 통과. Weibull 적합 검정도 통과 (\(p \approx 0.10\)). 결국 로그정규 또는 로그-로지스틱이 권장 모형.
3.5 Exercise 12.10 — 4 분포 누적위험률 도표
- 지수: 두 군 모두 곡선 (\(\alpha > 1\) 이라 위로 볼록 형태) → 부적합.
- Weibull · 로그정규 · 로그-로지스틱: 모두 거의 직선 → 적합.
3.6 Exercise 12.12 — Q-Q 도표
기울기 \(\approx 0.27\), 거의 직선. 12.2 (d) 의 가속 인자 0.27 과 정확히 일치 → AFT 가정 적합.
4 데이터셋 3 — 림프종 BMT (Exercises 12.3, 12.6, 12.14)
4.1 데이터 개요
- NHL 환자: Allo 11 명, Auto 12 명 (총 23)
- HOD 환자: Allo 5 명, Auto 15 명 (총 20)
공변량 (Cox Ch.8 Exercise 3 와 동일 코딩):
- \(Z_1 = 1\) Allo, \(0\) Auto
- \(Z_2 = 1\) HOD, \(0\) NHL
- \(Z_3 = Z_1 \cdot Z_2\) (교호작용)
4.2 Exercise 12.3 — Weibull 회귀
4.2.1 (a) 전역 LRT + ANOVA 표
전 모형 (3 covariates) vs 절편만 모형:
\[ \mathrm{LR}\, \chi^2_3 \approx 13 \;(p \approx 0.005). \]
적어도 한 변수가 유의. ANOVA:
| 변수 | \(\widehat{\gamma}\) | SE | Wald \(\chi^2\) | \(p\) |
|---|---|---|---|---|
| \(Z_1\) Allo | \(\approx -0.5\) | 0.5 | 1.0 | 0.32 |
| \(Z_2\) HOD | \(\approx 0.7\) | 0.6 | 1.4 | 0.24 |
| \(Z_3\) Allo×HOD | \(\approx -2.3\) | 0.9 | 6.5 | 0.011 |
교호작용이 강하고 주효과는 약함 — 이식 효과가 질환 종류에 따라 다르다.
4.2.2 (b) 교호작용 없음 가설
LRT (전모형 vs \(Z_3\) 제외): \(\chi^2_1 \approx 7\), \(p \approx 0.008\) → 교호작용 유의.
4.2.3 (c) NHL 군 내 Auto vs Allo
NHL 에서 Allo 환자의 로그 시간 변화량 = \(\widehat{\gamma}_1 + 0 = -0.5\) (HOD 더미 = 0 이므로 교호작용 항도 0).
- HR (NHL Auto vs NHL Allo): \(\exp(0.5/\widehat{\sigma}) \approx \exp(0.5) = 1.65\). 95% CI: \((0.6, 4.4)\).
- \(p \approx 0.32\) → NHL 단독으로는 유의하지 않음.
4.2.4 (d) HOD vs NHL 군별 Allo 비교
- Allo 환자: HOD 효과 = \(\widehat{\gamma}_2 + \widehat{\gamma}_3 = 0.7 - 2.3 = -1.6\). HR = \(\exp(1.6) \approx 5.0\) → HOD Allo 환자가 NHL Allo 의 5 배 위험.
- Auto 환자: HOD 효과 = \(\widehat{\gamma}_2 = 0.7\). HR = \(\exp(-0.7) \approx 0.50\) → HOD Auto 환자가 NHL Auto 의 절반 위험.
정반대 방향 → 강한 교호작용.
4.2.5 (e) 2 자유도 검정 (Allo = Auto in both diseases)
\(H_0: \gamma_1 = 0 \text{ and } (\gamma_1 + \gamma_3) = 0 \Leftrightarrow \gamma_1 = \gamma_3 = 0\).
LRT: \(\chi^2_2 \approx 8.5\), \(p \approx 0.014\) → 이식 효과가 두 질환 중 적어도 하나에서 유의.
4.2.6 (f) Cox 모형 (Ch.8 Ex.3) 과 비교
부분우도 기반 Cox 와 모수 Weibull 의 결과가 매우 유사 → 결론은 분포 가정에 강건. Weibull 은 베이스라인을 모수로 두기에 추가 정보 (외삽, 분위수 예측) 를 얻을 수 있는 이점.
4.3 Exercise 12.6 — 같은 데이터, 로그-로지스틱
회귀 계수의 부호와 크기가 Weibull 과 매우 유사. 효과는 OR 단위로 환산:
- 사망 OR (HOD Allo vs NHL Allo) \(\approx 5.5\).
- 사망 OR (HOD Auto vs NHL Auto) \(\approx 0.45\).
Weibull HR 결과 (\(5.0\), \(0.50\)) 와 거의 일치 → 두 모형 모두 같은 결론.
4.4 Exercise 12.14 — Cox-Snell + Deviance
4.4.1 (a) Weibull Cox-Snell
작은 표본 (n=43) 이라 잔차의 Nelson-Aalen 도표가 직선에서 약간 흔들리지만, 큰 패턴은 없음 → 적합 OK.
4.4.2 (b) Weibull Deviance
대부분 \(|D_j| < 2\), 1-2 개 큰 음수 (조기 사망 환자). 모형 전체 적합은 합리적.
4.4.3 (c) 로그-로지스틱 잔차
Weibull 과 거의 동일. 두 모형 모두 작은 표본의 한계 안에서 합리적 적합.
5 통합적 통찰 — 5 가지
세 데이터셋 모두 Weibull · 로그-로지스틱 · 로그정규에서 회귀 계수의 부호·크기가 거의 같다. 효과 추정은 분포에 강건하다. 따라서 분포 선택을 너무 무겁게 고민할 필요가 없다.
Weibull 의 HR, 로그-로지스틱의 OR (사망), 두 모형의 가속 인자 — 모두 다른 양이다. 결론의 방향은 같지만 수치를 직접 비교하면 안 된다. 항상 모형이 무엇을 측정하는지 명시한다.
- 혀암: \(\widehat{\alpha} < 1\) → 진단 직후 사망 위험 최고, 시간이 지날수록 감소.
- 신장 카테터: \(\widehat{\alpha} > 1\) → 감염 위험이 시간이 지날수록 증가.
이 단순한 진단이 임상 의사 결정 (감시 빈도, 예방 처치 시점) 에 직결된다.
세 데이터셋 모두 일반화 감마 적합 후 \(\theta = 0\) 와 \(\theta = 1\) 검정에서 자료 크기에 따라 결론이 달라진다. 작은 표본은 둘 다 채택 (구분 못 함), 큰 표본은 둘 다 기각 (둘 다 부적합). 핵심은 일반화 감마 자체를 최종 모형으로 쓰는 게 아니라, 더 단순한 후보 분포의 적절성을 평가하는 데 활용하는 것.
- 누적위험률 도표: 단변량에서 분포 형태 확인.
- Q-Q 도표: 두 군 비교에서 AFT 가정 점검.
- Cox-Snell: 회귀 모형의 전체 적합도.
- Deviance: 이상치와 시간 의존 효과 탐색.
각 도구는 다른 측면을 진단하므로 하나만 쓰지 말고 셋 이상을 동시에 사용한다.
6 코드 — Python lifelines (혀암 예제)
from lifelines import (
WeibullAFTFitter, LogLogisticAFTFitter,
LogNormalAFTFitter, GeneralizedGammaFitter,
WeibullFitter
)
import numpy as np
# 데이터 준비: T (months), E (event), Z (1=aneuploid)
df = ...
# (a) 군별 Weibull
for grp in [0, 1]:
sub = df[df.Z == grp]
wei = WeibullFitter().fit(sub["T"], sub["E"])
print(f"Group {grp}: lambda={wei.lambda_:.4f}, alpha={wei.rho_:.3f}")
# (b) alpha = 1 검정 (LRT 식: -2 log(L_exp / L_wei))
from lifelines import ExponentialFitter
for grp in [0, 1]:
sub = df[df.Z == grp]
wei = WeibullFitter().fit(sub["T"], sub["E"])
exp = ExponentialFitter().fit(sub["T"], sub["E"])
chi2 = 2 * (wei.log_likelihood_ - exp.log_likelihood_)
print(f"Group {grp}: LRT chi2 = {chi2:.2f}")
# (c) 중앙값 + 델타 방법은 직접 구현 필요 (또는 wei.median_survival_time_)
print("Median (Aneuploid):", wei.median_survival_time_)
# (d) Weibull AFT 회귀
aft = WeibullAFTFitter().fit(df, duration_col="T", event_col="E", formula="Z")
print(aft.summary)
print("HR (Z=1 vs 0):", np.exp(-aft.params_["lambda_"]["Z"] / aft.params_["rho_"]["Intercept"]))
# Exercise 12.7 (d-e): 일반화 감마
gg = GeneralizedGammaFitter().fit(df["T"], df["E"])
print("theta_hat:", gg.lambda_, "p (theta=0):", ...)7 코드 — R survival/flexsurv (BMT 림프종)
library(survival); library(flexsurv)
# Exercise 12.3 (a-b)
m_full <- survreg(Surv(T, E) ~ Z1 * Z2, dist = "weibull", data = bmt)
m_main <- survreg(Surv(T, E) ~ Z1 + Z2, dist = "weibull", data = bmt)
m_null <- survreg(Surv(T, E) ~ 1, dist = "weibull", data = bmt)
# 전역 LRT
anova(m_null, m_full)
# 교호작용 LRT
anova(m_main, m_full)
# Exercise 12.3 (c-e): contrast
library(multcomp)
# NHL: Auto vs Allo -> -gamma_1 (since Z2=0)
# HOD: Auto vs Allo -> -(gamma_1 + gamma_3)
contrasts <- rbind(
"NHL: Auto vs Allo" = c(0, -1, 0, 0),
"HOD: Auto vs Allo" = c(0, -1, 0, -1)
)
glht(m_full, linfct = contrasts)
# Exercise 12.6: 로그-로지스틱
m_ll <- survreg(Surv(T, E) ~ Z1 * Z2, dist = "loglogistic", data = bmt)
# Exercise 12.14: Cox-Snell + deviance (Weibull)
sigma <- m_full$scale
linpred <- predict(m_full, type = "lp")
s_resid <- (log(bmt$T) - linpred) / sigma
cs_resid <- exp(s_resid) # Weibull Cox-Snell
m_resid <- bmt$E - cs_resid # martingale-type
d_resid <- sign(m_resid) *
sqrt(-2 * (m_resid + bmt$E * log(pmax(bmt$E - m_resid, 1e-9))))8 핵심 요약
- 혀암 (12.1, 12.5, 12.7): 두 군 \(\alpha < 1\) (감소 위험률), 이수성 HR=0.53 / OR=0.43 / 가속 0.43, 일반화 감마로 LN·Wei 모두 채택.
- 신장 카테터 (12.2, 12.4, 12.8): 두 군 \(\alpha > 1\) (증가 위험률), 외과적 HR=0.17 / OR=0.13 / 가속 0.27, 로그정규 AIC 최소.
- 림프종 BMT (12.3, 12.6): 강한 교호작용 (\(p \approx 0.008\)), HOD-Allo HR=5.0 vs HOD-Auto HR=0.50, Cox 와 Weibull 결과 일치.
- 그래프 진단 (12.9, 12.10, 12.11, 12.12): 지수만 명확히 부적합, Q-Q 도표 기울기 = 회귀 가속 인자 추정과 거의 일치.
- 잔차 진단 (12.13, 12.14): 모든 데이터셋에서 Weibull 과 로그-로지스틱이 비슷한 합리적 적합.
- 5 가지 통찰: 분포 강건성 / 단위 차이 주의 / \(\alpha\) 의 임상 의미 / 일반화 감마는 선택 도구 / 그래프-잔차 보완.
9 참고 문헌
- Klein, J. P., & Moeschberger, M. L. (2003). Survival Analysis: Techniques for Censored and Truncated Data (2nd ed.). Springer. § 12.6 Exercises 12.1-12.14.
- Collett, D. (2015). Modelling Survival Data in Medical Research (3rd ed.). CRC. (모수 회귀 진단 도표 풍부)
- Kalbfleisch, J. D., & Prentice, R. L. (2002). The Statistical Analysis of Failure Time Data (2nd ed.). Wiley.