1 들어가며 — MRM 과 CPM 의 두 길
Ch.4-5 에서 다룬 혼합효과 회귀 모형 (MRM) 은 종단 데이터의 시간 상관을 다음 방식으로 처리했다.
같은 사람의 시점들은 공통 랜덤 효과 (\(\upsilon_i\)) 를 공유하기 때문에 상관된다. 랜덤 효과를 조건부로 하면 시점들은 독립이다.
이 접근의 장점: 개인별 추세를 직접 모형화 (랜덤 절편, 랜덤 기울기 등 해석 가능한 효과). 단점: 시간 상관 구조가 랜덤 효과 디자인 \(Z_i\) 와 \(\Sigma_\upsilon\) 의 함수로 한정 된다.
Ch.6 의 공분산 패턴 모형 (CPM) 은 다른 길을 택한다.
시간 상관을 만드는 메커니즘 (랜덤 효과) 을 명세하지 않고, 결과로 나타난 분산-공분산 행렬 \(\Sigma\) 자체 를 직접 모수화한다.
MRM: “물질의 미시 구조 (분자) 를 모형화해서 거시 성질 (밀도, 점성) 을 도출” CPM: “거시 성질 자체를 직접 명세”
거시 성질만 필요할 때 (피험자별 곡선이 관심사가 아닐 때) CPM 이 더 직접적이고 단순하다. 반면 개인별 곡선·예측이 필요하면 MRM 이 적합하다.
2 학습 목표
- CPM 의 모형 정의와 MRM 과의 차이 (피험자 간/내 분산 구분 여부)
- 5 가지 공분산 구조 — CS·AR(1)·Toeplitz·UN·RE — 의 형태와 모수 수 비교
- 모형 선택 — LR 검정과 자유도 보정 (variance 모수 검정에서 p-value 2 로 나눔)
- Bock (1983) WPSS 정신과 데이터 적용 예시 — 4 가지 구조의 적합도 비교
- conditional vs marginal 공분산 행렬의 차이 (왜 추정값이 관측값보다 작은가)
3 Ch.6 구성
| 절 | 주제 | 핵심 |
|---|---|---|
| §6.1 | Introduction | MRM = ANOVA 확장, CPM = MANOVA 확장 |
| §6.2 | CPM 정의 | \(y_i = X_i\beta + e_i\), \(e_i \sim \mathcal{N}(0, \Sigma_i)\) |
| §6.2.1 | Compound Symmetry (CS) | 동일 분산·동일 상관 (\(q = 2\)) |
| §6.2.2 | AR(1) | 지수 감소 상관 (\(q = 2\)) |
| §6.2.3 | Toeplitz | lag 별 자유 상관 (\(q = n\)) |
| §6.2.4 | Unstructured (UN) | 모든 모수 자유 (\(q = n(n+1)/2\)) |
| §6.2.5 | Random-Effects (RE) | \(\Sigma_i = Z_i \Sigma_\upsilon Z_i' + \sigma^2 I\) |
| §6.3 | Model Selection | LR 검정·AIC·BIC, p-value 보정 |
| §6.4 | Bock 예시 | WPSS 75 명·6 주, UN 이 가장 적합 |
4 모형 정의
피험자 \(i\) 의 \(n_i \times 1\) 반응 벡터 \(y_i\) 는 다음과 같이 모형화된다.
\[ y_i = X_i \beta + e_i, \qquad e_i \sim \mathcal{N}_{n_i}(0, \Sigma_i) \tag{6.1} \]
- \(X_i\): \(n_i \times p\) 디자인 행렬
- \(\beta\): \(p \times 1\) 고정 효과 벡터
- \(\Sigma_i\): 전체 시점 분산-공분산 행렬 \(\Sigma\) (\(n \times n\), \(n\) = 전체 고정 시점 수) 의 부분 행렬
- 피험자 \(i\) 가 관측되지 않은 시점의 행/열은 제거
- \(\Sigma\) 는 \(q\) 차원 모수 벡터 \(\theta\) 의 함수 — 어떤 형태로 모수화할지가 핵심
이 식만 보면 일반 다중 회귀 (\(y = X\beta + \varepsilon\), \(\varepsilon \sim \mathcal{N}(0, \sigma^2 I)\)) 와 거의 같다. 차이는 단 하나 — 오차 분산이 \(\sigma^2 I\) (시점 간 독립) 가 아니라 일반적인 \(\Sigma\) 라는 점. 이 일반화가 종단 데이터의 핵심 — 같은 사람의 시점 간 상관을 직접 명세할 수 있다.
| 모형 | 시간 처리 | 분산 구조 | 결측 처리 | 개인별 효과 |
|---|---|---|---|---|
| RM-ANOVA | 균형·범주적 | CS 가정 | 어려움 (대체) | 단일 랜덤 절편 |
| MANOVA | 균형·범주적 | UN | 완전 데이터만 | 없음 (마진) |
| MRM | 연속적 | \(Z\Sigma_\upsilon Z' + \sigma^2 I\) | 자연 처리 | 직접 모형화 |
| CPM | 범주적·고정 | 명세된 형태 (CS/AR(1)/Toeplitz/UN/RE) | 자연 처리 | 없음 (마진) |
CPM 의 자리: MANOVA 의 결측 데이터 한계와 분산 구조 유연성 한계를 모두 해소한 마진 모형.
5 5 가지 공분산 구조
종단 데이터에서 자주 사용되는 5 가지 구조를 형태와 모수 수로 비교한다.
5.1 6.1 Compound Symmetry (CS)
\[ \Sigma_{\text{CS}} = \begin{bmatrix} \sigma^2 + \sigma_1^2 & \sigma_1^2 & \cdots & \sigma_1^2 \\ \sigma_1^2 & \sigma^2 + \sigma_1^2 & \cdots & \sigma_1^2 \\ \vdots & \vdots & \ddots & \vdots \\ \sigma_1^2 & \sigma_1^2 & \cdots & \sigma^2 + \sigma_1^2 \end{bmatrix} \tag{6.2} \]
모수 수: \(q = 2\) (\(\sigma^2, \sigma_1^2\))
CS 는 두 가지를 가정한다: - 모든 시점의 분산은 같다 (\(\sigma^2 + \sigma_1^2\)) - 모든 시점 쌍의 공분산은 같다 (\(\sigma_1^2\)) — lag 무관
상관 계수는 \(\rho = \sigma_1^2/(\sigma^2 + \sigma_1^2)\) — 급내 상관 계수 (ICC) 와 정확히 같다.
이 구조는 § 4.2 랜덤 절편 MRM 의 마진 분산과 정확히 일치한다. 즉 “랜덤 절편 + 독립 오차” MRM 의 CPM 표현. 가장 단순한 종단 모형 이지만 시간 lag 무시는 비현실적이다 — 하루 차이와 일주일 차이의 상관이 같다고 가정하는 셈.
5.2 6.2 First-Order Autoregressive — AR(1)
\[ \sigma_{jj'} = \sigma^2 \rho^{|j - j'|} \tag{6.3} \]
\[ \Sigma_{\text{AR(1)}} = \sigma^2 \begin{bmatrix} 1 & \rho & \rho^2 & \cdots & \rho^{n-1} \\ \rho & 1 & \rho & \cdots & \rho^{n-2} \\ \rho^2 & \rho & 1 & \cdots & \rho^{n-3} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \rho^{n-1} & \rho^{n-2} & \rho^{n-3} & \cdots & 1 \end{bmatrix} \tag{6.4} \]
모수 수: \(q = 2\) (\(\sigma^2, \rho\))
AR(1) 의 핵심: lag 가 1 늘어날 때마다 상관이 \(\rho\) 배 (0~1 사이) 로 감소.
- \(\rho = 0.5\): lag 1 → 0.5, lag 2 → 0.25, lag 3 → 0.125
- 등비수열 — 기억이 지수적으로 소멸
운동학·시계열 분석의 표준 가정이며 종단 데이터의 첫 후보 다. 단점: 고정된 함수 형태 (지수 감소) — 실제 상관 패턴이 다른 곡선이면 적합 안 됨.
5.3 6.3 Toeplitz (Banded)
\[ \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} \]
모수 수: \(q = n\)
Toeplitz 는 같은 lag 의 모든 쌍이 같은 공분산을 갖는다 (시점 위치는 무관). 하지만 lag 1·lag 2·lag 3 의 상관은 서로 자유롭게 추정.
AR(1) 보다 유연: 지수 감소를 강제하지 않음. - AR(1): 0.5, 0.25, 0.125 (등비) - Toeplitz: 0.5, 0.4, 0.3 같은 자유 패턴 가능
UN 보다는 절약적: \(n\) 개 모수만 (UN 은 \(n(n+1)/2\)).
5.4 6.4 Unstructured (UN)
\[ \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} \]
모수 수: \(q = n(n+1)/2\)
UN 은 분산-공분산 행렬의 모든 자유 모수를 허용한다.
- 시점별 분산이 다를 수 있음 (분산 동일성 가정 X)
- 같은 lag 의 상관도 시점 위치에 따라 다를 수 있음 (Toeplitz 가정 X)
- 시간 함수 형태 가정 없음 (AR(1) 가정 X)
이 유연성의 대가: \(n = 6\) 이면 21 개 모수, \(n = 10\) 이면 55 개 모수. 시점이 늘면 모수 폭발 → 표본 크기 부족 시 추정 불안정.
CPM 의 UN 은 MANOVA 가 가정하는 분산-공분산 형태와 정확히 같다. CPM 이 MANOVA 보다 우위에 서는 부분: MANOVA 는 완전 데이터만 처리 가능, CPM 은 결측 시점 자연 처리.
5.5 6.5 Random-Effects (RE) Structure
\[ e_i = Z_i \upsilon_i + \varepsilon_i, \quad \upsilon_i \sim \mathcal{N}(0, \Sigma_\upsilon), \quad \varepsilon_i \sim \mathcal{N}(0, \sigma^2 I_{n_i}) \tag{6.7} \]
\[ \Sigma_i = Z_i \Sigma_\upsilon Z_i^\top + \sigma^2 I_{n_i} \tag{6.8} \]
모수 수: \(q = r(r+1)/2 + 1\) (\(r\) = 랜덤 효과 수)
RE 구조는 사실 MRM 의 분산-공분산 구조와 정확히 같다 (§ 4.4 행렬 공식화 참조).
MRM 과 다른 점은 표현 방식: - MRM: \(y_i = X_i\beta + Z_i\upsilon_i + \varepsilon_i\) (랜덤 효과 명시) - RE-CPM: \(y_i = X_i\beta + e_i\), \(\Sigma_i = Z_i \Sigma_\upsilon Z_i' + \sigma^2 I\) (마진만)
같은 모형의 두 표현이지만 추정 결과·로그 우도는 동일. RE 구조는 “MRM 도 CPM 의 한 특수 경우” 임을 보여주는 통합 시각이다.
5.6 5 구조 한눈 비교
| 구조 | 모수 수 \(q\) | 분산 동일? | 상관 형태 | 사용 적합 상황 |
|---|---|---|---|---|
| CS | 2 | O | 모든 lag 동일 | 매우 단순한 클러스터링, ICC 만 관심 |
| AR(1) | 2 | O | 지수 감소 | 표준 종단 데이터 출발점 |
| Toeplitz | \(n\) | O | lag 별 자유 | 시간 lag 패턴이 비지수형 |
| UN | \(n(n+1)/2\) | X | 자유 | 시점 적고 표본 큼·구조 가정 무리 |
| RE | \(r(r+1)/2 + 1\) | X (변동) | \(Z_i, \Sigma_\upsilon\) 함수 | 개인별 추세가 본질적 관심사 |
선택 가이드: - 시점 적음 + 표본 큼 → UN - 등간격 + 지수 감소 합리적 → AR(1) - 같은 lag 의 비균질성 → UN 또는 NS-AR(1) (Ch.7) - 개인별 곡선 필요 → RE (= MRM) - 모형 절약성 → CS, AR(1)
6 모형 선택
- 공변량 결정: 관심 있는 모든 공변량 (시간 추세, 그룹, 상호작용 등) 을 포함
- 공분산 구조 비교: 비구조적 (UN) 을 full 모형으로 두고 제약된 구조와 LR 검정
- 자유도: \(\text{df} = \frac{n(n-1)}{2} - q^*\), 여기서 \(q^*\) 는 제약 모형의 모수 수
- p-value 보정: 분산 모수 검정은 p-value 를 2 로 나눔 (Snijders & Bosker, 1999)
- 공분산 구조 결정 후: 공변량 trimming 진행
이는 2 단계 절차 다. - 1 단계: 공변량 풀고 공분산 구조 선정 - 2 단계: 공분산 구조 고정하고 공변량 선정
분산 모수 (\(\sigma^2 \geq 0\)) 의 영가설은 모수 공간 경계 (boundary) 에 있다. 이 경우 LR 통계량의 분포는 표준 \(\chi^2\) 가 아니라 \(\frac{1}{2}\chi^2_0 + \frac{1}{2}\chi^2_1\) (mixture) 이다.
대략적으로 표준 \(\chi^2\) p-value 의 절반이 정확한 값. Snijders & Bosker (1999) 의 실용 보정: p-value 를 2 로 나눠 보고.
이는 공분산 모수 검정에만 적용된다. 회귀 계수 (고정 효과) 검정에는 보정 불필요.
6.1 AIC·BIC 도 함께 사용
LR 검정은 nested 모형 비교에만 가능하다. non-nested 비교 (예: AR(1) vs Toeplitz) 는 AIC 또는 BIC 로 평가.
| 기준 | 공식 | 절약성 선호도 |
|---|---|---|
| AIC | \(-2\log L + 2q\) | 보통 |
| BIC | \(-2\log L + q \log N\) | 강 (큰 표본) |
BIC 가 더 절약적 모형을 선호 → 표본이 클수록 단순 구조가 유리.
7 Bock 정신과 데이터 — Hedeker §6.4
7.1 데이터
- \(N = 75\) 우울증 환자, 6 주 추적
- 두 그룹:
- TCA-None (\(n = 46\)): 첫 3 주 약물 (TCA), 다음 3 주 무약물
- None-TCA (\(n = 29\)): 첫 3 주 무약물, 다음 3 주 약물
- 반응변수: WPSS (1-6 점 평정 척도)
- 모든 피험자가 6 주 모두 관측됨 (완전 데이터)
7.2 고정 효과 — 직교 대비 코딩
Bock 의 코딩 (week 3.5 중심):
| Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | |
|---|---|---|---|---|---|---|
| Linear trend | \(-5/2\) | \(-3/2\) | \(-1/2\) | \(1/2\) | \(3/2\) | \(5/2\) |
| Change of slope | \(-1/2\) | 0 | \(1/2\) | \(1/2\) | 0 | \(-1/2\) |
Linear trend: 6 주 전체의 평균적 선형 추세. 중심화 (sum = 0) → 절편이 week 3.5 평균을 의미.
Change of slope: 첫 3 주 vs 마지막 3 주의 기울기 변화. - Week 1·2·3 (첫 기간): \(-1/2, 0, 1/2\) → 첫 기간 내 선형 추세 - Week 4·5·6 (둘째 기간): \(1/2, 0, -1/2\) → 둘째 기간 내 선형 추세 (부호 반전) - 두 부분의 차이가 “기울기 변화” 를 측정
이 contrast 가 핵심 — 그룹 × 변화 상호작용이 약물 효과 검정의 도구다. TCA-None 그룹은 첫 기간 약물 효과로 호전이 빠르고, None-TCA 는 둘째 기간 약물 효과로 호전이 빨라야 한다. 두 그룹의 기울기 변화 패턴이 정반대여야 약물 효과가 입증됨.
7.3 4 가지 CPM 적합 — Table 6.2
| 구조 | \(q\) | ML \(-2\log L\) | REML \(-2\log L\) |
|---|---|---|---|
| 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 |
Toeplitz vs UN: \(\chi^2 = 988.9 - 945.9 = 43.0\), df = 15, \(p\) (보정) \(\approx 0.000079\) → 유의 AR(1) vs UN: \(\chi^2 = 996.3 - 945.9 = 50.4\), df = 19, \(p\) (보정) \(\approx 0.000057\) → 유의 CS: AR(1) 보다 deviance 크므로 자동 기각
→ 3 가지 제약 구조 모두 데이터에 부합 안 함, UN 사용 강제.
CS 가 가장 안 맞은 이유: 분산이 시점에 따라 증가 + lag 별 상관도 변화.
7.4 추정된 분산-공분산 — 식 (6.9)
UN 모형의 추정 \(\widehat\Sigma\) (단위: WPSS 점수의 제곱):
대각 (분산): 1.443, 1.605, 1.810, 1.995, 2.241, 2.369 표준편차 → 1.201, 1.267, 1.345, 1.413, 1.497, 1.539
관측 SD (Table 6.1): 1.30, 1.40, 1.53, 1.61, 1.66, 1.65 추정 SD: 1.20, 1.27, 1.35, 1.41, 1.50, 1.54
추정값이 일관되게 작다. 이유: \(\widehat\Sigma\) 는 공변량 조건부 (conditional) 분산. 즉 그룹·시간 추세·변화·상호작용을 빼고 남은 잔차 분산. 관측 SD 는 마진 (marginal) 분산 — 그룹 차이까지 포함한 전체 변동.
일반 회귀에서도 마찬가지 — 잔차 분산은 항상 \(y\) 의 분산보다 작다.
추정 상관 행렬 (식 6.10):
Wk1 Wk2 Wk3 Wk4 Wk5 Wk6
Wk1 1.000
Wk2 0.894 1.000
Wk3 0.699 0.836 1.000
Wk4 0.624 0.776 0.886 1.000
Wk5 0.522 0.641 0.725 0.847 1.000
Wk6 0.543 0.624 0.675 0.822 0.951 1.000
Lag-1 상관: - Wk1-Wk2: 0.894 - Wk2-Wk3: 0.836 - Wk3-Wk4: 0.886 - Wk4-Wk5: 0.847 - Wk5-Wk6: 0.951
같은 lag-1 인데 0.836 ~ 0.951 로 변동. 이런 비균질성 때문에 Toeplitz (lag 별 단일 모수) 가 적합 안 됨.
7.5 임상 결론 — Table 6.3
| 모수 | 추정 | SE | \(Z\) | \(p\) |
|---|---|---|---|---|
| 절편 | 3.122 | 0.179 | 17.44 | < .0001 |
| 선형 추세 | -0.198 | 0.036 | -5.48 | < .0001 |
| Change of slope | -0.255 | 0.102 | -2.49 | .015 |
| 그룹 | 1.286 | 0.288 | 4.46 | < .0001 |
| 그룹 × 선형 | 0.017 | 0.058 | 0.28 | .78 |
| 그룹 × 변화 | 0.475 | 0.164 | 2.89 | .005 |
핵심: - 두 그룹 모두 호전 추세 (음의 선형) — 그룹 × 선형 비유의로 동일 - 그룹 × 변화 유의 — 두 그룹의 기울기 변화 패턴이 정반대 → 약물 효과 입증 - TCA-None 그룹: 첫 3 주 (약물) 호전 빠름 (-0.326/주), 둘째 3 주 (무약물) 거의 정체 (-0.071/주) - None-TCA 그룹: 첫 3 주 (무약물) 정체 (-0.071/주), 둘째 3 주 (약물) 호전 빠름 (-0.291/주)
8 코드 예시
8.1 Step 1: 5 가지 구조 분산-공분산 행렬 직접 구성
import numpy as np
n = 6 # 시점 수
def cs_cov(sigma2, sigma1_2, n):
"""Compound Symmetry"""
return sigma1_2 * np.ones((n, n)) + sigma2 * np.eye(n)
def ar1_cov(sigma2, rho, n):
"""AR(1) — sigma^2 * rho^|j-j'|"""
idx = np.arange(n)
return sigma2 * rho ** np.abs(idx[:, None] - idx[None, :])
def toeplitz_cov(theta, n):
"""Toeplitz — theta[k] for lag k"""
idx = np.arange(n)
lags = np.abs(idx[:, None] - idx[None, :])
return theta[lags]
def re_cov(Z, Sigma_v, sigma2):
"""Random-Effects — Z Sigma_v Z' + sigma^2 I"""
n = Z.shape[0]
return Z @ Sigma_v @ Z.T + sigma2 * np.eye(n)
# 예시 모수 (대략)
print("CS (sigma2=1, sigma1_2=2):")
print(cs_cov(1.0, 2.0, n).round(2))
print("\nAR(1) (sigma2=2, rho=0.7):")
print(ar1_cov(2.0, 0.7, n).round(2))
print("\nToeplitz (theta = [2.0, 1.4, 1.0, 0.7, 0.5, 0.3]):")
print(toeplitz_cov(np.array([2.0, 1.4, 1.0, 0.7, 0.5, 0.3]), n).round(2))
# RE 구조 — 랜덤 절편만
Z = np.ones((n, 1))
print("\nRE (랜덤 절편만, sigma_v=2, sigma2=1):")
print(re_cov(Z, np.array([[2.0]]), 1.0).round(2))검증 포인트: CS 와 RE (랜덤 절편만) 의 출력이 정확히 동일. 이는 랜덤 절편 MRM = CS-CPM 의 동치성을 직접 보여준다.
8.2 Step 2: statsmodels — UN 구조 CPM 적합
statsmodels 의 MixedLM 은 CPM 을 직접 지원하지 않지만, re_formula 에 모든 시점 지표를 넣으면 UN 에 가까운 형태로 적합 가능. 실무에서는 R 의 nlme::gls 또는 glmmTMB 가 더 직접적이다.
import pandas as pd
import statsmodels.formula.api as smf
# 합성 WPSS 비슷 데이터
np.random.seed(2026)
n_subj_TCA, n_subj_None = 46, 29
n_subj = n_subj_TCA + n_subj_None
n_time = 6
t = np.arange(1, n_time + 1)
# 그룹 코딩
group = np.array([0] * n_subj_TCA + [1] * n_subj_None)
# 직교 대비
linear = np.array([-5/2, -3/2, -1/2, 1/2, 3/2, 5/2])
change = np.array([-1/2, 0, 1/2, 1/2, 0, -1/2])
# 평균 곡선 — Hedeker Table 6.3 비슷
beta = {"intercept": 3.12, "linear": -0.20, "change": -0.26,
"group": 1.29, "g_lin": 0.02, "g_chg": 0.48}
mu = (beta["intercept"]
+ beta["linear"] * linear[None, :]
+ beta["change"] * change[None, :]
+ beta["group"] * group[:, None]
+ beta["g_lin"] * group[:, None] * linear[None, :]
+ beta["g_chg"] * group[:, None] * change[None, :])
# UN 비슷한 분산-공분산 (시점 후반 분산 증가)
sigma_t = np.linspace(1.20, 1.54, n_time)
rho_base = 0.85
corr = np.ones((n_time, n_time))
for j in range(n_time):
for k in range(n_time):
corr[j, k] = rho_base ** abs(j - k)
Sigma_true = np.outer(sigma_t, sigma_t) * corr
# 시뮬레이션
y = mu + np.random.multivariate_normal(np.zeros(n_time), Sigma_true, size=n_subj)
# Long format
df = pd.DataFrame({
"subject": np.repeat(np.arange(n_subj), n_time),
"week": np.tile(np.arange(1, n_time + 1), n_subj),
"y": y.flatten(),
"group": np.repeat(group, n_time),
"linear": np.tile(linear, n_subj),
"change": np.tile(change, n_subj),
})
# CPM-RE (랜덤 절편) 적합 — CS 구조와 동치
m_cs = smf.mixedlm(
"y ~ linear + change + group + group:linear + group:change",
df,
groups=df["subject"],
).fit(reml=False)
print(m_cs.summary())library(nlme)
# CS 구조
m_cs <- gls(y ~ linear + change + group + group:linear + group:change,
data = df,
correlation = corCompSymm(form = ~ 1 | subject),
method = "ML")
# AR(1) 구조
m_ar1 <- gls(y ~ linear + change + group + group:linear + group:change,
data = df,
correlation = corAR1(form = ~ week | subject),
method = "ML")
# Toeplitz 구조
m_toep <- gls(y ~ ...,
correlation = corARMA(form = ~ week | subject, p = 0, q = 5),
method = "ML")
# UN 구조 — corSymm + varIdent
m_un <- gls(y ~ ...,
correlation = corSymm(form = ~ 1 | subject),
weights = varIdent(form = ~ 1 | week),
method = "ML")
# 모형 비교
anova(m_cs, m_ar1, m_toep, m_un) # AIC, BIC, LR9 CPM 의 한계와 MRM 보완
- 랜덤 효과 예측 (BLUP) 불가능: 개인별 절편·기울기를 추정할 수 없음 (개인 모수 자체가 모형에 없음)
- 피험자별 추론 불가능: “환자 A 의 호전 속도는?” 같은 질문에 답 못함
- 시변 공변량 효과 분리 어려움: between-subject vs within-subject 효과 구분이 MRM 보다 까다로움
- 불등간격 시간: 표준 CS·AR(1)·Toeplitz 는 등간격 가정. 불등간격이면 NS-AR(1) (Ch.7) 또는 GEE
- 시점 폭발: \(n\) 이 크면 UN 모수 수가 폭발 (\(n = 20 \to 210\) 모수)
CPM 우선 시나리오: - 모집단 수준 효과만 관심 (예: 임상시험 약물 효과) - 시점 수가 적고 표본 큼 - 분산-공분산 구조 자체가 연구 질문 (예: 호전 속도가 시점에 따라 가속되는가)
MRM 우선 시나리오: - 개인별 추세·예측 필요 (예: 정밀의료, 환자별 반응 모형) - 불등간격 시간 - 다수준 데이터 (반복측정 + 클러스터링 + 센터) - 비선형 추세를 개인별로 다르게 모형화
둘 다 적합 후 비교: 실무에서는 RE-CPM (= MRM) + UN-CPM 두 모형을 모두 적합하여: - 마진 효과의 점추정 비교 - 분산 구조 적합도 비교 - 어느 모형이 데이터에 더 자연스러운지 평가
같은 결론에 도달하면 모형 선택은 해석 편의 문제.
10 Ch.7 과의 연결 — MRM + AC 오차
Ch.7 은 Ch.6 의 CPM 과 Ch.4-5 의 MRM 을 결합한다.
\[ y_i = X_i\beta + Z_i\upsilon_i + \varepsilon_i, \quad \varepsilon_i \sim \mathcal{N}(0, \sigma^2 R_i) \]
여기서 \(R_i\) 는 Ch.6 의 공분산 구조 중 하나 (AR(1), MA(1), ARMA(1,1), Toeplitz, NS-AR(1)). 표준 MRM 의 조건부 독립 가정 (\(R_i = I\)) 를 완화하여 가장 유연한 분산-공분산 모형을 만든다.
상세는 Ch.7 Overview 와 § 7.2 sub-post 참조.
11 핵심 정리
- CPM 정의: \(y_i = X_i\beta + e_i\), \(e_i \sim \mathcal{N}(0, \Sigma_i)\) — 마진 분산-공분산을 직접 모수화
- MRM 과의 차이: MRM 은 랜덤 효과 → 마진 분산 도출, CPM 은 마진 분산을 직접 명세
- 5 구조: CS (\(q=2\), 동일 분산·동일 상관), AR(1) (\(q=2\), 지수 감소), Toeplitz (\(q=n\), lag 자유), UN (\(q=n(n+1)/2\), 모수 폭발), RE (\(q=r(r+1)/2+1\), MRM 동치)
- CS = 랜덤 절편 MRM: 두 모형이 정확히 같은 마진 분포
- 모형 선택: UN vs 제약 모형 LR 검정, df = \(n(n-1)/2 - q^*\), p-value 2 로 나눔 (분산 모수 검정)
- AIC·BIC: non-nested 비교에 사용. BIC 가 더 절약적
- Bock 데이터: WPSS 75 명·6 주, UN 이 압도적 — 분산 시점별 증가 + lag 비균질성
- conditional vs marginal: \(\widehat\Sigma\) < 관측 \(\Sigma\) — 공변량 효과 제거된 잔차 분산
- CPM 한계: 개인별 추론 불가. 개인 곡선이 핵심이면 MRM 사용
CPM 은 종단 데이터의 분산-공분산 구조를 가장 유연하게 모형화하는 도구다. 모집단 수준 효과 추정과 분산 구조 비교가 목적이면 MRM 보다 직접적. 개인별 추론이 목적이면 MRM 또는 RE-CPM (= MRM) 으로 옮긴다.
12 다음 단계
| 주제 | 다룰 내용 | 위치 |
|---|---|---|
| § 6.4 sub-post | Bock WPSS 데이터 5 모형 적합 비교, \(\widehat\Sigma\) 행렬·상관 행렬 수치 재현 | 추후 작성 (06-1-cpm-bock-example.qmd) |
| Ch.7 Overview | MRM + AC 오차 결합 모형 | Ch.7 Overview (작성됨) |
| Ch.8 GEE | CPM 의 비정규 일반화 (마진 모형) | 미작성 |
13 관련 주제
선행 지식
- § 4.4 — 행렬 공식화 — MRM 의 마진 분산 \(V(y) = Z\Sigma_\upsilon Z' + \sigma^2 I\)
- § 4.5 — MRM 추정론 — ML/REML 기본 원리
- Ch.3 — MANOVA 종단 접근 — CPM 의 모태
관련
- § 4.2 — 랜덤 절편 MRM — CS-CPM 과 동치
- Ch.5 Overview — 다항식 추세 MRM — 평균 구조 모형화 (CPM 은 분산 구조)
후속 주제
- Ch.7 Overview — MRM with Autocorrelated Errors — CPM + MRM 결합
- § 7.2 — AR(1)·MA(1)·ARMA(1,1)·Toeplitz·NS-AR(1) — 5 자기상관 구조 상세
- Ch.8 GEE — 비정규 마진 모형 (미작성)
교재
- Hedeker, D. & Gibbons, R. D. (2006). Longitudinal Data Analysis, Wiley, Ch.6 (pp. 101-111)
- Jennrich, R. I. & Schluchter, M. D. (1986). “Unbalanced repeated-measures models with structured covariance matrices”, Biometrics 42, 805-820 — CPM 원전
- Schluchter, M. D. (1988). “Analysis of incomplete multivariate data using linear models with structured covariance matrices”, Statistics in Medicine 7, 317-324
- Wolfinger, R. (1993). “Covariance structure selection in general mixed models”, Communications in Statistics — SAS PROC MIXED 추가 구조
- Snijders, T. A. B. & Bosker, R. J. (1999). Multilevel Analysis, Sage — p-value 보정
- Bock, R. D. (1983b). “The discrete Bayesian”, in Modern Advances in Psychometric Research — WPSS 데이터 출처