1 들어가며 — CS·AR(1) 의 가정을 어떻게 풀어줄까
§ 6.2.1-6.2.2 (CS·AR(1)) 포스트 에서 두 절약 구조를 다뤘다. 둘 다 모수 \(q = 2\) 로 가장 작지만 강한 가정을 동반한다.
| 구조 | 가정 | 약점 |
|---|---|---|
| CS | 모든 lag 의 상관 동일 | 시간 의존을 표현 못함 |
| AR(1) | 상관이 \(\rho^{|j-j'|}\) 의 지수 함수 | 함수 형태 강제, 등간격 가정 |
이 가정을 단계적으로 풀어주는 두 구조가 §6.2.3 Toeplitz 와 §6.2.4 Unstructured (UN) 다.
- Toeplitz: AR(1) 의 “지수 함수 강제” 만 풀어준다. lag 별 상관을 자유롭게 두되 시점 위치는 여전히 무관 (정상성 유지).
- UN: 모든 가정을 풀어준다. 시점별 분산도 다르고 같은 lag 의 상관도 시점에 따라 다를 수 있음.
CS: “모두가 같은 가족 — 거리도 시간도 무관.” AR(1): “일렬 줄 — 거리가 지수적으로 결정.” Toeplitz: “여전히 일렬 줄 — 단 거리별 친밀도는 자유.” UN: “줄 자체가 없음 — 모든 쌍이 자기 사정에 따라.”
가정이 풀릴수록 모수가 늘고, 모수가 늘수록 추정이 불안정해진다.
이 두 구조는 또한 모형 선택의 핵심 기준이 된다 — Jennrich & Schluchter (1986) 의 LR 검정 절차에서 UN 을 full 모형 으로 두고 다른 구조를 비교하기 때문이다.
2 CS-AR(1)-Toeplitz-UN 의 nested 관계
네 구조의 모수 수는 다음과 같다 (\(n\) = 시점 수).
| 구조 | 모수 수 \(q\) | 시점별 분산 동일? | lag 별 상관 자유? | 시점 위치 무관? |
|---|---|---|---|---|
| CS | 2 | O | X (한 모수에 묶임) | O |
| AR(1) | 2 | O | X (지수 함수) | O |
| Toeplitz | \(n\) | O | O | O |
| UN | \(n(n+1)/2\) | X | O | X |
마지막 두 행만 비교하면 Toeplitz 가 UN 의 제한 모형 임이 보인다. UN 에서 “같은 lag 면 같은 상관” 이라는 제약을 추가하면 Toeplitz 가 된다.
\[ \text{UN} \supset \text{Toeplitz} \supset \text{AR(1)} \supset \text{CS} \]
- UN → Toeplitz: 같은 lag 의 모든 쌍이 같은 상관이라는 제약 추가.
- Toeplitz → AR(1): lag 별 상관이 \(\rho^k\) 의 지수 함수라는 제약 추가.
- AR(1) → CS: \(\rho \to 1\) 이 아니라 모든 lag 가 같은 상관이라는 제약 — 사실 AR(1)·CS 둘 다 \(q=2\) 로 nested 가 아니지만, “lag 무시” 라는 더 강한 제약을 추가하면 CS.
이 nested 관계가 LR 검정의 기반이다. 제약 모형 vs UN 의 deviance 차이가 \(\chi^2\) 분포를 따른다.
3 § 6.2.3 — Toeplitz (Banded) 구조
3.1 정의와 수식
같은 lag 의 모든 (공)분산이 한 모수로 묶인다.
\[ \sigma_{jj'} = \theta_k, \quad k = |j - j'| + 1 \tag{6.5} \]
행렬 형태:
\[ \Sigma_{\text{Toep}} = \begin{bmatrix} \theta_1 & \theta_2 & \theta_3 & \cdots & \theta_n \\ \theta_2 & \theta_1 & \theta_2 & \cdots & \theta_{n-1} \\ \theta_3 & \theta_2 & \theta_1 & \cdots & \theta_{n-2} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \theta_n & \theta_{n-1} & \theta_{n-2} & \cdots & \theta_1 \end{bmatrix} \]
- \(\theta_1\): 분산 (모든 시점에서 동일).
- \(\theta_2\): lag-1 공분산.
- \(\theta_3\): lag-2 공분산.
- \(\theta_n\): lag-\((n-1)\) 공분산.
- 모수: \(\theta = (\theta_1, \theta_2, \ldots, \theta_n)\), 즉 \(q = n\).
Toeplitz 행렬은 수학에서 대각선이 일정한 행렬 을 의미한다. 즉 \(A_{jj'}\) 가 \(j - j'\) 의 함수로만 결정되는 행렬.
\[ A_{j+k, j'+k} = A_{jj'} \quad \text{for all } k \]
이 성질이 종단 데이터의 시점 위치 무관성 과 정확히 맞닿는다 — Wk1-Wk2 의 공분산과 Wk5-Wk6 의 공분산이 같다고 가정 (둘 다 lag-1).
“Banded” 라는 별칭은 행렬을 그렸을 때 같은 값이 같은 대각 띠 (band) 위에 놓이는 모습에서 왔다.
3.2 직관 — “lag 는 자유, 위치는 무관”
Toeplitz 의 핵심 가정 두 가지:
- 시점 위치 무관 (정상성 유지): 같은 lag 면 어느 시점이든 같은 상관.
- lag 별 함수 형태 자유: AR(1) 의 지수 감쇠를 강제하지 않음. lag-1, lag-2, lag-3 상관이 임의 값.
같은 시계열 데이터에서 lag 별 상관을 추정한다고 하자.
| lag | AR(1) (\(\rho = 0.5\)) | Toeplitz |
|---|---|---|
| 1 | 0.500 | 0.50 (자유) |
| 2 | 0.250 | 0.40 (자유) |
| 3 | 0.125 | 0.30 (자유) |
| 4 | 0.063 | 0.30 (자유) |
| 5 | 0.031 | 0.20 (자유) |
AR(1) 은 한 모수 \(\rho\) 가 lag-1 을 정하면 나머지 lag 가 자동 결정된다 (등비수열). Toeplitz 는 각 lag 가 별도 모수 — 데이터에 맞춰 자유롭게 추정.
AR(1) 이 데이터의 상관 곡선과 형태가 다르면 (예: 처음엔 빨리 감소하다 평탄해지는 패턴) Toeplitz 가 유의하게 더 적합한다.
3.3 \(q = n\) 의 의미 — 절약과 유연성의 절충
Toeplitz 의 모수 수는 \(q = n\). 시점 6 이면 6 개, 시점 10 이면 10 개. AR(1) 의 2 개와 UN 의 \(n(n+1)/2\) 사이에 위치한다.
| \(n\) | CS | AR(1) | Toeplitz | UN |
|---|---|---|---|---|
| 4 | 2 | 2 | 4 | 10 |
| 6 | 2 | 2 | 6 | 21 |
| 8 | 2 | 2 | 8 | 36 |
| 10 | 2 | 2 | 10 | 55 |
\(n = 10\) 시점 데이터에서:
- lag-1 (인접) 쌍의 수: 9 (모든 피험자가 9 개 lag-1 쌍을 가짐) → 추정 안정.
- lag-9 (가장 먼) 쌍의 수: 1 (한 쌍만 존재) → 추정 불안정.
후반 lag 는 표본이 적어 표준오차가 커진다. 실무에서는 고차 lag (예: lag \(\geq 4\)) 를 0 으로 묶는 절약 Toeplitz 를 쓰기도 한다 (\(q < n\)).
3.4 코드 예시 — Toeplitz 구성
import numpy as np
def toeplitz_cov(theta: np.ndarray) -> np.ndarray:
"""Toeplitz 분산-공분산 행렬
theta: 길이 n 의 벡터. theta[0] = 분산, theta[k] = lag-k 공분산.
"""
n = len(theta)
idx = np.arange(n)
lag = np.abs(idx[:, None] - idx[None, :])
return theta[lag]
# 예시: 시점 6, 분산 2.0, lag-1~5 자유 추정
theta = np.array([2.0, 1.5, 1.0, 0.7, 0.5, 0.3])
print("Toeplitz (n=6):")
print(toeplitz_cov(theta).round(2))
# 대각: 2.0
# lag-1 비대각: 1.5
# lag-2 비대각: 1.0
# ...
# lag-5 비대각 (모서리): 0.3이 출력의 모든 같은 대각선 (lag) 위에는 동일한 값이 놓인다 — Toeplitz 행렬의 정의.
3.5 Toeplitz 의 응용 시나리오
| 상황 | 이유 |
|---|---|
| AR(1) 가 부족하지만 UN 까지는 과한 데이터 | \(q = n\) 으로 합리적 절충 |
| 등간격 추적 + 비지수 감쇠 패턴 | 정상성은 유지하되 lag 함수 형태 자유 |
| 시점 6~10 + 표본 중간 규모 (50~150) | 모수 안정 추정 가능한 범위 |
| 시계열 분석에서 ARMA 잔차 진단 | lag 별 자유 표현 → ARMA 차수 식별 |
4 § 6.2.4 — Unstructured (UN) 구조
4.1 정의와 수식
분산-공분산 행렬의 모든 자유 모수가 별도로 추정된다 (대칭성 외 제약 없음).
\[ \Sigma_{\text{UN}} = \begin{bmatrix} \theta_{11} & \theta_{12} & \theta_{13} & \cdots & \theta_{1n} \\ \theta_{21} & \theta_{22} & \theta_{23} & \cdots & \theta_{2n} \\ \theta_{31} & \theta_{32} & \theta_{33} & \cdots & \theta_{3n} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \theta_{n1} & \theta_{n2} & \theta_{n3} & \cdots & \theta_{nn} \end{bmatrix}, \quad \theta_{jj'} = \theta_{j'j} \tag{6.6} \]
- 대각: \(\theta_{11}, \theta_{22}, \ldots, \theta_{nn}\) — 시점별 분산이 모두 다를 수 있음.
- 비대각: \(\theta_{jj'}\) — 모든 시점 쌍의 공분산이 자유.
- 대칭: \(\theta_{jj'} = \theta_{j'j}\) — 분산-공분산 행렬의 본질적 성질.
- 모수: 대각 \(n\) 개 + 상삼각 \(n(n-1)/2\) 개 = \(q = n(n+1)/2\).
분산-공분산 행렬은 \(n \times n = n^2\) 개 원소를 가지지만 대칭이라 절반만 자유.
- 대각: \(n\) 개 (시점별 분산).
- 상삼각: \(n(n-1)/2\) 개 (시점 쌍의 공분산).
- 합계: \(n + n(n-1)/2 = n(n+1)/2\).
\(n = 6\) 이면 21 개, \(n = 10\) 이면 55 개, \(n = 20\) 이면 210 개.
4.2 직관 — “구조 가정 전혀 없음”
UN 은 분산-공분산 행렬에 어떤 함수적 구조도 부과하지 않는다. 데이터가 가진 모든 분산·공분산 패턴을 그대로 추정한다.
같은 시점 6 의 분산-공분산 행렬을 어떻게 채울지 비교하자.
Wk1 Wk2 Wk3 Wk4 Wk5 Wk6
Wk1 [ d a a a a a ]
Wk2 [ a d a a a a ] CS — 2 모수 (d, a)
Wk3 [ a a d a a a ]
...
Wk1 Wk2 Wk3 Wk4 Wk5 Wk6
Wk1 [ d r¹ r² r³ r⁴ r⁵ ]
Wk2 [ r¹ d r¹ r² r³ r⁴ ] AR(1) — 2 모수 (d=σ², r=ρ)
Wk3 [ r² r¹ d r¹ r² r³ ] 상관이 lag 의 지수 함수
...
Wk1 Wk2 Wk3 Wk4 Wk5 Wk6
Wk1 [ θ₁ θ₂ θ₃ θ₄ θ₅ θ₆ ]
Wk2 [ θ₂ θ₁ θ₂ θ₃ θ₄ θ₅ ] Toeplitz — 6 모수
Wk3 [ θ₃ θ₂ θ₁ θ₂ θ₃ θ₄ ] 같은 lag 동일
...
Wk1 Wk2 Wk3 Wk4 Wk5 Wk6
Wk1 [ θ₁₁ θ₁₂ θ₁₃ θ₁₄ θ₁₅ θ₁₆ ]
Wk2 [ θ₂₁ θ₂₂ θ₂₃ θ₂₄ θ₂₅ θ₂₆ ] UN — 21 모수
Wk3 [ θ₃₁ θ₃₂ θ₃₃ θ₃₄ θ₃₅ θ₃₆ ] 모든 칸 자유
...
가정이 풀릴수록 모수가 폭발하는 패턴이 한눈에 보인다.
4.3 모수 폭발 — 표본 크기와의 함정
UN 의 가장 큰 약점은 모수 수의 폭발이다.
종단 임상 시험의 흔한 시나리오:
| 시점 수 \(n\) | UN 모수 \(q\) | 안정 추정에 필요한 표본 (대략 \(5q\)) |
|---|---|---|
| 4 | 10 | 50 |
| 6 | 21 | 105 |
| 8 | 36 | 180 |
| 10 | 55 | 275 |
| 15 | 120 | 600 |
| 20 | 210 | 1050 |
표본이 \(5q\) 미만이면 ML 추정이 수렴 안 하거나, 수렴해도 표준오차가 비현실적으로 커진다.
이런 경우 다음 대안이 있다.
- Toeplitz: 시점 위치 무관 가정으로 \(q = n\) 까지 줄임.
- AR(1): 지수 함수 가정으로 \(q = 2\) 까지 줄임.
- RE (= MRM): 랜덤 효과 디자인으로 \(q = r(r+1)/2 + 1\) 까지 줄임.
- NS-AR(1) (Ch.7): 시점별 분산 변동 + AR(1) 결합.
4.4 UN 과 MANOVA 의 동치
Ch.3 — MANOVA 종단 접근 에서 본 것처럼 MANOVA 는 분산-공분산 행렬에 어떤 구조도 부과하지 않는다.
수학적으로 MANOVA 의 분산 가정 = CPM-UN 과 정확히 같다. 두 모형의 차이는 한 가지뿐.
| MANOVA | CPM-UN | |
|---|---|---|
| 분산-공분산 형태 | UN | UN |
| 결측 처리 | 불가 (피험자 전체 제외) | 가능 (관측 시점만 사용) |
| 시변 공변량 | 불가 | 가능 |
→ CPM-UN 은 MANOVA 의 결측 데이터 한계를 해소한 일반화 다.
이 사실이 UN 을 LR 검정의 full 모형으로 사용하는 이유 — UN 은 “분산-공분산에 대한 가장 일반적 형태” 라는 의미를 가진다.
4.5 UN 의 응용 시나리오
| 상황 | 이유 |
|---|---|
| 시점 적음 (\(n \leq 6\)) + 표본 큼 (\(N \geq 100\)) | 모수 안정 추정 가능 |
| 분산 구조 자체가 연구 질문 (호전 속도가 시점에 따라 가속되는가) | 시점별 분산 자유 |
| LR 검정의 full 모형 | 다른 구조 적합도의 기준점 |
| 임상 시험 분석에서 보수적 선택 | 가정 위반 위험 최소 (대신 검정력 손실) |
4.6 UN 의 함정 — 검정력 손실
UN 은 가장 유연하지만 가정이 풀리는 만큼 검정력 (statistical power) 이 떨어진다. 다른 구조가 데이터에 적합하다면 그 구조를 쓰는 것이 더 좋다.
- 항상 UN 으로 시작 적합 — 분산 구조의 baseline.
- CS, AR(1), Toeplitz 와 LR 검정 — 더 절약적 구조가 데이터에 부합하는지 평가.
- AIC/BIC 보조 — non-nested 비교나 해석 비용 함께 고려.
- 임상에서는 분산 구조 모형 비전도시 UN — 보수적 추론 필요 시.
- 표본 작고 시점 많으면 RE 또는 AR(1) — 모수 수 자체가 위험.
UN 은 “최후의 보루” 가 아니라 “기준점” 으로 활용한다.
5 Toeplitz vs UN 한 페이지 비교
| 항목 | Toeplitz | UN |
|---|---|---|
| 모수 수 \(q\) | \(n\) | \(n(n+1)/2\) |
| 시점별 분산 | 동일 (\(\theta_1\)) | 자유 (\(\theta_{11}, \ldots, \theta_{nn}\)) |
| 같은 lag 의 상관 | 모두 동일 | 시점에 따라 자유 |
| 정상성 | O | X |
| MANOVA 동치 | X | O |
| 유연성 순위 | 3 (CS·AR(1) 다음) | 5 (가장 유연) |
| 모수 폭발 | \(n\) 에 선형 | \(n^2\) 에 비례 |
| 적합 우위 상황 | 등간격 + 분산 동일 + lag 비지수 | 시점 적음 + 표본 큼 + 가정 회피 |
Toeplitz: “거리별 친밀도는 자유롭게, 단 거리가 같으면 모두 똑같이.” UN: “쌍마다 사연이 있다, 단 한 명한테는 같은 친밀도.”
UN 의 마지막 단서 (“한 명한테는 같은 친밀도”) 는 대칭성 — \(\theta_{jj'} = \theta_{j'j}\).
6 코드 예시
6.1 Step 1: 두 구조 직접 구성 (numpy)
import numpy as np
def toeplitz_cov(theta: np.ndarray) -> np.ndarray:
"""Toeplitz: theta[k] = lag-k 공분산"""
n = len(theta)
idx = np.arange(n)
lag = np.abs(idx[:, None] - idx[None, :])
return theta[lag]
def un_cov(diag: np.ndarray, off_upper: np.ndarray) -> np.ndarray:
"""UN: 대각 자유 + 상삼각 자유 → 대칭 행렬
diag: 길이 n 의 분산 벡터 (theta_11, ..., theta_nn).
off_upper: 길이 n(n-1)/2 의 상삼각 공분산 벡터 (행 우선).
"""
n = len(diag)
out = np.zeros((n, n))
out[np.diag_indices(n)] = diag
# 상삼각 채우기 + 대칭으로 하삼각 복사
iu = np.triu_indices(n, k=1)
out[iu] = off_upper
out = out + out.T - np.diag(np.diag(out))
return out
# Toeplitz: 등간격 추적, lag 별 자유
n = 6
theta = np.array([2.0, 1.5, 1.0, 0.7, 0.5, 0.3])
print("Toeplitz (n=6):")
print(toeplitz_cov(theta).round(2))
# UN: 시점별 분산 다름, 모든 쌍 자유
diag = np.array([1.0, 1.2, 1.5, 1.8, 2.1, 2.3]) # 분산 시점 후반 증가
off = np.array([
0.8, 0.6, 0.4, 0.3, 0.2, # row 1: 12, 13, 14, 15, 16
0.9, 0.7, 0.5, 0.3, # row 2: 23, 24, 25, 26
1.0, 0.8, 0.6, # row 3: 34, 35, 36
1.2, 0.9, # row 4: 45, 46
1.4, # row 5: 56
])
print("\nUN (n=6):")
print(un_cov(diag, off).round(2))UN 출력의 대각이 1.0 → 2.3 으로 증가, 같은 lag (예: lag-1 = (1,2), (2,3), (3,4), …) 의 공분산도 0.8, 0.9, 1.0, 1.2, 1.4 로 변동 — Toeplitz 와 다른 패턴.
6.2 Step 2: 양정치 (Positive Definite) 검증
분산-공분산 행렬은 항상 양정치여야 한다. UN 처럼 자유 모수를 직접 채우면 양정치 조건을 깨기 쉽다 — 예를 들어 비대각 모수가 너무 크면 행렬이 음정치가 된다.
import numpy as np
def is_positive_definite(M: np.ndarray, tol: float = 1e-8) -> bool:
"""모든 고유값이 양수 + 대칭 → 양정치"""
if not np.allclose(M, M.T, atol=tol):
return False
eigvals = np.linalg.eigvalsh(M)
return np.all(eigvals > tol)
# Toeplitz 양정치 검증
theta = np.array([2.0, 1.5, 1.0, 0.7, 0.5, 0.3])
T = toeplitz_cov(theta)
print(f"Toeplitz PD: {is_positive_definite(T)}") # True
# UN 양정치 검증 — 위 정의된 행렬
U = un_cov(diag, off)
print(f"UN PD: {is_positive_definite(U)}") # True (의도적으로 양정치 설계)
# 양정치 깨는 예시 — 비대각 모수가 너무 큰 경우
diag_bad = np.array([1.0, 1.0])
off_bad = np.array([1.5]) # |공분산| > 분산 → 상관 1.5 → 양정치 위반
B = un_cov(diag_bad, off_bad)
print(f"\nUN (bad) PD: {is_positive_definite(B)}") # False
print(B)ML 추정에서 UN 은 양정치 제약을 자동으로 만족하지 않는다. 실무 패키지 (R nlme, Python statsmodels) 는 다음 방법을 쓴다.
- Cholesky 매개변수화: \(\Sigma = LL^\top\) 의 \(L\) 을 추정 → 자동 양정치.
- 분산-상관 분리: 분산은 양수 변환 (log), 상관은 [-1, 1] 변환 (Fisher z) 으로 추정.
- 양정치 깨지면 수렴 실패 또는 boundary 추정 — 모수 수 줄이거나 더 절약적 구조로 교체.
6.3 Step 3: R nlme::gls 로 두 구조 적합
library(nlme)
# 합성 종단 데이터 (long format)
set.seed(2026)
n_subj <- 80
n_time <- 6
df <- expand.grid(week = 1:n_time, id = 1:n_subj)
df$y <- rnorm(nrow(df))
# Toeplitz 구조 — corARMA(p=0, q=n-1) 또는 사용자 정의
# nlme 표준 함수에는 직접 Toeplitz 가 없어 corARMA 의 MA(n-1) 로 근사
m_toep <- gls(y ~ week,
data = df,
correlation = corARMA(form = ~ week | id, p = 0, q = 5),
method = "ML")
# UN 구조 — corSymm + varIdent
# corSymm: 상관 행렬 자유
# varIdent: 시점별 분산 자유
m_un <- gls(y ~ week,
data = df,
correlation = corSymm(form = ~ 1 | id),
weights = varIdent(form = ~ 1 | week),
method = "ML")
# 모형 비교
anova(m_toep, m_un) # nested → LR 검정
AIC(m_toep, m_un) # 보조 기준| 구조 | nlme | glmmTMB |
|---|---|---|
| CS | corCompSymm |
cs |
| AR(1) | corAR1 |
ar1 |
| Toeplitz | corARMA(p=0, q=n-1) |
toep |
| UN | corSymm + varIdent |
us |
glmmTMB 가 더 직관적인 명명이지만 nlme 가 ML/REML 옵션이 더 명시적이다. 임상 분석에서는 SAS PROC MIXED 가 표준 — 모든 구조를 repeated /type=... 한 줄로.
7 Toeplitz·UN 의 한계와 다음 단계
7.1 공통 한계
| 한계 | 의미 | 대안 |
|---|---|---|
| 등간격 가정 (Toeplitz) | 불등간격 시점 처리 못함 | NS-AR(1), continuous-time AR(1) (Ch.7) |
| 모수 폭발 (UN) | \(n\) 이 크면 추정 불안정 | Toeplitz, AR(1), RE (= MRM) |
| 개인별 추론 불가 | “환자 A 의 호전 속도?” 답 못함 | RE 구조 (= MRM) |
| 분산 구조 모형 의미 부재 | 인과 메커니즘 부재 | RE-CPM (= MRM) 으로 옮김 |
7.2 § 6.2.5 RE 구조 — 다음 sub-post
Ch.6 Overview 의 다섯 번째 구조 — Random-Effects (RE) — 가 남았다.
\[ \Sigma_i = Z_i \Sigma_\upsilon Z_i^\top + \sigma^2 I_{n_i} \tag{6.8} \]
이는 MRM 의 마진 분산-공분산 형태와 정확히 같다. CPM 의 5 구조 중 RE 만이 분산을 “피험자 간” + “피험자 내” 로 분해한다 (다른 4 구조는 분해 없음).
7.3 Ch.7 의 결합 모형
CPM 과 MRM 을 결합한 가장 유연한 모형 — Ch.7 — MRM with Autocorrelated Errors:
\[ y_i = X_i\beta + Z_i\upsilon_i + \varepsilon_i, \quad \varepsilon_i \sim \mathcal{N}(0, \sigma^2 R_i), \]
여기서 \(R_i\) 는 CPM 의 공분산 구조 중 하나. MRM 의 조건부 독립 가정 (\(R_i = I\)) 을 풀어주는 일반화.
8 모형 선택 — UN 을 기준으로 한 LR 검정 (재방문)
- UN (full) vs 제약 구조 (CS, AR(1), Toeplitz) LR 검정.
- 자유도: \(\text{df} = \frac{n(n+1)}{2} - q^*\), \(q^*\) 는 제약 구조의 모수 수.
- p-value 보정: 분산 모수 검정이므로 2 로 나눔 (Snijders & Bosker, 1999).
- 제약 구조가 유의하지 않으면 (p > 0.05 보정 후) 그 구조 채택 — UN 보다 절약적.
Bock WPSS 데이터 의 결과:
| 비교 | \(\chi^2\) | df | p (보정) | 결과 |
|---|---|---|---|---|
| Toeplitz vs UN | 43.0 | 15 | 0.000079 | UN 채택 |
| AR(1) vs UN | 50.4 | 19 | 0.000057 | UN 채택 |
| CS vs UN | (더 큼) | 19 | < 0.0001 | UN 채택 |
3 가지 제약 모두 데이터에 부합 안 해 UN 사용 강제. 이 사례는 UN 의 가치 — 다른 구조의 한계가 데이터로 드러남.
9 핵심 정리
- Toeplitz (\(q = n\)): \(\sigma_{jj'} = \theta_k\), \(k = |j-j'|+1\). 같은 lag 의 모든 쌍이 같은 공분산 (시점 위치 무관). AR(1) 의 지수 함수 강제를 풀어줌.
- Toeplitz 의 정상성: 시점별 분산은 여전히 동일 (\(\theta_1\)). 이 점이 깨지면 Toeplitz 부족.
- Toeplitz 의 약점: 후반 lag 의 표본 적음 → 추정 불안정. 절약 Toeplitz (고차 lag = 0) 가 대안.
- UN (\(q = n(n+1)/2\)): 모든 분산-공분산이 자유 모수. 시점별 분산 다름 + 같은 lag 시점에 따라 자유.
- UN = MANOVA: 분산 가정이 정확히 같음. CPM-UN 은 MANOVA 의 결측 데이터 한계 해소.
- UN 의 약점: 모수 폭발 (\(n=10 \to 55\), \(n=20 \to 210\)). 표본 \(\geq 5q\) 가 안전 가이드.
- UN 의 역할: LR 검정의 full 모형. 다른 구조의 적합도 평가 기준.
- nested 관계: UN ⊃ Toeplitz ⊃ AR(1) ⊃ CS. 가정이 풀릴수록 모수 증가.
- 실무 절차: UN 적합 → 제약 구조와 LR 검정 → 절약 구조 가능하면 채택.
- 다음 단계: 시점별 분산 변동 + 시간 의존 → NS-AR(1) (Ch.7), 개인별 추론 → RE (= MRM).
Toeplitz 와 UN 은 CS·AR(1) 의 강한 가정을 단계적으로 풀어주는 도구다. UN 이 가장 유연하지만 모수 비용이 크고, Toeplitz 가 그 절충점에 위치한다. 모형 선택은 데이터의 분산·상관 패턴을 보고 가장 절약적이면서 부합하는 구조를 고르는 과정.
10 관련 주제
선행 지식
- Ch.6 Overview — 공분산 패턴 모형 (CPM) — 5 구조 개요
- § 6.2.1-6.2.2 — CS 와 AR(1) — 두 절약 구조의 한계 → 이 포스트의 출발점
- Ch.3 — MANOVA 종단 접근 — UN 의 모태
관련
- § 4.4 — MRM 행렬 공식화 — 마진 분산 \(V(y) = Z\Sigma_\upsilon Z' + \sigma^2 I\) (= RE 구조)
- § 4.5 — MRM 추정론 — ML/REML, AIC/BIC
후속 주제
- § 6.2.5 RE 구조 — MRM 의 마진 표현 (작성 예정)
- § 6.4 Bock WPSS 5 모형 적합 비교 (작성 예정)
- Ch.7 Overview — MRM with Autocorrelated Errors — CPM + MRM 결합
- § 7.2 — AR(1)·MA(1)·ARMA(1,1)·Toeplitz·NS-AR(1) — 자기상관 구조 상세
교재
- Hedeker, D. & Gibbons, R. D. (2006). Longitudinal Data Analysis, Wiley, Ch.6 §6.2.3-6.2.4 (pp. 103-104)
- Jennrich, R. I. & Schluchter, M. D. (1986). “Unbalanced repeated-measures models with structured covariance matrices”, Biometrics 42, 805-820 — UN 을 full 모형으로 한 LR 검정 절차의 원전
- Wolfinger, R. (1993). “Covariance structure selection in general mixed models”, Communications in Statistics — SAS PROC MIXED 의 추가 구조