1 모형 선택 도구
| 측도 | 정의 | 해석 |
|---|---|---|
| LRT | \(-2(\log L_{\text{reduced}} - \log L_{\text{full}})\) | nested 모형의 \(\chi^2\) 검정 |
| AIC | \(-2 \log L + 2k\) | 모형 적합도 vs 모수 수, lower 좋음 |
| BIC | \(-2 \log L + k \log n\) | AIC 의 보수적 변종 |
\(k\) = 모수 수, \(n\) = 표본 크기.
2 LRT (Likelihood Ratio Test)
Nested 모형 비교 (\(H_0\): 작은 모형이 옳다).
\[ \Delta = -2 \log L_{\text{reduced}} - (-2 \log L_{\text{full}}) \sim \chi^2_{df} \]
\(df\) = 모수 수 차이.
2.1 Fixed effect 비교
ML 추정 필수 (REML 은 fixed effect 의 함수가 아님).
2.2 Variance component 비교
REML OK. 단 \(H_0: \sigma^2 = 0\) (boundary) 검정은 mixture distribution.
3 AIC vs BIC
| 측도 | 권장 |
|---|---|
| AIC | 예측 정확도 우선, 더 자유 |
| BIC | 모형 단순성 우선, 보수적 |
큰 표본에서 BIC 가 AIC 보다 모수 수 페널티 강.
AIC: \(\Delta = -2\log L + 2k\). BIC: \(\Delta = -2\log L + k \log n\).
\(n > 7\) 면 \(\log n > 2\) → BIC 가 모수 수에 더 큰 페널티.
AIC 는 예측 성능 (KL divergence) 최소화에 가까운 모형 선택. BIC 는 “true model” 식별에 가까움 (consistency 정리).
실무: 두 측도가 일치하면 결론 안정. 다르면 사전 가설과 도메인 지식으로 판단.
4 시변 공변량 (Time-Varying Covariate)
시간에 따라 변하는 covariate \(X_{ij}\) — 각 시점마다 다른 값.
\[ Y_{ij} = \beta_0 + \beta_1 X_{ij} + u_{0i} + \varepsilon_{ij} \]
예시: - 환자의 매주 약 복용량 (\(X_{ij}\)). - 학생의 매학기 출석률. - 사용자의 매일 활동 시간.
5 Between-Subjects vs Within-Subject 분해
시변 공변량의 효과는 두 부분으로 분해:
- Between-subjects effect: 평균 \(\bar X_i\) 가 높은 사람이 \(Y\) 가 높은가?
- Within-subject effect: 같은 사람이 \(X_{ij}\) 가 평소보다 높을 때 \(Y\) 가 높은가?
분해 모형:
\[ Y_{ij} = \beta_0 + \beta_B \bar X_i + \beta_W (X_{ij} - \bar X_i) + u_{0i} + \varepsilon_{ij} \]
\(\beta_B\): between effect. \(\beta_W\): within effect.
\(\beta_B = \beta_W\) 이면 단순 \(X_{ij}\) 효과로 충분. \(\beta_B \ne \beta_W\) 이면 두 효과가 구조적으로 다름.
예: 사용자의 평균 활동량이 retention 에 강한 효과 (between, \(\beta_B\) 큼) 이지만, 같은 사용자가 평소보다 활동량 늘어도 retention 에 영향 거의 없음 (within, \(\beta_W \approx 0\)).
이 분리는 personality vs state 효과의 통계적 분리 (Schmiedek et al. 2019).
6 가설 데이터 — 환자 약 복용량 → SBP
\(n = 25\) 환자, \(T = 8\) 시점. 각 시점에 약 복용 시간 \(X_{ij}\) 와 SBP \(Y_{ij}\) 측정.
분석 결과 (가상):
| 모형 | \(\beta_X\) (단일 효과) | \(\beta_B\) | \(\beta_W\) | AIC |
|---|---|---|---|---|
| Naive | \(-0.5\) | — | — | 1820 |
| 분해 | — | \(-0.8\) | \(-0.3\) | 1810 |
\(\beta_B = -0.8\) : 평균 복용량이 많은 환자가 평균 SBP 낮음. \(\beta_W = -0.3\) : 같은 환자가 평소보다 더 복용한 시점에 SBP 약간 더 낮음.
두 효과 분리. 단순 \(\beta_X\) 는 두 효과의 평균.
LRT for decomposition: \[ LRT = 2(L_{\text{decomp}} - L_{\text{naive}}) \]
자유도 1, \(p\)-value 로 분해의 의미 검정.
7 Python 코드
import numpy as np
import pandas as pd
from statsmodels.formula.api import mixedlm
from scipy import stats as sps
np.random.seed(2026)
n = 25
T = 8
records = []
for subj in range(n):
u0 = np.random.normal(0, 6)
bar_X = np.random.uniform(0.3, 1.0) # subject 평균 약 복용
for t in range(T):
X = bar_X + np.random.normal(0, 0.2) # 시점별 변동
y = 140 - 8 * bar_X - 3 * (X - bar_X) + u0 + np.random.normal(0, 3)
records.append({"subject": subj, "time": t, "X": X, "Y": y})
data = pd.DataFrame(records)
# Naive model — single X effect
md_naive = mixedlm("Y ~ X", data=data, groups=data["subject"]).fit()
print("=== Naive (single X) ===")
print(md_naive.summary().tables[1])
# Decomposed: between vs within
data["X_bar"] = data.groupby("subject")["X"].transform("mean")
data["X_dev"] = data["X"] - data["X_bar"]
md_decomp = mixedlm("Y ~ X_bar + X_dev", data=data, groups=data["subject"]).fit()
print("\n=== Decomposed (X_bar = between, X_dev = within) ===")
print(md_decomp.summary().tables[1])
# LRT for decomposition
LRT = 2 * (md_decomp.llf - md_naive.llf)
p_lrt = 1 - sps.chi2.cdf(LRT, 1)
print(f"\nLRT: chi² = {LRT:.2f}, p = {p_lrt:.4f}")
print(f"AIC naive: {md_naive.aic:.1f}, decomp: {md_decomp.aic:.1f}")8 모형 선택 절차
Step 1: Random structure 선택
- Random intercept only
- + Random slope (시점이 양적이면)
- + 더 복잡한 random structure
→ AIC/BIC 비교 (REML)
Step 2: Fixed effect 선택
- 주효과만
- + 상호작용
→ ML LRT 또는 AIC/BIC
Step 3: 잔차 공분산 구조
- 독립
- AR(1)
- Toeplitz
- UN
→ AIC/BIC 비교 (REML)
Step 4: 시변 공변량 분해
- between vs within 분리
→ LRT 또는 AIC
Step 5: 최종 모형 적합 (REML) 후 결과 보고
9 Endogeneity 의 문제
\(X_{ij}\) 가 처치 후 측정 (예: 처치 결과로 활동량 변화) 이면 인과 해석 어려움.
처치 → \(X\) → \(Y\) 의 mediator 일 수도, \(X\) → 처치 → \(Y\) 의 confounder 일 수도.
해결: - DAG (causal graph) 로 인과 구조 명시. - Instrumental variable. - Lagged covariate (이전 시점의 \(X\) 사용).
10 가정과 한계
- 모형 선택의 다중성: AIC/BIC 가 무한 모형 비교에는 보수적이지 않음. 사전 가설 중요.
- REML 의 LRT 한계: fixed effect 비교 불가.
- Boundary test: variance component = 0 검정 부적합 standard \(\chi^2\).
- 시변 공변량의 endogeneity: \(X_{ij}\) 가 처치 후 측정이면 인과 해석 어려움.
11 응용
| 분야 | 시변 공변량 |
|---|---|
| 임상 | 매 시점 약 복용량 |
| 교육 | 매 학기 출석률 |
| 사용자 행동 | 매일 앱 사용 시간 |
| 농학 | 매 측정 시 강수량 |
| 운동학 | 매 훈련 세션의 운동 시간 |
12 ML 매핑
ML 모델의 학습 curve + dynamic learning rate:
Y_ij: epoch j 의 validation accuracy.
X_ij: epoch j 의 learning rate (시변).
Subject: training run.
분해: - \(\bar X_i\): run 의 평균 learning rate (between). - \(X_{ij} - \bar X_i\): epoch 별 learning rate 변동 (within).
분석으로 “평균 lr 이 높은 run 이 더 좋은가?” vs “같은 run 내에서 lr 이 변할 때 effect 는?” 분리 가능.
이는 ML 의 dynamic hyperparameter 의 통계적 분석.
13 본 시리즈
G-MAX15-0 Multilevel 개관
G-MAX15-1 Y = Xβ + Zu + ε
G-MAX15-2 ML vs REML
G-MAX15-3 Growth Curve + Covariance Structures
G-MAX15-4 Model Comparison + Time-Varying Covariates ← 현재 글
↓
G-MAX16 (Hierarchical Mixed Nested)
14 관련 주제
선행 지식
후속 주제
- G-MAX16 — Hierarchical Mixed Nested
다른 카테고리 연결
15 더 읽을 거리
- Hausman, J. A. (1978). “Specification tests in econometrics.” Econometrica 46(6): 1251-1271 — Hausman test 원조.
- Schmiedek, F., Lövdén, M., Lindenberger, U. (2019). “A task is a task is a task: Putting complex span, n-back, and other working memory indicators in psychometric context.” Frontiers in Psychology 5: 1475 — within vs between 분해.
- Hedeker, D., Gibbons, R. D. (2006). “Longitudinal Data Analysis.” Wiley.
- Diggle, P., Heagerty, P., Liang, K.-Y., Zeger, S. (2002). “Analysis of Longitudinal Data” (2nd ed). Oxford.
- Singer, J. D., Willett, J. B. (2003). “Applied Longitudinal Data Analysis.” Oxford.