콘텐츠로 이동

모수적 생존 모형

개요

모수적 생존 모형은 사건시간이 유한개의 모수로 완전히 지정되는 알려진 확률분포를 따른다고 가정한다. 비모수적인 카플란-마이어 추정량과 달리 모수 모형은 매끄러운 생존곡선과 위험곡선을 만들고, 외삽을 가능하게 하며, 정보기준을 통한 형식적 모형 비교를 지원한다. 이 절에서는 가장 흔한 세 모수족 --- 지수, 와이불, 로그정규 --- 을 다루고 절단자료의 최대가능도 추정을 보인다.

지수 모형

설정

지수분포는 가장 단순한 모수적 생존 모형으로, 비율모수 \(\lambda > 0\) 하나와 상수 위험으로 특징지어진다.

\[ h(t) = \lambda, \qquad S(t) = e^{-\lambda t}, \qquad f(t) = \lambda e^{-\lambda t} \]

평균 생존시간은 \(E[T] = 1/\lambda\)이다.

무기억성

지수분포는 무기억성으로 유일하게 특징지어진다.

\[ P(T > t + s \mid T > t) = P(T > s) \quad \text{for all } t, s \geq 0 \]

추가로 \(s\)만큼 더 생존할 확률이 이미 얼마나 오래 생존했는지에 의존하지 않는다는 뜻이다.

최대가능도 추정

시간 \(t_1, \ldots, t_n\)과 사건 지시자 \(\delta_1, \ldots, \delta_n\)(사건이면 \(\delta_i = 1\), 절단이면 \(0\))을 갖는 대상 \(n\)명에 대해 로그가능도는

\[ \ell(\lambda) = d \ln \lambda - \lambda \sum_{i=1}^{n} t_i \]

이며 \(d = \sum \delta_i\)다. \(\ell'(\lambda) = 0\)으로 놓으면

\[ \hat{\lambda} = \frac{d}{\sum_{i=1}^{n} t_i} \]

를 얻는다. MLE는 사건 수를 총 인시로 나눈 값이다.

와이불 모형

설정

와이불 분포는 척도모수 \(\lambda > 0\)에 형상모수 \(k > 0\)을 더해 지수분포를 일반화한다.

\[ h(t) = \frac{k}{\lambda}\left(\frac{t}{\lambda}\right)^{k-1} \]
\[ S(t) = \exp\!\left(-\left(\frac{t}{\lambda}\right)^k\right) \]
\[ f(t) = \frac{k}{\lambda}\left(\frac{t}{\lambda}\right)^{k-1}\exp\!\left(-\left(\frac{t}{\lambda}\right)^k\right) \]

형상모수의 역할

\(k\) 위험의 거동 해석
\(k < 1\) 감소 초기 고장이 지배적. 살아남은 것은 견고해짐
\(k = 1\) 일정 지수분포(\(\lambda\))로 환원
\(k > 1\) 증가 마모나 노화. 시간에 따라 위험이 커짐

중앙 생존시간은 \(t_{0.5} = \lambda (\ln 2)^{1/k}\)이다.

최대가능도 추정

와이불 모형의 로그가능도는

\[ \ell(k, \lambda) = d \ln k - dk \ln \lambda + (k-1)\sum_{i=1}^{n} \delta_i \ln t_i - \sum_{i=1}^{n}\left(\frac{t_i}{\lambda}\right)^k \]

이다. 닫힌 형태의 해는 없다. 수치 최적화(예: 뉴턴-랩슨이나 프로파일 가능도)를 쓴다.

와이불 가정 점검하기

와이불 모형은 로그-로그 척도에서의 선형성을 함의한다.

\[ \ln H(t) = k \ln t - k \ln \lambda \]

와이불 모형이 적절하다면 (넬슨-알렌 추정량으로 구한) \(\ln \hat{H}(t)\) 대 \(\ln t\) 그림이 직선에 가까워야 한다.

로그정규 모형

설정

로그정규 모형은 \(\ln T \sim N(\mu, \sigma^2)\)을 가정한다. 생존함수와 위험함수는 단순한 닫힌 형태가 없고 표준정규 누적분포함수 \(\Phi\)로 표현된다.

\[ S(t) = 1 - \Phi\!\left(\frac{\ln t - \mu}{\sigma}\right) \]
\[ f(t) = \frac{1}{t\sigma}\phi\!\left(\frac{\ln t - \mu}{\sigma}\right) \]
\[ h(t) = \frac{f(t)}{S(t)} \]

여기서 \(\phi\)는 표준정규 확률밀도함수다.

핵심 특징

로그정규 위험은 비단조다. 처음에 증가했다가 감소한다. 그래서 위험이 중간 시점에 정점을 이룬 뒤 내려가는 현상(예: 수술 후 회복, 특정 질병의 재발 양상)에 적합하다.

보기 1. 세 모수적 생존모형의 로그가능도. 아래 세 함수는 절단을 포함한 음의 로그가능도를 계산한다.

(1) 지수모형의 로그가능도 \(\ell(\lambda) = d\ln\lambda - \lambda\sum_i t_i\)에서 최대가능도추정량이 \(\hat\lambda = d/\sum_i t_i\)임을 유도하시오(\(d\)는 사건 수). 절단된 관측도 분모의 총 관찰시간에 들어간다는 점을 설명하시오.

(2) 와이불 로그가능도에 \(k = 1\)을 넣으면 지수 로그가능도와 정확히 같아짐을 식으로 보이고, 둘 다 코드로 확인하시오.

풀이

(1) 해석적으로. 위험이 상수 \(\lambda\)이면 \(f(t) = \lambda e^{-\lambda t}\), \(S(t) = e^{-\lambda t}\)다. 사건을 겪은 사람은 \(f(t_i)\)를, 절단된 사람은 \(S(t_i)\)를 기여하므로 가능도는

\[ L(\lambda) = \prod_{i:\,\delta_i=1}\lambda e^{-\lambda t_i}\;\prod_{i:\,\delta_i=0} e^{-\lambda t_i} = \lambda^{d}\,e^{-\lambda\sum_i t_i} \]

이다. 지수항이 두 무리에서 똑같은 꼴이라 전부 합쳐지고, \(\lambda\)의 거듭제곱만 사건 수 \(d\)만큼 남는다. 그래서 자료가 \((d, \sum_i t_i)\) 두 수로 요약된다. 로그를 취하면

\[ \ell(\lambda) = d\ln\lambda - \lambda\sum_i t_i, \qquad \ell'(\lambda) = \frac{d}{\lambda} - \sum_i t_i = 0 \quad\Longrightarrow\quad \hat\lambda = \frac{d}{\sum_i t_i} \]

이고 \(\ell''(\lambda) = -d/\lambda^2 < 0\)이므로 최대다.

분모가 관측 수 \(n\)이 아니라 총 관찰시간이라는 점이 핵심이다. 절단된 사람은 분자에 사건을 보태지 않지만 분모에는 자기가 지켜본 시간만큼 기여한다. \(\hat\lambda\)는 "단위 시간당 몇 건이 일어났는가"이고, 이것이 역학에서 말하는 발생률이다. 절단을 버리면 분모가 줄어 위험을 과대평가하게 된다.

(2) 해석적으로. 코드의 와이불 로그가능도에 \(k = 1\)을 넣는다.

\[ \ell_W(1, \lambda) = d\ln 1 - d\cdot 1\cdot\ln\lambda + (1-1)\sum_i \delta_i\ln t_i - \sum_i\left(\frac{t_i}{\lambda}\right)^1 = -d\ln\lambda - \frac{1}{\lambda}\sum_i t_i \]

이다. 셋째 항의 계수 \(k-1\)이 0이 되어 통째로 사라진다. 한편 지수 로그가능도에 비율 \(\lambda_E = 1/\lambda\)를 넣으면

\[ \ell_E\!\left(\frac1\lambda\right) = d\ln\frac1\lambda - \frac{1}{\lambda}\sum_i t_i = -d\ln\lambda - \frac{1}{\lambda}\sum_i t_i \]

로 글자 하나까지 같다. 근사가 아니라 항등식이다. 와이불의 \(\lambda\)가 척도이고 지수의 \(\lambda\)가 비율이어서 서로 역수라는 점만 맞추면 된다.

그래서 두 모형은 내포 관계다. 와이불이 모수를 하나 더 쓰면서 \(k = 1\)에서 지수를 품으므로, \(H_0: k = 1\)에 대한 가능도비검정을 자유도 1로 할 수 있다.

(1)(2) 수치적으로.

import numpy as np
from scipy.optimize import minimize
from scipy.stats import norm

def neg_loglik_exponential(lam, times, events):
    """지수모형의 음의 로그가능도.

    위험함수가 시간에 관계없이 일정하다고 본다. 가장 단순한 모형이라
    사건 수와 총 관찰시간만 있으면 되고, MLE 도 그 비로 바로 나온다.
    """
    d = events.sum()
    total_time = times.sum()
    return -(d * np.log(lam) - lam * total_time)

def neg_loglik_weibull(params, times, events):
    """와이불모형의 음의 로그가능도.

    모양모수 k 가 위험함수의 방향을 정한다. k>1 이면 시간이 갈수록 위험이
    커지고(마모), k<1 이면 작아지며(초기 결함), k=1 이면 지수모형이 된다.
    지수모형을 특수한 경우로 품고 있는 셈이다.
    """
    k, lam = params
    d = events.sum()
    ll = (d * np.log(k)
          - d * k * np.log(lam)
          + (k - 1) * np.sum(events * np.log(times + 1e-15))
          - np.sum((times / lam) ** k))
    return -ll

def neg_loglik_lognormal(params, times, events):
    """로그정규모형의 음의 로그가능도.

    위험함수가 올랐다가 다시 내려가는 모양이 된다. 수술 직후 위험이 높다가
    회복하면서 낮아지는 자료처럼, 와이불로는 담기 어려운 경우에 쓴다.
    """
    mu, sigma = params
    # 1e-15 를 더하는 것은 시각이 0 일 때 로그가 발산하는 것을 막기 위함이다.
    z = (np.log(times + 1e-15) - mu) / sigma
    # 사건이 관측된 사람은 밀도함수를, 중도절단된 사람은 생존함수(logsf)를
    # 기여한다. 중도절단 자료를 다루는 가능도의 일반적인 꼴이다.
    ll = np.sum(
        events * norm.logpdf(z) - events * np.log(sigma * times + 1e-15)
        + (1 - events) * norm.logsf(z)
    )
    return -ll

# --- 자료를 만든다. 참 비율 0.1, t = 15 에서 행정절단 ---
rng = np.random.default_rng(1)
n = 200
T = rng.exponential(10.0, n)
times = np.minimum(T, 15.0)
events = (T <= 15.0).astype(int)

d, S = events.sum(), times.sum()
print(f"n = {n}, 사건 d = {d}, 총 관찰시간 = {S:.4f}")
print(f"해석적 lambda_hat = d / sum(t) = {d / S:.6f}   (참값 0.1)")

res = minimize(neg_loglik_exponential, x0=[0.05], args=(times, events),
               bounds=[(1e-8, None)])
print(f"수치최적화 lambda_hat = {res.x[0]:.6f},  -ll = {res.fun:.6f}")
print(f"해석적 자리의 -ll      = {neg_loglik_exponential(d / S, times, events):.6f}")

# --- (2) k = 1 에서 두 로그가능도가 같아야 한다 ---
for lam_scale in (5.0, 10.0, 23.7):
    a = neg_loglik_weibull((1.0, lam_scale), times, events)
    b = neg_loglik_exponential(1.0 / lam_scale, times, events)
    print(f"  scale={lam_scale}: 와이불(k=1) {a:.9f}   지수(1/scale) {b:.9f}   차 {a - b:.2e}")

print(f"  SE(lambda_hat) = lambda_hat/sqrt(d) = {(d / S) / np.sqrt(d):.6f},  "
      f"z = {(0.1 - d / S) / ((d / S) / np.sqrt(d)):+.2f}")

출력:

n = 200, 사건 d = 156, 총 관찰시간 = 1598.9815
해석적 lambda_hat = d / sum(t) = 0.097562   (참값 0.1)
수치최적화 lambda_hat = 0.097562,  -ll = 519.053513
해석적 자리의 -ll      = 519.053513
  scale=5.0: 와이불(k=1) 570.868604999   지수(1/scale) 570.868604999   차 -1.14e-13
  scale=10.0: 와이불(k=1) 519.101419837   지수(1/scale) 519.101419837   차 0.00e+00
  scale=23.7: 와이불(k=1) 561.281679379   지수(1/scale) 561.281679379   차 0.00e+00
  SE(lambda_hat) = lambda_hat/sqrt(d) = 0.007811,  z = +0.31

해석적 답과 수치최적화가 소수 여섯째 자리까지 같다. 두 자리에서의 음의 로그가능도도 \(519.053513\)으로 일치하니 최적화가 같은 점을 찾았다.

\(\hat\lambda = 0.097562\)는 참값 \(0.1\)에서 \(0.31\) 표준오차 떨어져 있다. 표준오차가 \(\hat\lambda/\sqrt d\)인 것도 (1)에서 나온다. \(\ell''(\lambda) = -d/\lambda^2\)이므로 관측정보가 \(d/\hat\lambda^2\)이고 그 역수의 제곱근이 \(\hat\lambda/\sqrt d\)다. 정밀도를 정하는 것은 표본크기 \(n = 200\)이 아니라 사건 수 \(d = 156\)이며, 생존연구에서 "사건 수가 검정력을 정한다"고 말하는 까닭이 이것이다.

\(k = 1\)에서 두 로그가능도의 차이가 세 척도 모두 \(10^{-13}\) 이하다. 부동소수점 오차 수준이므로 (2)의 항등식이 그대로 확인된다.

각 함수는 표준 최소화 루틴을 쓸 수 있도록 음의 로그가능도를 계산한다. 사건 지시자 events[i] 는 관측된 사건이면 1, 절단이면 0이다. 절단된 대상은 생존함수 항 \(\ln S(t_i)\)을 통해 기여한다.

\(\varepsilon = 10^{-15}\) 보정에 대하여

코드의 times + 1e-15는 \(t_i = 0\)일 때 \(\log 0\)을 피하기 위한 것이다. 생존시간이 엄밀히 양수라면 필요 없지만, 자료에 \(t = 0\)이 섞여 있으면 방어가 된다. 다만 \(t = 0\)인 관측치가 실제로 있다면 그것은 자료 오류일 가능성이 높으므로, 보정으로 덮기보다 원인을 확인하는 편이 낫다.

또한 최적화 시 \(k, \lambda, \sigma\)가 양수여야 하므로, 21.3절에서 권한 대로 로그 척도에서 최적화하거나 minimize(..., bounds=...)로 제약을 걸어야 한다. 위 함수들을 그대로 무제약 최적화에 넘기면 음수 모수에서 nan이 발생할 수 있다.

모형 선택

모수 모형은 최대화된 로그가능도 \(\hat{\ell}\)과 모수 개수 \(p\)로 계산한 정보기준으로 비교한다.

\[ \text{AIC} = -2\hat{\ell} + 2p \]
\[ \text{BIC} = -2\hat{\ell} + p \ln n \]

값이 낮을수록 적합도와 복잡도의 절충이 낫다. 지수 모형은 \(p = 1\), 와이불과 로그정규는 \(p = 2\)다.

지수 모형은 와이불에 내포되어 있으므로(\(k = 1\)), 가능도비 검정으로 형상모수가 추가로 필요한지를 형식적으로 검정할 수 있다.

\[ \Lambda = 2[\hat{\ell}_{\text{Weibull}} - \hat{\ell}_{\text{Exp}}] \;\xrightarrow{d}\; \chi^2_1 \]

그림 진단

적합된 모수적 생존곡선을 언제나 카플란-마이어 추정치와 비교하라. AIC가 무엇을 말하든 크게 어긋나면 모형이 잘못 지정된 것이다.

같은 자료에 적합한 세 모형의 생존곡선과 위험함수

참값이 로그정규(\(\mu = 3.2\), \(\sigma = 0.8\))인 자료 \(n = 400\)을 만들고 무작위로 절단해 절단율 \(36.5\%\), 사건 254건을 얻은 뒤 세 모형을 최대가능도로 적합했다. 결과는 \(\hat\lambda = 0.0271\)(지수), \(\hat k = 1.43\)·\(\hat\lambda = 35.6\)(와이불), \(\hat\mu = 3.21\)·\(\hat\sigma = 0.83\)(로그정규)이고 AIC는 각각 \(2342\), \(2297\), \(2262\)다. AIC가 로그정규를 고르며, 참값을 정확히 되찾았다.

그런데 왼쪽 그림을 보면 그 승부가 눈으로는 잘 보이지 않는다. 지수 모형(붉은 파선)은 초반에 카플란-마이어보다 아래로 처져 눈에 띄게 어긋나지만, 와이불(주황 점선)과 로그정규(파란 실선)는 계단을 따라 거의 나란히 지나간다. 둘의 AIC 차이 \(35\)는 통계적으로 결정적인 크기인데, 생존곡선 위에서는 \(t = 50\) 부근에서 겨우 \(0.02\) 정도 벌어질 뿐이다.

오른쪽으로 옮기면 사정이 달라진다. 같은 세 적합의 위험함수가 서로 완전히 다른 이야기를 한다. 지수는 \(0.0271\)로 평평하고, 와이불은 \(\hat k = 1.43 > 1\)이라 끝없이 올라가며, 로그정규는 \(t \approx 23\)개월에서 \(h = 0.039\)로 정점을 찍고 내려온다. "이 대출들의 부도 위험은 앞으로 커지는가, 줄어드는가"라는 실무 질문에 두 모형이 정반대로 답한다. 30개월 이후를 보면 와이불은 위험이 계속 커진다고 하고 로그정규는 이미 고비를 넘겼다고 한다.

그러니 순서를 이렇게 잡는 것이 좋다. AIC로 후보를 좁히고, 생존곡선 그림으로 큰 오지정을 걸러내고, 위험함수 그림으로 결론이 실제로 무엇을 뜻하는지 확인한다. 위 그림에서 지수 모형은 두 번째 단계에서 탈락하고, 와이불과 로그정규의 승부는 첫 번째 단계가 가른다. 그리고 그 승부의 실질적 의미는 세 번째 단계에서야 드러난다. 어느 한 단계만으로는 부족하다.

해석

  • 지수 모형: 위험이 대략 일정할 때 적절하다. 기준선으로 유용하지만 실제로 정확한 경우는 드물다.
  • 와이불 모형: 단조 위험을 포착한다. 형상모수 \(k\)가 위험이 시간에 따라 증가하는지(\(k > 1\)) 감소하는지(\(k < 1\))를 곧바로 알려 준다.
  • 로그정규 모형: 올랐다가 내려가는 비단조 위험에 적합하다. 초기 위험이 높지만 장기 생존자의 위험은 감소하는 의학적 응용에서 흔하다.
  • 모형 선택: 비내포 비교에는 AIC/BIC를, 내포 모형에는 가능도비 검정을 쓴다. 언제나 그림 점검으로 보완하라.

연습문제

연습문제 1. 지수 모형의 MLE

어떤 연구가 대상 25명을 추적한다. 관측된 사건이 16건(\(d = 16\))이고 총 인시는 \(\sum t_i = 3{,}200\)시간이다.

(a) MLE \(\hat{\lambda}\)를 계산하라.

(b) 평균 생존시간과 \(t = 100\)에서의 생존확률을 추정하라.

풀이

(a) \(\hat{\lambda} = d / \sum t_i = 16 / 3200 = 0.005\)(시간당).

(b) 평균 생존시간은 \(1/\hat{\lambda} = 200\)시간이다.

\(t = 100\)에서의 생존율은

\[ \hat{S}(100) = e^{-0.005 \times 100} = e^{-0.5} = 0.607 \]

연습문제 2. 와이불 형상모수의 해석

장비 고장 자료에 적합한 와이불 모형이 \(\hat{k} = 2.3\), \(\hat{\lambda} = 800\)시간을 주었다.

(a) 위험이 증가하는가 감소하는가?

(b) 고장까지의 중앙시간을 계산하라.

(c) \(t = 400\)과 \(t = 600\)에서의 추정 위험을 비교하라.

풀이

(a) \(\hat{k} = 2.3 > 1\)이므로 위험이 시간에 따라 증가한다. 장비가 마모된다.

(b) \(t_{0.5} = \lambda (\ln 2)^{1/k} = 800 \times (0.6931)^{1/2.3} = 800 \times 0.6931^{0.4348} = 800 \times 0.8527 = 682.2\)시간.

(c) \(t = 400\)에서

\[ \hat{h}(400) = \frac{2.3}{800}\left(\frac{400}{800}\right)^{1.3} = 0.002875 \times 0.5^{1.3} = 0.002875 \times 0.4061 = 0.001168 \]

\(t = 600\)에서

\[ \hat{h}(600) = \frac{2.3}{800}\left(\frac{600}{800}\right)^{1.3} = 0.002875 \times 0.75^{1.3} = 0.002875 \times 0.6880 = 0.001978 \]

이다. \(t = 600\)의 위험이 \(t = 400\)의 약 \(1.69\)배로, 위험이 증가한다는 사실과 부합한다.

위험비는 시간의 비만으로 결정된다

와이불에서 \(h(t) \propto t^{k-1}\)이므로

\[ \frac{h(t_2)}{h(t_1)} = \left(\frac{t_2}{t_1}\right)^{k-1} \]

이다. 여기서 \((600/400)^{1.3} = 1.5^{1.3} = 1.69\)로 척도모수 \(\lambda\)가 소거된다. 즉 위험의 상대적 증가는 형상모수만으로 정해지고, \(\lambda\)는 절대 수준만 조절한다.

연습문제 3. 로그정규 위험의 모양

(a) 로그정규 위험함수가 왜 비단조인지 설명하라.

(b) \(\mu = 3\), \(\sigma = 0.8\)인 로그정규 모형에서 중앙 생존시간을 계산하라.

풀이

(a) 로그정규 위험 \(h(t) = f(t)/S(t)\)는 밀도와 생존함수의 비다. \(t\)가 작으면 밀도 \(f(t)\)가 증가하는 동안 \(S(t)\)는 1에 가까우므로 위험이 증가한다. \(t\)가 크면 \(f(t)\)와 \(S(t)\)가 모두 감소하지만 \(f(t)\)가 더 빨리 감소하여 위험이 결국 내려간다. 그 결과 봉우리형 위험곡선이 된다.

(b) 로그정규분포에서 \(T\)의 중앙값은 \(e^{\mu}\)다. \(\ln T \sim N(\mu, \sigma^2)\)의 중앙값이 \(\mu\)이고 지수함수가 단조증가이므로 \(e^\mu\)가 \(T\)의 중앙값이 된다. 따라서

\[ t_{0.5} = e^{3} = 20.09 \]

중앙 생존시간은 약 20.1 시간단위다. 중앙값이 \(\sigma\)와 무관하다는 점에 주목하라. \(\sigma\)는 분포의 퍼짐만 조절하며 평균 \(e^{\mu + \sigma^2/2} = e^{3.32} = 27.7\)에는 영향을 준다.

연습문제 4. 모형 비교

어떤 분석자가 대상 100명의 같은 자료에 모형 세 개를 적합했다. 결과는 다음과 같다.

모형 모수 최대 로그가능도
지수 1 \(-312.5\)
와이불 2 \(-298.1\)
로그정규 2 \(-300.3\)

(a) 각 모형의 AIC를 계산하라.

(b) \(\alpha = 0.05\)에서 지수 대 와이불의 가능도비 검정을 수행하라.

(c) 어느 모형을 고르겠는가? 이유는?

풀이

(a) AIC \(= -2\hat{\ell} + 2p\)이므로,

  • 지수: \(-2(-312.5) + 2(1) = 627.0\)
  • 와이불: \(-2(-298.1) + 2(2) = 600.2\)
  • 로그정규: \(-2(-300.3) + 2(2) = 604.6\)

(b) 가능도비 통계량은

\[ \Lambda = 2[-298.1 - (-312.5)] = 2 \times 14.4 = 28.8 \]

이다. \(H_0: k = 1\) 아래에서 \(\Lambda \sim \chi^2_1\)이고 \(\alpha = 0.05\)의 임계값은 3.84다. \(28.8 \gg 3.84\)이므로 지수 모형을 기각하고 와이불을 택한다. 위험이 일정하지 않다.

(c) 와이불 모형의 AIC가 600.2로 가장 낮고, 가능도비 검정에서 지수 모형보다 유의하게 낫다. 로그정규보다도 낫다(AIC 600.2 대 604.6). 이 자료에서 와이불이 적합도와 간결성의 절충이 가장 좋다.

다만 와이불과 로그정규의 AIC 차이 \(4.4\)는 결정적이라 하기에는 크지 않다. 두 모형은 위험의 모양에 대해 전혀 다른 이야기를 한다(단조 증가 대 봉우리형). 관측 구간 안에서 예측만 한다면 어느 쪽이든 비슷하지만, 위험의 모양 자체가 결론이거나 외삽이 필요하다면 AIC 차이 \(4.4\)에 의존해서는 안 된다. 넬슨-알렌 누적위험 그림을 보고 어느 쪽이 자료의 모양과 맞는지 직접 확인하라.

연습문제 5. 절단이 있는 가능도

밀도가 \(f(t)\)이고 생존함수가 \(S(t)\)인 모수적 생존 모형에서, 시점 \(t_i\)에 절단된 관측치의 가능도 기여가 \(f(t_i)\)가 아니라 \(S(t_i)\)임을 보여라.

풀이

시점 \(t_i\)의 관측된 사건에 대해서는 사건이 무한소 구간 \([t_i, t_i + dt)\)에서 일어났음을 안다. 그 확률이 \(f(t_i)\,dt\)이므로 (비례상수를 무시하면) 가능도 기여는 \(f(t_i)\)다.

시점 \(t_i\)에 절단된 관측치에 대해서는 참 사건시간 \(T_i\)가 \(t_i\)를 넘는다는 것만 안다. 그 확률은

\[ P(T_i > t_i) = S(t_i) \]

이다. 따라서 가능도 기여는 \(f(t_i)\)가 아니라 \(S(t_i)\)다. 두 경우를 합치면 대상 \(i\)의 가능도는

\[ L_i = [f(t_i)]^{\delta_i} [S(t_i)]^{1-\delta_i} \]

이며 사건이면 \(\delta_i = 1\), 절단이면 \(\delta_i = 0\)이다. 이것이 절단자료를 다루는 모든 모수적 생존 모형 추정의 기초다. \(\square\)


정리하며

모수 모형은 매끄러운 곡선과 외삽을 준다.

  • 카플란–마이어의 계단과 대조된다. 분포를 가정한 대가로 매끄러운 \(\hat S(t)\) 와 \(\hat h(t)\) 를 얻고, 관측 범위 밖으로 외삽할 수 있다.
  • 모수가 적어 효율적이다. 가정이 맞으면 비모수보다 정밀하며, 특히 표본이 작을 때 이득이 크다.
  • 가정이 틀리면 편향된다. 그것이 대가이며, 진단이 필수다.
  • 모형 선택은 AIC 와 진단 그림으로 한다. 누적위험 그림의 모양이 어느 분포가 맞는지 알려 주며, 13장의 정보기준이 그대로 쓰인다.
  • 외삽은 조심해야 한다. 관측 기간 밖의 예측은 전적으로 분포 가정에 의존하므로, 5년 자료로 20년을 예측하는 일은 위험하다.

다음 절부터 콕스 비례위험 모형으로 넘어간다.