1 5.1 — Design Considerations
1.1 5.1.1 강점 2 가지 (통계적 강조)
Woodward 는 코호트의 첫 강점을 “direct information on the sequence of happenings” 로 표현한다 (2014, Ch.5.1.1). 이는 다음 세 단계로 풀린다.
- 추상 정의: \(T_{\text{exposure}} < T_{\text{outcome}}\) 이 자료에서 직접 확인됨. 시간 우선성(temporality) 의 자료적 보장.
- 일상어 비유: 등산 코스에서 출발선(노출)을 통과한 후 정상(결과)에 도달했다는 GPS 기록이 있는 것과 같다. 한 번에 시간 도장이 찍힌다.
- 반사실 시나리오: Cross-sectional 자료에서 흡연-우울이 동시 측정되면, 자료만으로 “흡연 → 우울” 인지 “우울 → 흡연” 인지 구분 불가. Cohort 는 이 구분을 자료 자체에서 제공.
강점 2 — 다중 결과 동시 추적: 흡연(노출 1) → 폐암·심장병·기종·뇌졸중(결과 다수). 통계적 의미는 다변량 모형의 가능성이다. 같은 표본에서 여러 결과의 위험을 함께 추정하면 결과 간 상관(예: 폐암-심장병의 동반 위험)까지 모형화할 수 있다.
같은 사람이 여러 결과를 겪을 수 있다 (multivariate failure time). 분석 옵션:
- 단일 결과 분석 반복: 결과별 별도 KM/Cox. 단순하지만 결과 간 상관 무시.
- Marginal 모형 (Wei-Lin-Weissfeld): 결과별 marginal 모형 + robust SE 로 상관 보정.
- Frailty 모형: 사람 단위 random effect 로 결과 상관을 명시 모형화.
1.2 5.1.2 약점 6 가지 — 통계적 함의
| 약점 | 통계적 의미 |
|---|---|
| 1. 비용·시간 | 표본 크기 한계 → 검정력 ↓ → 작은 효과 미감지 |
| 2. 잠복기 긴 질병 부적합 | 추적 기간 < 최소 검출 시점 → false negative |
| 3. 희귀 결과 부적합 | 사건 수 ↓ → 신뢰구간 wide |
| 4. Study effect | Hawthorne 효과 — 측정 자체가 결과 수정 |
| 5. Exposure 변화 | 시간 의존 공변량 모형 필요 (Section 9.11) |
| 6. Withdrawals | 차별 이탈 시 편향 — Section 5.6 의 경쟁 위험으로 처리 |
1.2.1 Study Effect 의 정밀화
가설: 흡연자 코호트가 등록되면, 자신의 흡연이 연구되고 있다는 사실에서 식이를 더 건강하게 바꾼다 → CHD 발생률이 일반 흡연자보다 낮음 → 흡연 효과가 과소 추정.
3 단계 직관:
- 추상: \(E[Y \mid X, \text{study}] \neq E[Y \mid X]\) — 연구 참여 자체가 결과 분포를 변경.
- 일상어 비유: 직원의 PC 사용을 모니터링하는 정책이 도입되면 PC 사용 패턴이 바뀐다 (Hawthorne 효과). 모니터링이 패턴을 측정하는 것이 아니라 패턴을 만든다.
- 반사실: Non-factor 군도 같은 study effect 를 받으면 두 군의 차이는 보존됨. 단 차이 분석에는 잔존 위험.
해법: non-factor 군 포함 + sensitivity analysis. 또는 RCT 로 전환하여 blinding 으로 통제.
1.2.2 Exposure 변화 (Contamination)
긴 추적에서 노출이 시간에 따라 변한다.
예시: baseline 흡연자가 몇 주 후 금연. 분석에서 그를 계속 흡연자로 분류하면 흡연 효과가 희석된다 (intent-to-treat 식 분류).
- 추상: 노출 변수 \(X(t)\) 가 시간 함수. 위험 함수 \(h(t \mid X(t)) = h_0(t) \exp(\beta X(t))\).
- 일상어 비유: 실시간 GPS 추적 vs 출발 시점 한 번 위치만. 출발만 보면 도중에 코스를 바꾼 것을 모름.
- 반사실: Time-varying 모형 없이 baseline 분류만 쓰면 contamination 으로 노출 효과가 평탄화됨. 진성 dose-response 가 흐려짐.
해법: 시간 의존 Cox 모형, person-years 분할 (Section 5.7), 일반화 추정 방정식 (GEE, Section 9.11).
1.2.3 Withdrawals — 편향 방향 추정
가설: 석탄 광부가 기관지염으로 더 따뜻한 기후로 이주 → withdrawal. 또는 폐암으로 우울증이 와 자살 → withdrawal.
3 단계 직관:
- 추상: \(P(\text{withdraw} \mid X, Y) \neq P(\text{withdraw} \mid X)\) — 이탈 확률이 결과에 의존.
- 일상어 비유: 시험 중간에 어려워서 백지 제출하는 학생이 많을수록 시험의 평균 점수가 부풀려짐 (남은 학생만 본다면).
- 반사실: 만약 이탈이 결과와 무관(MAR) 하다면 censoring 으로 안전 처리. 결과 의존이면 이탈을 양성 사건으로 처리하거나 sensitivity analysis 필수.
Woodward 의 핵심 메시지: 차별 이탈은 결과가 노출에 더 작은 영향을 주는 것처럼 보이게 한다 (favor risk factor). 즉 이탈 분석을 빼먹으면 위험 인자의 효과를 과소 추정하는 방향으로 편향.
1.3 5.1.3 — 경제적 변형 5 가지
각 변형의 통계적 비용을 더 정밀히 본다.
| 변형 | 절약 | 통계적 비용 | 추천 |
|---|---|---|---|
| 1. Non-factor 군 생략 | 추적 표본 ↓ | 비교 불가, background vs factor 구분 못함 | 추천 안 함 |
| 2. 외부 비교군 (국가 통계) | 한 군만 추적 | 자료 불완전·세밀도 부족 + 시간/공간 불균질 | 차선 |
| 3. 사망만 결과로 | 진단 비용 ↓ | 표본 크기 ↑ 또는 추적 ↑ 필요 | 사망이 핵심이면 OK |
| 4. 루틴 통계 사용 | 능동 추적 비용 ↓ | 자료 누락·이주 손실 | 두 군이 동등한 노출이면 OK |
| 5. Retrospective | 시간 ↓ | 자료 정확성 의존 | 직업 사망 연구에 적합 |
1.3.1 외부 비교군의 함정 — Wong (1990) 의 styrene 연구
가설: styrene 노출 노동자의 사인별 사망률을 미국 인구 통계와 비교 (Wong, 1990).
- 추상: \(\text{IR}_{\text{exposed}} / \text{IR}_{\text{population}}\) — 인구 IR 이 모든 사망 원인을 포함한 평균.
- 일상어 비유: 한 회사의 평균 임금을 전국 평균과 비교. 회사가 IT 산업이면 더 높은 것이 회사 효과인지 산업 효과인지 모른다.
- 반사실: Healthy worker effect 가 인구 비교를 noisy 하게 만든다. 같은 산업 다른 직무 비교가 더 정직.
여기서 핵심 통계 도구가 Standardised Mortality Ratio (SMR) 다 — 외부 비교군 사용 시 표준화 도구. WOO Ch.4.5 에서 본격 다룸 (Phase B B43~B46 참조).
1.4 5.1.4 — Single Baseline Sample
가장 흔한 코호트 설계. Baseline 에 무작위 표본 추출 → 측정 후 factor / non-factor 사후 분류.
1.4.1 SHHS 사례 — 다중 위험 인자 동시 추적
Scottish Heart Health Study (Tunstall-Pedoe et al., 1997): baseline 에서 스코틀랜드 남녀 random sample → 설문 + 검진 클리닉 → 여러 위험 인자 측정 (흡연·콜레스테롤·BP·BMI·가족력 등).
- 사전 분류 불필요: baseline 측정 → 데이터로 분류.
- 다중 위험 인자: 흡연 + 부모 CHD 병력 등 동시 분석.
- 무편향 prevalence 추정: 무작위 표본이면 인구 prevalence 무편향 → attributable risk 산출 가능.
- 연속 변수 활용: 흡연 패턴을 카테고리(never/ex/current) 가 아니라 개비/일 같은 연속으로 다룸 → 더 풍부한 dose-response.
1.4.2 단점: 비대칭 분포
가설: 인구 흡연율이 25% 라면, single baseline 표본에서도 factor:non-factor ≈ 25:75. 이 비대칭이 검정력 손실을 만든다.
3 단계 직관:
- 추상: 두 비율 비교의 효율은 \(p \cdot q = p \cdot (1-p)\) 가 최대인 \(p = 0.5\) 에서 최대. 비대칭이 클수록 효율 ↓.
- 일상어 비유: 100 명 중 50:50 분할이 효과 검출에 가장 유리. 25:75 라면 같은 효과 검출에 더 큰 표본 필요.
- 반사실: 단일 위험 인자만 관심이고 비용이 큰 경우, factor:non-factor 를 1:1 로 맞춘 매칭 코호트가 효율적. 그러나 다중 인자 분석 가능성을 잃음.
1.4.3 Random sample 이 꼭 필요한가 — EGAT 사례
Woodward 가 자세히 다루는 비판 (2014, Ch.5.1.4): single baseline sample 이 일반 인구의 random sample 일 필요는 없다. Relative risk 추정만 관심이라면, 표본의 비-대표성이 effect modifier 가 아닌 한 일반화 가능.
EGAT (Electricity Generating Authority of Thailand) 코호트 — 직원 대상 CV 위험 인자 추적.
- 일반 태국인의 CV 사망률과 다름: healthy worker effect.
- 일반 태국인의 baseline 흡연율과 다름: 직업·소득 효과.
- 그러나 흡연-CV 사망의 RR 은 일반 인구와 같을 가능성 높음 (효과 수정자가 없으면).
- 추상: \(\text{RR}_{\text{EGAT}} = \text{RR}_{\text{general}}\) — 효과 수정 없으면 RR 은 표본 간 일정.
- 일상어 비유: 한 도시의 흡연-건강 관계가 다른 도시와 같을 가능성 — 두 도시의 baseline 차이가 흡연 효과 자체를 바꾸지 않는 한.
- 반사실: 만약 직장 환경(stress·교대 근무)이 흡연 효과를 강화한다면 EGAT RR 이 일반 RR 보다 클 수 있음 → 일반화 부적절.
이 통찰이 IT A/B 테스트의 외적 타당도와 직접 연결된다 — opt-in 사용자만 본 RR 의 일반화는 effect modification 의심이 없다면 합리적.
1.4.4 ALSPAC — 출생 코호트의 풍부함
Avon Longitudinal Study of Pregnancy and Childhood (1991~1992 임신 14,893 건) — 출생 코호트의 본보기. Baseline 정보가 풍부 (모친·부친 설문 + 의료 기록 + 생물 표본). 후속 분석 가능 결과: 모친 흡연-출생체중, 임신 중 음주-아동 정신건강·학업 (Sayal et al., 2013).
이런 풍부한 baseline 이 single baseline sample 설계의 진가를 보여준다 — 한 번의 모집으로 수십 년의 연구 가능.
2 5.2 — Analytical Considerations
2.1 5.2.1 Concurrent Follow-up (고정 코호트)
가장 단순한 분석 상황: 모두 같은 시점·같은 기간 추적.
- Fixed cohort: 모든 사람의 등록 시점 = baseline, 추적 기간 = \(T_{\max}\) 동일.
- Variable cohort: 위 두 조건 중 하나 이상 위반.
Fixed cohort 분석: Ch.3 의 단순 RR/RD 분석으로 충분. 교란·상호작용은 Ch.4 의 표준 방법으로.
Fixed cohort 의 한계:
가설: 50 세의 고혈압이 첫 몇 년 사망률 위험 인자이지만 30 년 추적에서는 위험이 사라질 수 있다.
3 단계 직관:
- 추상: \(\text{RR}(t)\) 가 \(t\) 에 따라 변하면, “전체 추적 기간의 평균 RR” 은 의미가 흐려짐.
- 일상어 비유: 한 약이 첫 6 개월 효과 ↑ 그 후 효과 0 이라면 12 개월 평균은 진성 효과 패턴을 가린다.
- 반사실: 모든 사람이 결국 사망하므로 충분히 긴 추적에서 모든 사망률 RR 은 1 에 수렴. 단순 RR 은 시간 차원을 잃음.
해법: 생존 분석 — 사건 시점 자체를 분석. Section 5.3~5.5 에서 본격 다룸.
2.2 5.2.2 Moving Baseline Dates
SHHS 의 사례: 35 개월에 걸친 등록. 시간 동질성 가정으로 처리.
- 추상: \(h(t \mid \text{calendar date}) = h(t)\) — 위험 함수가 baseline 의 달력 시점에 무관.
- 일상어 비유: 1984 년 등록자와 1987 년 등록자가 자기 baseline 후 5 년 시점에 같은 위험률.
- 반사실: 만약 1986 년에 의료 표준이 바뀌어 진단 도구가 향상되었다면, 1987 등록자는 baseline 진단이 더 정확. 두 사람의 5 년 위험률이 다를 수 있음 → calendar period 효과 분리 필요.
2.2.1 점검 방법
- Period × cohort 상호작용 검정.
- Calendar time 을 strata 변수로 두고 stratified Cox.
- 또는 baseline date 를 공변량으로.
2.3 5.2.3 Varying Follow-up Durations
연구 종료일은 고정인데 등록 시점이 다르면 추적 길이가 다르다. SHHS: 9.1 ~ 6.2 년 (평균 7.7).
2.3.1 3 가지 분석 옵션
| 옵션 | 설명 | 정보 손실 |
|---|---|---|
| 1. 완전 추적자만 | 등록 늦은 자 제외 | 큼 |
| 2. 최소 elapsed time 까지 | 모든 사람 6.2 년까지만 | 7~9 년 사건 폐기 |
| 3. 변동 무시, 모두 포함 | 추적 긴 자에 사건 기회 ↑ | 시간 동질성 + 길이-위험 독립 가정 필요 |
가설: SHHS 의 주거지(자가 vs 임차) 효과 분석. 만약 우연히 임차 비율 높은 지역이 일찍 등록되어 임차 그룹의 평균 추적이 더 길다면, 임차자에게 사건 발생 기회가 더 많아 임차 = 위험 인자 같은 가짜 효과.
3 단계 직관:
- 추상: \(E[\text{follow-up time} \mid X] \neq E[\text{follow-up time}]\) — 추적 길이가 노출과 상관.
- 일상어 비유: 일찍 시작한 마라톤 주자에게 결승선까지 더 많은 시간이 주어진다면, 그들의 결승률이 부풀려짐.
- 반사실: 만약 추적 길이가 노출과 독립이면 옵션 3 의 가정 충족. 그러나 보장 없음 → 생존 분석으로 안전.
2.3.2 Censoring 의 정의
- Censored: 위험 인구에 있다가 사건 미발생 상태에서 추적 끊김.
- Administrative censoring: 연구 종료일.
- Withdrawal: 사건 전 손실.
직관 3 단계:
- 추상: 관측 \(Y_i = \min(T_i, C_i)\), 사건 지표 \(\delta_i = 1[T_i \le C_i]\).
- 일상어 비유: GPS 가 끊긴 등산객이 정상까지 갔는지 모르지만, 끊긴 시점까지는 안전했다는 정보가 있음.
- 반사실: Censoring 무시 = 끊긴 사람을 미발생자로 처리 → 진성 사건이 미관측되어 IR 과소 추정.
2.4 5.2.4 Withdrawals — 처리 분지
| 이탈 원인 | 처리 |
|---|---|
| 결과와 무관 (직장 이전) | Censoring 으로 처리 — 생존 분석에서 안전 |
| 결과 때문에 (질병으로 이주) | Event positive 로 처리 — 또는 경쟁 위험 |
| 노출 관련, 결과 무관 | 분석 유효, 단 결과 의미 흐려짐 |
2.4.1 SHHS 의 운 좋은 사례
11,629 명 중 14 명만 이탈 (영국 출국). 이 비율(0.12%)이라면 어떤 처리든 결과 거의 변동 없음. 그러나 이는 예외적 — 대부분 코호트는 더 큰 이탈률을 갖는다.
- <5%: 어떤 처리든 결과 비슷, 단순 censoring 안전.
- 5~20%: 처리 방법별 차이 발생, sensitivity analysis 권장.
- >20%: 결과의 신뢰성 자체가 위험. 다단계 추적 + IPW 등 적극적 보정 필요.
3 통계 코드 — 가변 코호트의 KM 분석
import numpy as np
import pandas as pd
from lifelines import KaplanMeierFitter
from lifelines.utils import median_survival_times
np.random.seed(42)
n = 1000
# 가변 등록: 각 개인의 baseline 시점이 0~3 년 사이 임의
baseline = np.random.uniform(0, 3, n)
study_end = 10.0 # 연구 종료 시점
# 위험 인자
factor = np.random.binomial(1, 0.4, n)
# 진성 사건 시점 (factor=1 일 때 1.5 배 위험)
true_event_time = np.random.exponential(scale=1.0/0.08, size=n)
true_event_time[factor == 1] /= 1.5
# 관측: min(true event, study end - baseline)
observed_time = np.minimum(true_event_time, study_end - baseline)
event = (true_event_time <= study_end - baseline).astype(int)
df = pd.DataFrame({
"T": observed_time,
"event": event,
"factor": factor,
})
# KM 곡선 (factor 별)
kmf = KaplanMeierFitter()
for f, label in [(0, "Non-factor"), (1, "Factor")]:
kmf.fit(
df.loc[df.factor == f, "T"],
event_observed=df.loc[df.factor == f, "event"],
label=label,
)
median = median_survival_times(kmf.survival_function_)
survival_5y = kmf.survival_function_at_times(5.0).values[0]
print(f"{label}: 5 년 생존확률 {survival_5y:.3f}, 중간 생존시간 {median:.2f} 년")해석: 가변 baseline 에도 KM 은 각 사람을 자신의 elapsed time 으로 정확히 처리. 추적 길이 차이가 자동 흡수.
4 결론 — Ch.5.1~5.2 의 메시지
| 절 | 핵심 메시지 |
|---|---|
| 5.1.1~5.1.2 | 코호트는 시간 선후에 강하지만 비용·이탈에 약함. Study effect 가 조용한 함정. |
| 5.1.3 | 5 가지 경제적 변형 — 각각 통계적 비용. Non-factor 군 생략은 금기. |
| 5.1.4 | Single baseline 설계가 다중 위험 인자 분석에 최적. RR 일반화는 effect modification 점검 후. |
| 5.2.1 | 고정 코호트는 단순하지만 단·장기 효과 구분 못함 — 생존 분석으로 보강. |
| 5.2.2 | Moving baseline 은 시간 동질성 가정 필요 — 점검 가능. |
| 5.2.3 | Varying follow-up 은 censoring + 생존 분석으로 안전 처리. |
| 5.2.4 | Withdrawal 처리는 이탈 원인에 따라 분지 — 결과 관련 이탈은 양성 사건으로. |
다음 글(B12) 에서는 이 분석 도구의 핵심인 Cohort Life Table 과 Kaplan-Meier 추정의 수식을 유도하고 표준오차 산출까지 본다.
5 관련 주제
선행
후속
- 1111-11-11, 생명표와 Kaplan-Meier 추정
- 1111-11-11, 생존 비교와 경쟁 위험
- 1111-11-11, 인-년 방법과 기간-코호트 분석
다른 카테고리
- Time-to-Event Measures — IR/IRR/HR/KM/Cox 통합
- Effect Measures — RD/ARR/NNT/PAR