§ 6.3 — CPM 모형 선택: UN 을 기준으로 한 LR 검정과 2-step 절차

Jennrich-Schluchter 절차 · p-value 2 로 나눔 보정 · ML/REML 선택 · AIC·BIC 보조

Hedeker & Gibbons (2006) Ch.6 §6.3 의 자세한 풀이. CPM 의 5 구조 (CS, AR(1), Toeplitz, UN, RE) 중 어느 것을 데이터에 사용할지 결정하는 절차를 다룬다. Jennrich & Schluchter (1986) 의 우도비 (LR) 검정은 Unstructured (UN) 를 full model 로 두고 제약 구조와 비교하여 적합도 손실이 유의하지 않으면 절약 구조를 채택한다. 분산 모수 검정의 경계 (boundary) 문제로 인한 p-value/2 보정, 2-step 모형 선택 절차 (분산 구조 → 공변량), ML 과 REML 의 사용 차이, non-nested 비교를 위한 AIC·BIC 보조까지 정리한다.

Statistics
저자

Kwangmin Kim

공개

2026년 04월 30일

1 들어가며 — 5 구조 중 어느 것을 쓸까

Ch.6 Overview 에서 5 가지 공분산 구조 — CS·AR(1), Toeplitz·UN, RE — 를 모두 다뤘다. 각 구조의 적합 우위 상황은 다르다.

구조 모수 \(q\) 적합 시나리오
CS 2 클러스터·짧은 추적
AR(1) 2 등간격·지수 감쇠
Toeplitz \(n\) 등간격·비지수 감쇠
UN \(n(n+1)/2\) 시점 적음·표본 큼
RE \(r(r+1)/2 + 1\) 개인 곡선·시변 분산

실제 분석에서는 데이터를 보고 가장 적합하면서 절약적인 구조 를 선택해야 한다. Jennrich & Schluchter (1986) 가 제안한 우도비 (Likelihood Ratio, LR) 검정 절차 가 표준이다.

한 줄 직관 — 절약과 적합의 줄다리기

“가장 단순한 모형부터 시도하되, 데이터가 더 복잡한 모형을 요구하면 그 요구를 받아들여라.”

가정이 강할수록 모수가 적고 추정이 안정되지만, 가정이 데이터와 안 맞으면 표준오차·검정력이 망가진다. LR 검정은 “데이터가 정말 더 유연한 모형을 요구하는가” 를 통계적으로 판단하는 도구다.

2 핵심 개념 — UN 이 왜 full model 인가

정의: full / saturated 모형

분산-공분산 행렬에 대해 어떤 구조 가정도 부과하지 않은 모형. CPM 5 구조 중에서는 UN (Unstructured) 이 이에 해당한다.

  • 모수: \(q_{\text{UN}} = n(n+1)/2\) — 시점 \(n\) 에서 가능한 모든 분산·공분산을 자유 추정.
  • 다른 4 구조 (CS, AR(1), Toeplitz, RE) 는 UN 의 제약 모형 으로 해석됨.
  • 따라서 UN 의 우도가 다른 모든 구조의 우도 상한 이 된다.
직관 — “벤치마크” 로서의 UN

수영 대회를 상상하자.

  • UN: 자유형 — 어떤 영법도 허용 → 가장 빠른 기록 (가장 큰 우도) 가능.
  • Toeplitz: 평영 — “양손이 동시에 같은 방향” 제약.
  • AR(1): 접영 — “특정 모양” 강제.
  • CS: 배영 → “한 자세 고정” 가장 강한 제약.

자유형이 항상 가장 빠르다. 다른 영법은 자유형보다 느리거나 같다. 평영이 자유형 시간과 비슷하면 “굳이 자유형 안 써도 된다” — 평영의 제약이 데이터와 맞는다는 뜻. 이것이 LR 검정의 본질.

2.1 UN 이 항상 가장 큰 우도를 갖는 이유

수학적으로 명확하다 — 제약 모형의 모수 공간은 full 모형의 부분 집합이므로, full 모형의 ML 추정은 항상 제약 모형의 ML 추정 이상이다.

\[ \hat L_{\text{UN}} \geq \hat L_{\text{Toeplitz}} \geq \hat L_{\text{AR(1)}}, \hat L_{\text{CS}} \]

(단 \(\hat L_{\text{AR(1)}}\)\(\hat L_{\text{CS}}\) 는 nested 가 아니라 직접 비교 불가.)

이 부등식이 LR 통계량의 비음수성과 \(\chi^2\) 분포 가정의 기반이 된다.

3 LR 검정 — 형식과 직관

3.1 검정 통계량

LR 검정 (제약 구조 vs UN)

귀무가설 \(H_0\): 제약 구조 (CS, AR(1), Toeplitz, RE 중 하나) 가 데이터를 충분히 설명한다. 대립가설 \(H_1\): UN 이 필요하다.

\[ \chi^2 = -2\log\hat L_{\text{제약}} - (-2\log\hat L_{\text{UN}}) = \text{deviance}_{\text{제약}} - \text{deviance}_{\text{UN}} \tag{6.9} \]

자유도:

\[ \text{df} = q_{\text{UN}} - q_{\text{제약}} = \frac{n(n+1)}{2} - q^* \tag{6.10} \]

여기서 \(q^*\) 는 제약 모형의 분산-공분산 모수 수.

자유도 식의 정확한 형태 — 흔한 혼동

종종 \(\text{df} = n(n-1)/2 - q^*\) 로 잘못 적힌 경우가 있다 (overview 포스트 포함). 이는 비대각 모수만 카운트한 식 으로, \(n\) 개 시점별 분산을 빠뜨린 것이다.

올바른 식은 UN 의 총 자유 모수 수 (\(n(n+1)/2 = n + n(n-1)/2\), 대각 + 상삼각) 에서 제약 모형의 모수 수를 뺀 것 — \(n(n+1)/2 - q^*\).

Bock 예시 (n=6, Toeplitz \(q^*=6\)): \(6 \cdot 7/2 - 6 = 21 - 6 = 15\) → 교재의 df=15 와 일치 (정합).

3.2 \(\chi^2\) 분포의 기본 가정

LR 통계량 \(\chi^2\) 는 점근적으로 자유도 df 의 카이제곱 분포를 따른다 (귀무가설 하에서).

\[ \chi^2 \sim \chi^2_{\text{df}}, \quad \text{(점근적, } H_0 \text{ 하)} \]

p-value 는 \(P(\chi^2_{\text{df}} > \chi^2_{\text{관측}})\).

직관 — “자유도가 의미하는 것”

자유도 df 는 두 모형의 모수 수 차이 다.

  • 차이가 크다 (df 큼) = “제약 모형이 많은 가정을 추가” = “그만큼 deviance 가 자연스럽게 커질 것” = “관측된 deviance 차이가 유의해지려면 그만큼 더 커야”.
  • 차이가 작다 (df 작음) = “제약 모형이 거의 다 추정” = “작은 deviance 차이로도 유의 판정”.

UN vs CS: df = \(n(n+1)/2 - 2\) (큼) — CS 가 부적합으로 판정되려면 deviance 차이가 매우 커야. UN vs RE(\(r=2\)): df = \(n(n+1)/2 - 4\) (조금 큼) — 비슷한 논리.

3.3 Bock WPSS 예시 재방문

Ch.6 Overview 의 Bock (1983b) 데이터 (\(n=6\), \(N=75\)):

구조 \(q^*\) ML deviance \(\chi^2\) vs UN df 보정 p-value 결과
UN 21 945.9 (기준) full
Toeplitz 6 988.9 43.0 15 0.000079 UN 채택
AR(1) 2 996.3 50.4 19 0.000057 UN 채택
CS 2 1185.8 239.9 19 < 0.0001 UN 채택

3 가지 제약 모두 통계적으로 유의하게 부족 — UN 사용 강제.

보정 p-value 가 왜 작은데도 0 이 아닌가

CS 와 AR(1) 의 LR 통계량 (각 239.9, 50.4) 모두 자유도 19 의 \(\chi^2\) 대비 매우 큰 값. 따라서 정규 표본에서 거의 발생 안 함 — p-value 가 컴퓨터 정밀도 한계에 가까운 수준. 보정 (2 로 나눔) 후에도 여전히 매우 작아 결론에 영향 없음.

4 p-value 보정 — 분산 모수의 경계 문제

핵심: 분산 모수는 모수 공간 경계 (boundary) 에 있다

CS 의 \(\sigma_1^2\), RE 의 \(\sigma_\upsilon^2\), AR(1) 의 \(\rho\) 와 같은 분산 (또는 분산 비례) 모수는 귀무가설이 모수 공간의 경계 에 위치한다.

\[ H_0: \sigma_\upsilon^2 = 0 \quad \text{(경계)} \quad \text{vs} \quad H_1: \sigma_\upsilon^2 > 0 \]

\(\sigma_\upsilon^2\)음수가 될 수 없다 (\(\geq 0\)). 따라서 \(H_0\) 가 모수 공간의 가장자리에 있고, 일반적인 LR 점근 이론 (자유도 1 의 \(\chi^2\)) 이 그대로 적용 안 된다.

4.1 boundary 문제의 정확한 분포

이 경우 LR 통계량의 점근 분포는 표준 \(\chi^2\) 가 아니라 mixture 다 (Self & Liang, 1987; Stram & Lee, 1994).

\[ \chi^2 \sim \frac{1}{2}\chi^2_0 + \frac{1}{2}\chi^2_1 \quad \text{(귀무가설 하, 경계 모수 1 개)} \]

여기서 \(\chi^2_0\) 은 0 에 모인 점질량 (point mass at 0).

왜 0 과 자유도 1 의 mixture 인가

데이터가 만든 ML 추정 \(\hat\sigma_\upsilon^2\) 의 점근 분포가 (정상 가정 하) 정규 분포에서 양수 부분만 잘라낸 형태 가 된다.

  • 데이터가 \(\hat\sigma_\upsilon^2 > 0\) 을 시사하면: 정상 LR 통계량 (자유도 1 의 \(\chi^2\))
  • 데이터가 \(\hat\sigma_\upsilon^2 \leq 0\) 을 시사하면: \(\hat\sigma_\upsilon^2 = 0\) 으로 잘림 → LR 통계량 = 0

귀무가설 하에서 두 경우가 각 1/2 확률 → mixture.

4.2 실용적 보정 — p-value/2

복잡한 mixture 를 그대로 계산하기는 번거롭다. Snijders & Bosker (1999) 의 실용 보정:

표준 \(\chi^2\) p-value 를 2 로 나눠서 보고하라.

이는 mixture 분포의 정확한 p-value 와 매우 가까운 근사다 (Berkhof & Snijders, 2001).

p-value/2 의 적용 범위

이 보정은 분산-공분산 모수 검정에만 적용된다.

  • 적용: 분산 구조 비교 (UN vs CS, UN vs RE 등) — p-value/2 보정
  • 적용: 랜덤 효과 추가 검정 (\(r=1\) vs \(r=2\)) — p-value/2 보정
  • 적용 제외: 회귀 계수 (고정 효과) 검정 — 모수 공간 경계가 아님
  • 적용 제외: 두 분산 구조의 직접 비교 (예: AR(1) vs Toeplitz) — nested 가 아니라 LR 자체 부적절

상관 계수 (\(\rho\)) 도 모수 공간 경계 (\(\rho = 0\) vs \(\rho > 0\)) 에 있지만 양·음 모두 가능 → 보정 형태가 다름. 실무에서는 AR(1) 의 \(\rho > 0\) 가 자연스러우므로 보정 적용 (Snijders & Bosker 권장).

직관 — “왜 p-value 가 절반인가”

귀무가설 분포가 mixture (반은 0, 반은 정상 \(\chi^2\)) 라면:

  • \(\chi^2_{\text{관측}} = c\) 일 때 표준 p-value = \(P(\chi^2_1 > c)\).
  • 정확한 p-value = \(P(\text{mixture} > c) = \frac{1}{2} \cdot 0 + \frac{1}{2} \cdot P(\chi^2_1 > c) = \frac{1}{2} P(\chi^2_1 > c)\).
  • → 정확한 = 표준/2.

직관: 귀무가설 하에서 LR 통계량 = 0 인 절반의 케이스는 절대 유의 안 나옴. 따라서 “p-value 가 절반” 이라는 결과.

5 2-step 모형 선택 절차

5.1 절차의 정의

Jennrich-Schluchter 의 2-step 절차

Step A — 분산 구조 선택:

  1. 모든 관심 공변량 (시간, 그룹, 상호작용 등) 을 포함한 full 평균 모형을 고정.
  2. 이 평균 모형 위에서 5 구조 적합:
    • UN, Toeplitz, AR(1), CS, RE 모두 ML (또는 REML) 로 적합.
  3. UN 을 기준으로 LR 검정 (위의 식 6.9-6.10) + AIC/BIC 비교.
  4. 가장 절약적이면서 데이터에 부합하는 구조 선택.

Step B — 공변량 trimming:

  1. Step A 에서 선택된 분산 구조를 고정.
  2. 비유의 공변량을 단계적으로 제거 (backward elimination 또는 다른 변수 선택 절차).
  3. 최종 평균 모형 결정.

5.2 왜 분산 구조부터인가 — 직관

핵심 — “표준오차의 정확성”

회귀 계수 \(\hat\beta\) 의 표준오차는 분산-공분산 행렬 \(\Sigma\) 에 의존한다 (\(\text{Var}(\hat\beta) = (X^\top \Sigma^{-1} X)^{-1}\) 형태).

분산 구조가 잘못되면 → SE 가 부정확 → t-statistic, p-value, 신뢰 구간 모두 신뢰 불가.

먼저 분산 구조를 정확히 잡지 않으면, 공변량 검정의 통계량 자체가 의심스러워진다. 그래서 Step A 가 먼저.

Step A 에서 모든 공변량 포함의 이유

Step A 의 분산 구조 비교는 같은 평균 모형 위에서 해야 한다. 이유:

  • 분산 구조 비교는 \(\hat\Sigma\) 의 형태에 대한 추론.
  • 평균 모형이 다르면 잔차 패턴이 달라짐 → 분산 추정 자체가 변동.

따라서 Step A 에서는 “모든 잠재 공변량 포함” 하여 분산 구조의 진단 영향을 최소화한다.

5.3 두 절차의 권장 순서

단계 모형 추정 검정
Step A 모든 공변량 + 5 분산 구조 ML UN vs 제약, p-value/2
Step B 분산 구조 고정 + 공변량 trimming ML 또는 REML 표준 LR (보정 X)

6 ML vs REML — 어느 것을 쓸까

핵심 차이

ML (Maximum Likelihood):

  • 분산 모수와 회귀 계수를 동시에 우도 함수에서 추정.
  • 분산 추정에 작은 표본 편향 (\(\sigma_\upsilon^2\) 과소 추정).
  • 모형 비교에 적합 — 다른 평균 모형 비교 시 우도 차이가 의미.

REML (Restricted Maximum Likelihood):

  • 회귀 계수를 먼저 추정한 후, 그 잔차에 대한 우도로 분산 모수 추정.
  • 분산 모수의 편향 보정.
  • 분산 모수 추정에 적합 — 같은 평균 모형 + 다른 분산 구조 비교 시 권장.

6.1 어느 단계에 어느 것을 쓰나

권장 패턴
단계 추정 이유
Step A (분산 구조 선택) REML 권장 분산 추정 편향 줄임. 평균 모형 동일이라 가능
Step A (분산 구조 선택, ML 도 허용) ML 가능 LR 검정 가능, 분산 편향 무시 가능한 경우
Step B (공변량 비교) ML 다른 평균 모형 → ML 만 LR 가능 (REML 은 부적절)

REML 은 같은 평균 모형 + 다른 분산 구조에서만 LR 가능. 평균 모형이 다르면 REML LR 검정이 무의미.

흔한 실수 — REML 로 평균 모형 비교

WRONG:

m1 <- gls(y ~ time + group, data = df, method = "REML")
m2 <- gls(y ~ time, data = df, method = "REML")
anova(m1, m2)  # REML LR — 부적절!

다른 평균 모형 (time + group vs time) 의 REML 우도 비교는 의미 없다 (REML 은 잔차 우도라 모형마다 정의가 다름).

CORRECT:

m1 <- gls(y ~ time + group, data = df, method = "ML")
m2 <- gls(y ~ time, data = df, method = "ML")
anova(m1, m2)  # ML LR — OK

6.2 Hedeker-Bock 예시의 ML/REML

Bock 데이터 표 6.2 에 ML 과 REML deviance 가 모두 제시된다.

구조 \(q\) ML deviance REML deviance
UN 21 945.9 963.1
Toeplitz 6 988.9 1005.3
AR(1) 2 996.3 1013.0
CS 2 1185.8 1204.0

ML 과 REML 둘 다 같은 LR 결과 (UN vs 제약 모두 유의) 를 준다 — 같은 평균 모형이므로 두 추정 모두 사용 가능. 표본 크기 (\(N=75\)) 가 적당해 차이가 미미.

7 AIC·BIC — non-nested 비교의 보조

LR 검정은 nested 모형에만 가능하다. 두 fully specified 구조가 nested 가 아닌 경우:

비교 nested? LR 검정 가능?
UN vs Toeplitz O O
UN vs CS O O
Toeplitz vs AR(1) O (AR(1) ⊂ Toeplitz) O
AR(1) vs CS X X
Toeplitz vs RE(\(r=2\)) X X
AR(1) vs RE(\(r=2\)) X X

이 경우 정보 기준 (information criteria) 으로 비교한다.

AIC 와 BIC

\[ \text{AIC} = -2\log\hat L + 2q \tag{6.11} \]

\[ \text{BIC} = -2\log\hat L + q \log N \tag{6.12} \]

  • \(-2\log\hat L\): deviance (적합도). 작을수록 좋음.
  • \(q\): 모수 수. 페널티.
  • AIC: 모수당 페널티 2.
  • BIC: 모수당 페널티 \(\log N\). 표본 크면 (보통 \(N \geq 8\)) BIC 가 더 절약적 모형 선호.

작은 값을 선택. AIC/BIC 차이가 2 미만이면 실질적 차이 없다고 간주 (Burnham & Anderson, 2002).

직관 — AIC vs BIC

AIC: “예측력 (out-of-sample) 을 최적화” — 약간 더 복잡한 모형 선호 가능. BIC: “true model 식별” 을 최적화 — 큰 표본에서 절약적 모형 선호.

실무에서는 둘 다 보고하고 결론이 같으면 안전. 다르면 AIC 가 보통 약간 큰 모형, BIC 가 작은 모형.

7.1 Bock 예시의 AIC

# 가상 계산 (ML deviance 기반)
# UN:        945.9 + 2 * 21 = 987.9
# Toeplitz:  988.9 + 2 * 6  = 1000.9
# AR(1):     996.3 + 2 * 2  = 1000.3
# CS:       1185.8 + 2 * 2  = 1189.8

UN 의 AIC (987.9) 가 가장 작음 → AIC 도 UN 채택. AR(1) 과 Toeplitz 는 거의 비슷 (1000.3 vs 1000.9) — 둘 다 UN 에 비해 적합도 손실 큼.

8 모형 선택 절차의 응용 가이드

8.1 시나리오별 의사결정 트리

종단 분석 시작 시 권장 절차

Step 0: 데이터 EDA — 시점별 분산, lag 별 상관, 결측 패턴 그림.

Step 1: 시점별 분산이 명확히 변동 → UN 또는 RE(\(r \geq 2\)) 후보로 좁힘.

Step 2: 시점별 분산 거의 동일 → CS, AR(1), Toeplitz, RE(\(r=1\)) 후보.

Step 3: 모든 관심 공변량 포함 + 5 구조 적합 (REML).

Step 4: UN 기준 LR 검정 → 적합한 절약 구조 식별.

Step 5: AIC/BIC 보조 비교.

Step 6: 분산 구조 결정 → 공변량 trimming (ML).

Step 7: 잔차 진단 + 모형 가정 검증.

8.2 흔한 함정과 처방

함정 신호 처방
표본 작음 + UN 시도 수렴 실패, boundary 추정 RE 또는 Toeplitz 로 절약
같은 평균 모형으로 ML/REML 혼용 LR 결과 비교 어려움 한 추정 방식으로 통일
Step A 에서 공변량 trimming 시도 분산 추정 불안정 모든 공변량 포함 후 분산 구조 결정
p-value/2 보정 잊음 분산 구조 너무 자주 기각 모든 분산 모수 검정에 보정 적용
AIC/BIC 차이 < 2 인데 결정 강행 실질적 차이 없음 더 단순한 구조 선택 (Occam)

9 코드 예시

9.1 Step 1: ML/REML 적합 + LR 검정 (R)

library(nlme)

# 합성 데이터 생성 (Bock-like)
set.seed(2026)
n_subj <- 75
n_time <- 6
df <- expand.grid(week = 1:n_time, id = 1:n_subj)
df$group <- rep(c(0, 1), times = c(46 * n_time, 29 * n_time))
df$y     <- rnorm(nrow(df))

# 직교 대비
df$linear <- with(df, week - 3.5)
df$change <- with(df, ifelse(week <= 3, week - 2, 5 - week))

# 5 분산 구조 적합 (ML — Step A 에서 LR 가능)
m_un <- gls(y ~ linear + change + group + group:linear + group:change,
            data = df,
            correlation = corSymm(form = ~ 1 | id),
            weights = varIdent(form = ~ 1 | week),
            method = "ML")

m_toep <- gls(y ~ linear + change + group + group:linear + group:change,
              data = df,
              correlation = corARMA(form = ~ week | id, p = 0, q = 5),
              method = "ML")

m_ar1 <- gls(y ~ linear + change + group + group:linear + group:change,
             data = df,
             correlation = corAR1(form = ~ week | id),
             method = "ML")

m_cs <- gls(y ~ linear + change + group + group:linear + group:change,
            data = df,
            correlation = corCompSymm(form = ~ 1 | id),
            method = "ML")

# LR 검정 (UN 기준)
anova(m_cs, m_un)    # 19 df
anova(m_ar1, m_un)   # 19 df
anova(m_toep, m_un)  # 15 df

# AIC/BIC 일괄 비교
AIC(m_un, m_toep, m_ar1, m_cs)
BIC(m_un, m_toep, m_ar1, m_cs)

9.2 Step 2: p-value 보정 함수 (Python)

import numpy as np
from scipy import stats


def lr_test_variance(deviance_constrained: float,
                     deviance_full: float,
                     df: int,
                     boundary: bool = True) -> dict:
    """LR 검정 + boundary 보정 (분산 모수)

    deviance_constrained: -2 log L (제약 모형).
    deviance_full:        -2 log L (full 모형, 보통 UN).
    df:                   모수 수 차이.
    boundary:             분산 모수 검정이면 True (p-value/2 보정).
    """
    chi2 = deviance_constrained - deviance_full
    p_raw = 1 - stats.chi2.cdf(chi2, df=df)
    p_corrected = p_raw / 2 if boundary else p_raw

    return {
        "chi2": chi2,
        "df": df,
        "p_raw": p_raw,
        "p_corrected": p_corrected,
        "decision": "UN 채택" if p_corrected < 0.05 else "제약 모형 채택",
    }


# Bock 예시 (ML deviance)
results = {
    "Toeplitz vs UN": lr_test_variance(988.9, 945.9, df=15),
    "AR(1) vs UN":    lr_test_variance(996.3, 945.9, df=19),
    "CS vs UN":       lr_test_variance(1185.8, 945.9, df=19),
}

for name, r in results.items():
    print(f"{name}: chi2={r['chi2']:.1f}, df={r['df']}, "
          f"p_raw={r['p_raw']:.4g}, p_corr={r['p_corrected']:.4g}, {r['decision']}")
함수 검증 — Bock 결과 재현

위 함수의 출력은 overview 의 Bock 결과 표 와 일치해야 한다.

  • Toeplitz vs UN: \(\chi^2 = 43.0\), df=15, \(p\) (보정) ≈ 0.000079
  • AR(1) vs UN: \(\chi^2 = 50.4\), df=19, \(p\) (보정) ≈ 0.000057
  • CS vs UN: \(\chi^2 = 239.9\), df=19, \(p\) (보정) < 0.0001

세 검정 모두 매우 유의 → UN 사용 강제. CS 는 가장 큰 deviance (1185.8) → 가장 부적합.

9.3 Step 3: AIC/BIC 일괄 비교 표

import pandas as pd


def compare_models(deviances: dict, q_values: dict, N: int) -> pd.DataFrame:
    """5 구조의 deviance, AIC, BIC 비교 테이블"""
    out = []
    for name, dev in deviances.items():
        q = q_values[name]
        aic = dev + 2 * q
        bic = dev + q * np.log(N)
        out.append({"Structure": name, "q": q, "deviance": dev,
                    "AIC": aic, "BIC": bic})
    return pd.DataFrame(out)


# Bock ML deviance + 모수 수
deviances = {"UN": 945.9, "Toeplitz": 988.9, "AR(1)": 996.3, "CS": 1185.8}
q_values  = {"UN": 21, "Toeplitz": 6, "AR(1)": 2, "CS": 2}

table = compare_models(deviances, q_values, N=75 * 6)  # 총 관측치
print(table.to_string(index=False))

이 출력으로 LR (이미 본) + AIC + BIC 가 모두 UN 을 가리킨다는 다중 증거를 확인한다.

10 모형 선택의 한계 — 통계만으로 부족하다

10.1 검정 결과만 따르면 안 되는 경우

통계 vs 실무 판단

LR 검정·AIC·BIC 가 절대 기준이 아니다. 다음과 같은 경우 검정 결과를 그대로 따르면 위험.

  • 표본 작음 (\(N < 100\), 시점 \(\geq 6\)): UN 의 모수 폭발로 추정 불안정. 통계적으로 UN 이 적합해 보여도 실제로는 RE 나 Toeplitz 가 안전.
  • 임상 시험 (보수적 추론 필요): UN 으로 보고 (가정 위반 위험 최소화). 통계적으로 절약 구조가 가능해도 UN 권장.
  • 분산 구조 자체가 연구 질문: 절약 구조가 적합해도 UN 으로 모형화 후 분산 구조의 패턴 보고.
  • 이론적 메커니즘이 명확: 임상 추적이라면 시간 의존성 (AR(1)) 이 자연스럽고, 클러스터 데이터라면 CS 가 자연. 통계 검정에 앞서 메커니즘 고려.

10.2 권장 보고 형식

논문·보고서에 적는 방식

예시 — 임상 시험 분석:

“공분산 구조 선택을 위해 5 가지 구조 (CS, AR(1), Toeplitz, UN, RE) 를 ML 추정으로 적합하였다. UN 을 full 모형으로 한 LR 검정 결과 모든 제약 구조가 유의한 적합도 손실을 보였으므로 (p < 0.001, 분산 모수 검정에 대한 p-value/2 보정 적용), UN 을 최종 분산 구조로 채택하였다. AIC/BIC 도 UN 을 지지하였다 (AIC: UN=987.9 vs 가장 가까운 AR(1)=1000.3). 이후 ML 추정으로 비유의 공변량을 trimming 하여 최종 모형을 결정하였다.”

이 한 문단에 들어갈 핵심 정보:

  1. 적합한 구조 목록.
  2. 추정 방식 (ML/REML).
  3. LR 검정 결과 + p-value 보정 명시.
  4. AIC/BIC 보조 비교.
  5. 채택 구조와 이유.
  6. Step B (공변량 trimming) 진행 방식.

11 핵심 정리

한 페이지 요약
  1. UN 이 full model: 분산-공분산에 가정 부재 → 다른 모든 구조의 우도 상한.
  2. LR 검정 식: \(\chi^2 = \text{deviance}_{\text{제약}} - \text{deviance}_{\text{UN}}\), \(\text{df} = n(n+1)/2 - q^*\).
  3. p-value/2 보정: 분산 모수 검정에서 boundary (\(\sigma^2 \geq 0\)) 문제로 mixture 분포 → 표준 p-value 의 절반이 정확값. Snijders & Bosker (1999) 권장.
  4. 보정 적용 범위: 분산 모수 검정에만. 공변량 (고정 효과) 검정에는 적용 안 함.
  5. 2-step 절차: 먼저 분산 구조 (모든 공변량 포함, REML 권장) → 분산 구조 고정 후 공변량 trimming (ML).
  6. ML vs REML: ML 은 모형 비교 (특히 평균 모형 비교) 에 적합, REML 은 분산 모수 추정 편향 줄임 (같은 평균 모형 + 다른 분산 구조).
  7. AIC·BIC: nested 가 아닌 비교에 보조. AIC = -2logL + 2q, BIC = -2logL + q·log(N). 차이 2 미만이면 실질적 동등.
  8. Bock 예시: UN (deviance 945.9) 이 4 구조 중 압도적 → CS, AR(1), Toeplitz 모두 유의하게 부적합.
  9. 함정: REML 로 평균 모형 비교 금지, Step A 에서 공변량 trimming 금지, p-value 보정 잊음 주의.
  10. 통계 + 실무: 검정 결과만 따르지 말고 표본 크기·임상 보수성·분산 구조 연구 질문 등 종합 고려.

§6.3 의 핵심은 “어느 분산 구조를 쓸지” 의 통계적 판단 절차다. UN 을 기준점으로 두고, LR 검정 + AIC/BIC + 실무 고려를 종합하여 가장 절약적이면서 데이터에 부합하는 구조를 선택한다.

12 다음 단계

주제 내용 위치
§ 6.4 Bock 예시 sub-post WPSS 데이터 5 모형 적합의 수치적 재현 + 고정 효과 해석 작성 예정 (06-6-cpm-bock-example.qmd)
Ch.7 Overview RE + AC 결합 모형 작성됨
Ch.8 GEE CPM 의 비정규 일반화 미작성

13 관련 주제

선행 지식

관련

후속 주제

교재

  • Hedeker, D. & Gibbons, R. D. (2006). Longitudinal Data Analysis, Wiley, Ch.6 §6.3 (pp. 105)
  • Jennrich, R. I. & Schluchter, M. D. (1986). “Unbalanced repeated-measures models with structured covariance matrices”, Biometrics 42, 805-820 — UN 기준 LR 검정의 원전
  • Snijders, T. A. B. & Bosker, R. J. (1999). Multilevel Analysis, Sage — p-value/2 보정의 권장 출처
  • Berkhof, J. & Snijders, T. A. B. (2001). “Variance component testing in multilevel models”, Journal of Educational and Behavioral Statistics 26, 133-152 — boundary 분포 정밀 분석
  • Self, S. G. & Liang, K.-Y. (1987). “Asymptotic properties of maximum likelihood estimators and likelihood ratio tests under nonstandard conditions”, JASA 82, 605-610 — boundary 분포 이론
  • Burnham, K. P. & Anderson, D. R. (2002). Model Selection and Multimodel Inference. Springer — AIC/BIC 활용 권위서

Subscribe

Enjoy this blog? Get notified of new posts by email: