1 서론 — 왜 생존 데이터는 다른가
Ch.13 까지 GLM 은 완전히 관측된 반응 변수를 다뤘다. 연속·이산·비율 등 형태는 달라도 매 관측치의 값이 명시적으로 주어졌다. 생존 데이터는 이 가정을 근본적으로 깨뜨린다.
생존 데이터의 두 가지 구별 특징:
- 중도절단 (censoring): 연구가 끝날 때 어떤 개체의 사건 시점이 알려지지 않은 경우. 예: 환자가 6 개월 시점에 아직 생존 중이지만 연구 종료 → “6 개월 이상 생존” 만 안다. 정확한 시간은 영원히 관측 불가.
- 시간 의존 공변량 (time-dependent covariates): 관측 중에 값이 변하는 공변량. 예: 환자의 혈압, 치료 용량 변경, 직업 변화. 한 값 \(x_i\) 로 대표 못 함.
이 두 특징은 표준 GLM 의 독립 관측 + 고정 공변량 가정을 벗어나게 한다. 따라서 별도 이론이 필요하다.
| 유형 | 정의 | 관측 |
|---|---|---|
| I형 (Type I) | 사전 지정 시점 \(c\) 에 연구 종료 | \(T \wedge c\) 관측 |
| II형 (Type II) | 사전 지정 사건 수 \(r\) 까지 관찰 | \(r\) 번째 사건 시점까지만 |
| 무작위 (Random) | 각 개체마다 무작위 중도절단 시간 \(C_i\) | \(\min(T_i, C_i)\) 와 지표 |
Ch.13 은 주로 우측 중도절단 (right censoring) — 즉 \(T_i > C_i\) 인 경우 \(C_i\) 만 관측 — 을 다룬다. 좌측·구간 중도절단은 §13.7 연습에서 잠깐 언급.
McCullagh & Nelder Ch.13 의 핵심 공헌은 Aitkin-Clayton (1980) 이 보인 놀라운 환원 이다 — 모수적 비례 위험 모형의 로그우도가 offset 을 가진 포아송 GLM 의 로그우도와 동일하다. 이 환원이 GLM 소프트웨어로 생존 분석을 처리할 수 있게 만든다.
이 글은 §13.1-§13.5 의 핵심을 압축한다. 하위 섹션별 심화는 후속 포스트 (12-2, 12-3, …) 에서 다룬다.
2 생존·위험·누적 위험 함수의 삼각 관계
2.1 기본 정의
생존 시간 \(T \geq 0\) 의 밀도 함수 \(f(t)\), 분포 함수 \(F(t) = \int_0^t f(s) ds\) 일 때:
생존 함수 (survivor function):
\[S(t) = \Pr(T > t) = 1 - F(t).\]
\(t\) 시점에 아직 살아있을 확률. \(S(0) = 1\), \(\lim_{t \to \infty} S(t) = 0\), 단조 감소.
위험 함수 (hazard function):
\[h(t) = \lim_{\delta t \to 0} \frac{\Pr(T < t + \delta t \mid T \geq t)}{\delta t}.\]
\(t\) 시점까지 살아있다는 조건 하에서의 순간 위험. \(h(t) \delta t\) 는 “\(t\) 시점까지 살아있는 개체가 다음 \(\delta t\) 안에 죽을 확률” 이다.
누적 위험 함수 (cumulative hazard):
\[\Lambda(t) = \int_0^t \lambda(u)\, du\]
\(\lambda(t) = h(t)\). \(\Lambda(t)\) 는 위험의 누적량.
2.2 세 함수의 상호 유도
핵심 관계 — 생존·밀도·위험의 삼각 유도.
조건부 확률 분해:
\[ S(t + \delta t) = S(t) \cdot \Pr(T > t + \delta t \mid T > t) = S(t) \{1 - h(t) \delta t\}. \]
\(\delta t \to 0\) 극한:
\[ -S'(t) = S(t) h(t) \Rightarrow h(t) = -\frac{d}{dt} \log S(t) = \frac{f(t)}{S(t)} = \frac{f(t)}{1 - F(t)}. \]
반대 방향: \(\log S(t) = -\int_0^t h(u) du = -\Lambda(t)\), 즉
\[ \boxed{\;S(t) = e^{-\Lambda(t)}, \qquad f(t) = h(t)\, e^{-\Lambda(t)}\;} \]
- \(f(t)\): 사망의 절대 시점 분포. “전체 인구에서 \(t\) 시점 사망 밀도”.
- \(S(t)\): 생존 확률. “\(t\) 시점까지 견딜 가능성”.
- \(h(t)\): 조건부 순간 위험. “\(t\) 시점까지 산 사람의 다음 순간 위험”.
세 함수는 수학적으로 동등 하지만 해석 관점이 다르다. 모형화 시에는 \(h(t)\) 가 가장 직접적이다 — 공변량이 “위험을 배수로 올린다” 는 설명은 자연스럽지만, “밀도를 배수로 올린다” 는 설명은 밀도의 전체 적분이 1 이어야 한다는 제약 때문에 어색하다.
\(h(t) \geq 0\) 은 유일한 제약 — 따라서 공변량의 곱셈 효과를 자유롭게 도입할 수 있다. 이것이 비례 위험 모형의 수학적 동기다.
2.3 위험 함수의 형태 조건
임의의 함수가 위험 함수가 될 수 있는 것은 아니다. 합리적 조건:
- \(h(t) \geq 0\) 모든 \(t\).
- \(\int_0^\infty h(t) dt = \infty\) (결국 모두가 죽는다는 가정).
- 큰 \(t\) 에서는 감소하지 말아야 함 — 특정 나이 이후 사망 확률이 줄어드는 생물학적 모형은 드물다.
- 작은 \(t\) 에서는 유연. 예: “적응 기간” 이 있는 기계 부품은 초기에는 위험이 감소 후 증가하는 U 자 모양.
2.4 가장 단순한 위험 — 지수 분포
\(h(t) = \lambda\) (상수) 이면:
\[\Lambda(t) = \lambda t, \qquad S(t) = e^{-\lambda t}, \qquad f(t) = \lambda e^{-\lambda t}.\]
즉 지수 분포 — 포아송 과정의 간격 분포. 위험이 나이와 무관한 “무기억 (memoryless)” 모형. 전자 부품의 무작위 고장, 일부 암의 재발 등에 적용.
3 비례 위험 모형 (§13.2)
3.1 모형 정의
개체의 공변량 \(x \in \mathbb{R}^p\) 를 포함한 위험 함수:
\[ \boxed{\;h(t; x) = \lambda(t) \exp(\beta^T x)\;} \tag{13.1} \]
- \(\lambda(t)\): 기저 위험 함수 (baseline hazard). 시간만의 함수.
- \(\exp(\beta^T x)\): 공변량 위험 배수. 시간 무관.
두 인자가 곱셈적 분리: 시간 효과 (\(\lambda(t)\)) 와 공변량 효과 (\(e^{\eta}\)) 가 독립적.
3.2 왜 “비례 위험” 인가
두 개체 \(A, B\) 의 위험비:
\[\frac{h(t; x_A)}{h(t; x_B)} = \frac{\lambda(t) e^{\beta^T x_A}}{\lambda(t) e^{\beta^T x_B}} = \exp\{\beta^T (x_A - x_B)\}.\]
\(\lambda(t)\) 가 상쇄 되어 시간 무관 상수. 즉 두 개체의 위험비가 시간에 따라 변하지 않는다 — 이것이 “비례 위험 (proportional hazards)” 의 의미.
3.3 강한 가정 — 현실에서의 검증
비례 가정은 쉽게 깨진다: - 치료 효과가 초기에만 존재하고 장기적으로 사라지는 약 → 위험비가 감소. - 수술의 초기 위험과 장기 이득 → 위험비가 1 주변으로 가로지름. - 노령군과 청년군의 위험 격차가 확대 → 위험비 증가.
실무에서는 Schoenfeld 잔차 등으로 비례 가정을 검증하고, 위배 시 계층화 (stratified) 모형 또는 시간 의존 \(\beta\) 로 확장.
3.4 공변량 효과의 곱셈성은 선택
(13.1) 은 “지수 함수 형 공변량 효과” 를 가정하지만, 이는 필수가 아니다. 일반 형태:
\[h(t;x) = \lambda(t) \exp\{G(x; \beta)\}.\]
\(G(x; \beta)\) 가 비선형이어도 비례 위험성은 유지 (Oakes, 1981). 실무는 선형 \(\beta^T x\) 를 주로 사용 — 해석 용이성과 수치 안정성 때문.
3.5 \(\lambda(t)\) 의 처리 — 두 노선
| 노선 | 가정 | 장점 | 단점 |
|---|---|---|---|
| 모수적 (parametric) | \(\lambda(t)\) 가 명시적 함수 형태 (지수·Weibull·극치값 등) | 효율성 · 외삽 가능 · 예측 용이 | 분포 선택 필요 |
| 비모수적 (Cox 1972a) | \(\lambda(t)\) 를 블록 요인처럼 처리 — 사망 시점에서만 정의 | 분포 가정 불필요 · 강건 | 기저 위험 자체는 추정 못 함 · 일부 효율 손실 |
McCullagh-Nelder 는 두 노선 모두 다룬다. §13.3 이 모수적 (Aitkin-Clayton 환원), §13.5 가 Cox 비모수적.
4 Aitkin-Clayton 의 Poisson GLM 환원 (§13.3)
4.1 문제 설정
데이터: \((t_i, w_i, x_i)\), \(i = 1, \ldots, N\). \(t_i\) = 관찰 시간, \(w_i \in \{0, 1\}\) (1 = 관측 사망, 0 = 중도절단), \(x_i\) = 공변량.
우도 기여: - \(w_i = 1\) (죽은 관측치): \(f(t_i; x_i)\) - \(w_i = 0\) (중도절단): \(S(t_i; x_i)\)
전체 로그 가능도:
\[ l = \sum_i \{w_i \log f(t_i; x_i) + (1 - w_i) \log S(t_i; x_i)\}. \]
4.2 치환과 환원
비례 위험 모형에서 \(S(t; x) = \exp\{-\Lambda(t) e^\eta\}\), \(f(t; x) = \lambda(t) \exp\{\eta - \Lambda(t) e^\eta\}\). 대입하면
\[ l = \sum_i \{w_i \log \lambda(t_i) + w_i \eta_i - \Lambda(t_i) e^{\eta_i}\}. \]
이제 영리한 치환: \(\mu_i = \Lambda(t_i) e^{\eta_i}\) 라고 놓으면
\[ w_i \log \mu_i = w_i \log \Lambda(t_i) + w_i \eta_i. \]
따라서
\[ l = \sum_i \{w_i \log \mu_i - \mu_i\} + \sum_i w_i \log \{\lambda(t_i) / \Lambda(t_i)\}. \]
4.3 환원 정리
첫 번째 항 \(\sum \{w_i \log \mu_i - \mu_i\}\) 는 \(w_i \sim \text{Poisson}(\mu_i)\) 로그 가능도의 핵심 이다 (정규화 상수 \(-\log w_i!\) 생략).
두 번째 항 \(\sum w_i \log\{\lambda/\Lambda\}\) 는 \(\beta\) 에 독립 — 단, \(\lambda(t), \Lambda(t)\) 에 미지 모수가 없을 때.
기저 위험 함수 \(\lambda(t)\) 가 알려져 있으면 (또는 모수가 없으면), 비례 위험 모형의 \(\beta\) 추정은 다음과 동일 하다:
- 반응 변수: \(w_i \in \{0, 1\}\) (중도절단 지표).
- 분포: Poisson.
- 링크: 로그.
- offset: \(\log \Lambda(t_i)\).
- 선형 예측자: \(\eta_i = \beta^T x_i + \log \Lambda(t_i) = \log \mu_i\).
즉 “중도절단 지표를 포아송 반응으로 보고, 누적 위험의 로그를 offset 으로 투입” 하면 표준 로그선형 모형 이 된다.
이 환원은 생존 분석을 완전히 GLM 틀 안에서 처리할 수 있게 한다. GLIM, SAS PROC GENMOD, R glm(), statsmodels GLM 등 어느 소프트웨어든 쓸 수 있다.
4.4 직관 — 왜 이것이 작동하는가
\(w_i \sim \text{Poisson}(\mu_i)\) 는 “\(i\) 번째 개체의 기대 사망 수가 \(\mu_i\)” 라는 의미. 한 개체가 관찰 기간 동안 최대 1 번 사망할 수 있다는 점에서 베르누이가 더 자연스러울 것 같지만, 비례 위험 모형 하에서 수학적으로 포아송과 동일한 가능도를 만든다.
핵심 통찰: \(\mu_i = \Lambda(t_i) e^{\eta_i}\) 는 “\(i\) 번째 개체의 누적 위험” 이다. 관찰 중 예상 사망 수로 해석. 관찰된 \(w_i\) 가 0 또는 1 이지만 평균 \(\mu_i\) 는 연속.
이항 대신 포아송을 쓰는 것은 근사 가 아니라 정확한 우도 등가 — Aitkin-Clayton 의 교묘한 대수 조작이다.
5 세 가지 모수적 분포 (§13.3.1-3)
5.1 지수 분포 (§13.3.1)
기저 위험: \(\lambda(t) = \lambda\) (상수).
누적 위험: \(\Lambda(t) = \lambda t\).
Offset: \(\log \Lambda(t_i) = \log \lambda + \log t_i\). \(\log \lambda\) 는 상수이므로 절편에 흡수 → 실질 offset = \(\log t_i\).
장점: 추정이 직접 가능. 표준 포아송 GLM 에 \(\log t_i\) 를 offset 으로 넣기만 하면 끝.
5.2 Weibull 분포 (§13.3.2)
누적 위험: \(\Lambda(t) = t^\alpha\), \(\alpha > 0\).
위험 함수: \(\lambda(t) = \alpha t^{\alpha-1}\).
- \(\alpha = 1\): 지수 (상수 위험).
- \(\alpha > 1\): 증가 위험 (노화).
- \(\alpha < 1\): 감소 위험 (선택 효과).
Offset: \(\log \Lambda(t_i) = \alpha \log t_i\). \(\alpha\) 가 미지 이므로 단순 offset 이 아님.
교대 추정 절차:
- 초기값 \(\alpha = 1\) (지수) 로 시작.
- \(\alpha\) 고정 → offset \(\alpha \log t_i\) 로 포아송 GLM 적합 → \(\widehat\beta\).
- \(\widehat\beta\) 고정 → \(\alpha\) 의 점수 방정식 풀이:
\[ \frac{n}{\widehat\alpha} = \sum_i (\widehat\mu_i - w_i) \log t_i. \tag{13.2} \]
- 수렴까지 2-3 반복.
이탈도 보정: Weibull 의 로그 가능도는 포아송 모형보다 \(n \log \widehat\alpha\) 만큼 더 크다. 따라서 이탈도는 \(-2 n \log \widehat\alpha\) 만큼 보정.
5.3 극치값 분포 (§13.3.3)
누적 위험: \(\Lambda(t) = e^{\alpha t}\).
위험 함수: \(\lambda(t) = \alpha e^{\alpha t}\) — 지수적으로 증가.
변환 관계: \(u = e^t\) 대입하면 Weibull 로 환원. 따라서 Weibull 절차를 \(t \to u = e^t\) 치환해서 그대로 사용.
응용: 급격히 악화되는 질환이나 재료 피로 등.
5.4 세 분포 비교표
| 분포 | \(\Lambda(t)\) | \(\lambda(t)\) | 위험 패턴 |
|---|---|---|---|
| 지수 | \(\lambda t\) | \(\lambda\) | 일정 |
| Weibull | \(t^\alpha\) | \(\alpha t^{\alpha-1}\) | 멱 증가/감소 |
| 극치값 | \(e^{\alpha t}\) | \(\alpha e^{\alpha t}\) | 지수 증가 |
6 백혈병 완화 시간 예제 (§13.4)
6.1 데이터
Freireich 외 (1963). 42 명 백혈병 환자를 두 군으로 21 씩 분할:
- Sample 1 (실험 약물): 완화 시간 6, 6, 6, 6, 7, 9, 10, 10, 11, 13, 16, 17, 19, 20, 22, 23, 25, 32, 32, 34, 35 주. 괄호 친 값은 중도절단.
- Sample 2 (위약): 1, 1, 2, 2, 3, 4, 4, 5, 5, 8, 8, 8, 8, 11, 11, 12, 12, 15, 17, 22, 23 주. 모두 완전 관측.
질문: 실험 약물의 효과가 있는가? 위험비가 어떻게 되는가?
6.2 지수 모형 적합
포아송 GLM + 로그 링크 + offset \(\log t\):
| Model | Deviance | d.f. |
|---|---|---|
| 절편만 (1) | 54.50 | 41 |
| 그룹 효과 포함 (\(S\)) | 38.02 | 40 |
이탈도 감소 = 54.50 − 38.02 = 16.48 (df 1). \(\chi_1^2\) 에서 매우 유의 (\(p < 10^{-4}\)).
6.3 Weibull 모형
교대 절차 수렴 후: \(\widehat\alpha = 1.366\), deviance 34.13 / 39 d.f.
지수 대 Weibull 의 이탈도 감소 = 38.02 − 34.13 = 3.89 (df 1). \(\chi_1^2(0.05) = 3.84\) 바로 위 — 한계 유의. Weibull 이 지수보다 약간 나음.
\(\widehat\alpha = 1.366 > 1\): 시간이 갈수록 위험이 증가 (관해 후 시간이 지날수록 재발 위험 상승).
6.4 치료 효과 추정
Weibull 하에서 \(b_1 = 1.731\) (위약 대 실험군의 로그 위험 차이). 즉
\[\text{hazard ratio} = e^{1.731} = 5.65.\]
위약군의 위험이 실험군의 5.65 배. 95% 신뢰구간: \((2.52, 12.6)\) — 약물 효과가 강력하고 확실.
6.5 네 방법 비교 (Table 13.2)
| Model | \(\widehat b_1\) | SE |
|---|---|---|
| 지수 | 1.53 | 0.40 |
| Weibull | 1.73 | 0.41 |
| Cox (Peto 동률 처리) | 1.51 | 0.41 |
| Cox (Cox 동률 처리) | 1.63 | 0.43 |
놀라운 관찰: 네 추정치가 반 표준오차 이내 로 모두 일치. Cox 비모수의 SE 가 모수적 Weibull 보다 크지 않다 — 비모수의 효율 손실이 미미.
Efron (1977) 와 Oakes (1977) 가 이 현상을 이론적으로 설명.
기저 위험 \(\lambda(t)\) 의 형태 자체 가 공변량 효과 추정에 상관관계가 약하다 — 점근 직교성. 따라서 Cox 가 \(\lambda(t)\) 를 비모수로 두고 포기해도 \(\beta\) 의 정보는 거의 잃지 않는다.
이 직교성이 Cox 모형이 실무에서 그토록 선호되는 이유다. 기저 위험을 맞히지 않아도 공변량 효과를 잘 추정 한다.
7 Cox 의 부분 우도 (§13.5)
7.1 문제 — 기저 위험을 피하고 싶다
모수적 접근은 \(\lambda(t)\) 의 분포 형태 를 가정해야 한다. 이 가정이 틀리면 추정이 편향될 수 있다. Cox (1972a) 의 아이디어: \(\lambda(t)\) 를 추정하지 않고 \(\beta\) 만 추정 한다.
7.2 부분 우도의 구성
\(t_1 < t_2 < \cdots\) 를 고유 사망 시점. \(R(t_j)\) = “\(t_j\) 직전까지 살아있고 관찰 중인 개체 집합” (위험 집합, risk set).
“\(t_j\) 시점에 정확히 한 명 사망” 이라는 사건에 조건하면, 사망자가 실제 사망한 개체 일 조건부 확률:
\[ \Pr(\text{individual } j \text{ fails at } t_j \mid R(t_j), \text{one failure}) = \frac{h(t_j; x_j)}{\sum_{l \in R(t_j)} h(t_j; x_l)} = \frac{e^{\beta^T x_j}}{\sum_{l \in R(t_j)} e^{\beta^T x_l}}. \]
\(\lambda(t_j)\) 가 분자·분모에서 상쇄 된다. 이 조건부 확률에는 기저 위험이 없다.
부분 우도 (partial likelihood):
\[ L_P(\beta) = \prod_{j: w_j=1} \frac{e^{\beta^T x_j}}{\sum_{l \in R(t_j)} e^{\beta^T x_l}}. \]
이것을 정식 가능도처럼 최대화해 \(\widehat\beta\) 를 얻는다.
7.3 부분 우도의 성질
- \(\lambda(t)\) 를 전혀 추정하지 않는다.
- \(\widehat\beta\) 는 일치성 (consistent) 과 점근 정규성 을 가진다 (Andersen & Gill, 1982).
- 표준 최대우도 추론 (Wald·LRT·score) 이 그대로 적용.
7.4 동률 처리 (§13.5.2)
\(t_j\) 에 여러 명이 동시 사망하면 어떤 조합의 위험을 계산할지 모호. 세 가지 근사:
- Peto (1972): 분자에 합한 공변량 · 분모 변경 없음.
- Cox (1972): 모든 부분집합 곱 — 정확하지만 계산 비싸다.
- Breslow (1974): 분자에 합 · 분모에 그대로 — 가장 간단, 동률이 많으면 편향.
대규모 데이터에서는 Breslow, 소수 동률이면 Cox 가 표준.
8 Ch.13 전체 지도
| 섹션 | 주제 | 11-N (포스트 후속 계획) |
|---|---|---|
| §13.1 | 생존 데이터 · 위험 함수 | 이 글 (12-1) |
| §13.2 | 비례 위험 모형 | 이 글 + 12-2 |
| §13.3 | 모수적 추정 · Aitkin-Clayton | 이 글 + 12-3 |
| §13.4 | 백혈병 예제 | 이 글 요약 + 12-4 |
| §13.5 | Cox 모형 · 부분 우도 · 동률 | 12-5 |
| §13.6 | Bibliographic notes | 스킵 |
| §13.7 | Exercises | 12-6 |
이 글은 Ch.13 전체의 지도 를 제공한다. 후속 글에서 각 모수적 분포의 유도, Weibull 교대 절차의 수렴 증명, Cox 부분 우도의 점근 이론, 특정 예제의 상세 분석을 다룰 예정.
9 Python 실전 — 백혈병 데이터의 Aitkin-Clayton 방법
import numpy as np
import pandas as pd
import statsmodels.api as sm
# Freireich (1963) 백혈병 완화 시간 — 42 환자
# Sample 1 (실험 약물): 괄호 = 중도절단
t1 = [6, 6, 6, 6, 7, 9, 10, 10, 11, 13, 16, 17, 19, 20, 22, 23, 25, 32, 32, 34, 35]
w1 = [1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0] # 1=사망, 0=절단
# Sample 2 (위약): 모두 완전 관측
t2 = [1, 1, 2, 2, 3, 4, 4, 5, 5, 8, 8, 8, 8, 11, 11, 12, 12, 15, 17, 22, 23]
w2 = [1] * 21
t = np.array(t1 + t2)
w = np.array(w1 + w2)
group = np.array([0]*21 + [1]*21) # 0=drug, 1=placebo
# 지수 모형: offset = log(t), Poisson + log link
X = sm.add_constant(group.astype(float)[:, None])
offset = np.log(t)
m_exp = sm.GLM(w, X, family=sm.families.Poisson(), offset=offset).fit()
print("지수 모형:")
print(f" Deviance = {m_exp.deviance:.2f} / {m_exp.df_resid} d.f.")
print(f" 그룹 효과 β₁ = {m_exp.params[1]:.3f} ± {m_exp.bse[1]:.3f}")
print(f" Hazard ratio = {np.exp(m_exp.params[1]):.2f}")
# 절편만 모형 (비교)
m_null = sm.GLM(w, np.ones((42, 1)), family=sm.families.Poisson(), offset=offset).fit()
print(f"\n LRT (null vs group): {m_null.deviance - m_exp.deviance:.2f}")
# Weibull 모형: 교대 절차
def fit_weibull(w, t, X, max_iter=20, tol=1e-5):
alpha = 1.0
for it in range(max_iter):
offset = alpha * np.log(t)
m = sm.GLM(w, X, family=sm.families.Poisson(), offset=offset).fit()
mu_hat = m.fittedvalues
# α 갱신: n/α = Σ (μ̂ - w) log(t)
alpha_new = len(t) / np.sum((mu_hat - w) * np.log(t))
if abs(alpha_new - alpha) < tol:
break
alpha = alpha_new
return m, alpha
m_wei, alpha_hat = fit_weibull(w, t, X)
# 이탈도 보정: -2 n log α̂
n = len(t)
dev_wei = m_wei.deviance - 2 * n * np.log(alpha_hat)
print("\nWeibull 모형:")
print(f" α̂ = {alpha_hat:.3f}")
print(f" 보정 이탈도 = {dev_wei:.2f} / {m_wei.df_resid - 1} d.f.")
print(f" 그룹 효과 β₁ = {m_wei.params[1]:.3f}")
print(f" Hazard ratio = {np.exp(m_wei.params[1]):.2f}")기대 출력:
- 지수: deviance ≈ 38.0, \(\widehat\beta_1 \approx 1.53\), HR ≈ 4.62.
- Weibull: \(\widehat\alpha \approx 1.37\), 보정 이탈도 ≈ 34.1, \(\widehat\beta_1 \approx 1.73\), HR ≈ 5.65.
Cox 모형 비교는 lifelines 또는 scikit-survival 필요 — 여기서는 생략.
10 요약 — Ch.13 의 세 가지 메시지
10.1 메시지 1 — 생존 분석은 GLM 의 확장
중도절단과 시간 의존 공변량이라는 독특한 구조에도 불구하고, Aitkin-Clayton 환원 덕분에 모수적 비례 위험 모형 전체를 GLM 소프트웨어로 처리할 수 있다. 핵심은 “중도절단 지표 \(w_i\) 를 포아송 반응으로 + 누적 위험 로그를 offset 으로”.
10.2 메시지 2 — 모수적 vs 비모수적의 거리가 작다
지수·Weibull·Cox 세 접근이 비슷한 추정치를 낸다는 (Table 13.2) 것은 기저 위험 형태가 공변량 효과 추정과 점근적으로 직교 한다는 깊은 이론의 산물. 이 때문에 Cox 모형이 “분포 가정 없이도 효율적” 이라는 역설적 이점을 갖는다.
10.3 메시지 3 — 비례 가정은 검증 필요
(13.1) 의 위험비 시간 무관성은 강한 가정. 실제 데이터에서는 Schoenfeld 잔차 등으로 확인하고, 위배 시 계층화 모형 또는 시간 의존 \(\beta\) 로 확장해야 한다. Ch.12 의 진단 철학이 여기도 적용된다.
다음 포스트 (12-2, 12-3 등) 에서 각 부분을 심화한다.
11 관련 주제
선행 지식
- GLM 이론 기초 — 지수족·정준연결 (McCullagh §2.1)
- Likelihood Functions for Log-linear Models (McCullagh §6.2) — Aitkin-Clayton 환원이 로그선형 모형으로 귀결
- Model Checking — 개관 (McCullagh Ch.12) — 비례 가정 진단
관련 카테고리 — 일반 생존 분석
- 생존 분석 개요 — Kleinbaum 기반 — 임상·중도절단 개념의 더 자세한 설명
- (후속) Kaplan-Meier · 로그 순위 검정 · Cox 모형 상세
관련 개념
- 포아송 분포 (McCullagh §6.2) — Aitkin-Clayton 의 기반
- 지수 분포 — Casella-Berger
- Weibull 분포 — 신뢰성 공학
후속 주제 — Ch.13 심화 (placeholder)