1 일반 형태
\[ \mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \mathbf{Z}\mathbf{u} + \boldsymbol{\varepsilon} \]
- \(\mathbf{Y}\): \(n \times 1\) 응답 vector.
- \(\mathbf{X}\): \(n \times p\) fixed design matrix.
- \(\boldsymbol{\beta}\): \(p \times 1\) fixed effect 모수.
- \(\mathbf{Z}\): \(n \times q\) random design matrix.
- \(\mathbf{u} \sim N(\mathbf{0}, \mathbf{G})\): \(q \times 1\) random effect.
- \(\boldsymbol{\varepsilon} \sim N(\mathbf{0}, \mathbf{R})\): \(n \times 1\) residual.
- \(\mathbf{u}\) 와 \(\boldsymbol{\varepsilon}\) 독립.
응답의 marginal 분포: \[ \mathbf{Y} \sim N(\mathbf{X}\boldsymbol{\beta},\ \mathbf{Z}\mathbf{G}\mathbf{Z}^T + \mathbf{R}) \]
2 \(\mathbf{V} = \mathbf{Z}\mathbf{G}\mathbf{Z}^T + \mathbf{R}\)
총 covariance matrix \(\mathbf{V}\) 의 분해:
- \(\mathbf{Z}\mathbf{G}\mathbf{Z}^T\): random effect 가 만든 응답 사이의 상관 (예: 같은 cluster 의 측정).
- \(\mathbf{R}\): residual covariance (보통 \(\sigma^2 \mathbf{I}\) 이지만 AR(1) 등 가능).
이 분해가 공분산 구조 모형화 의 핵심.
\(\mathbf{G}\): random effect 의 분산. cluster 사이의 차이를 표현. \(\mathbf{R}\): residual covariance. 같은 unit 내의 잡음 구조.
예: 임상 longitudinal 데이터: - \(\mathbf{G}\): 환자 random intercept 분산 → 환자 간 baseline 차이. - \(\mathbf{R}\): 시점 간 residual covariance → AR(1) 자기상관.
두 component 가 결합되어 전체 covariance 결정.
3 Random Intercept 의 행렬 표현
\(n\) 명, 각 \(T\) 시점:
\[ Y_{ij} = \beta_0 + \beta_1 t_{ij} + u_{0i} + \varepsilon_{ij} \]
행렬:
\[ \mathbf{X} = \begin{pmatrix} 1 & t_{11} \\ 1 & t_{12} \\ \vdots & \vdots \\ 1 & t_{nT} \end{pmatrix}, \quad \boldsymbol{\beta} = \begin{pmatrix} \beta_0 \\ \beta_1 \end{pmatrix} \]
\(\mathbf{Z}\) 는 cluster 지시자: \[ \mathbf{Z}_{ij,k} = \mathbf{1}[i = k] \]
\(\mathbf{u} = (u_{01}, u_{02}, \ldots, u_{0n})^T \sim N(\mathbf{0}, \sigma^2_0 \mathbf{I})\).
\(\mathbf{R} = \sigma^2 \mathbf{I}\).
응답 covariance: \[ \text{Cov}(Y_{ij}, Y_{i'j'}) = \begin{cases} \sigma^2_0 + \sigma^2 & i = i', j = j' \\ \sigma^2_0 & i = i', j \ne j' \\ 0 & i \ne i' \end{cases} \]
→ Compound Symmetry 구조.
3.1 CS 와의 동치성
random intercept 만 있는 모형의 marginal covariance 는 CS 형태. 이는 within-subjects ANOVA 의 sphericity 가정과 동치.
4 Random Intercept + Slope
\[ Y_{ij} = \beta_0 + \beta_1 t_{ij} + u_{0i} + u_{1i} t_{ij} + \varepsilon_{ij} \]
\(\mathbf{Z}_i\) for subject \(i\): \[ \mathbf{Z}_i = \begin{pmatrix} 1 & t_{i1} \\ 1 & t_{i2} \\ \vdots & \vdots \\ 1 & t_{iT} \end{pmatrix} \]
\(\mathbf{u}_i = (u_{0i}, u_{1i})^T \sim N(\mathbf{0}, \mathbf{G})\),
\[ \mathbf{G} = \begin{pmatrix} \sigma^2_0 & \rho \sigma_0 \sigma_1 \\ \rho \sigma_0 \sigma_1 & \sigma^2_1 \end{pmatrix} \]
intercept 와 slope 의 상관 \(\rho\). 보통 음의 상관 (높은 시작점 = 낮은 변화율).
4.1 직관
random slope 모형은 각 피험자가 자기 trajectory 를 가짐:
피험자 1: 절편 = β_0 + u_01, slope = β_1 + u_11
피험자 2: 절편 = β_0 + u_02, slope = β_1 + u_12
...
평균 trajectory: \(\beta_0 + \beta_1 t\) (population average). 개인 trajectory: \(\hat\beta_0 + \hat u_{0i} + (\hat\beta_1 + \hat u_{1i}) t\).
이는 발달 곡선, 성장 곡선, 학습 곡선의 모형.
5 Best Linear Unbiased Predictor (BLUP)
Random effect \(\mathbf{u}\) 의 추정 (기술적으로 prediction):
\[ \hat{\mathbf{u}} = \mathbf{G}\mathbf{Z}^T \mathbf{V}^{-1} (\mathbf{Y} - \mathbf{X}\hat{\boldsymbol{\beta}}) \]
이를 통해 개인별 trajectory (\(\hat\beta_0 + \hat u_{0i} + (\hat\beta_1 + \hat u_{1i}) t\)) 추정 가능.
5.1 Shrinkage
BLUP 은 ML 추정 (각 피험자 개별 회귀) 보다 모집단 평균 쪽으로 “shrink” 한 추정.
극단 trajectory 를 가진 피험자 (outlier) 는 평균에 더 가까이 추정 → 안정성 ↑.
특히 측정 시점이 적은 피험자에서 효과적. 적은 데이터 → 모집단 정보 활용.
이는 Bayesian shrinkage 의 frequentist 해석. random effect 를 prior 처럼 사용.
6 ANOVA 와의 관계
| ANOVA 형태 | Mixed Model 형태 |
|---|---|
| Within-subjects ANOVA | Random intercept |
| Split-plot | Random intercept + group fixed |
| Nested 2-level | Random intercept (level 2 = cluster) |
| Nested 3-level | Random intercept at each level |
| Repeated measures with sphericity | CS via random intercept |
| Repeated measures + GG | UN covariance (R structure) |
→ 모든 ANOVA 가 mixed model 의 특수 사례.
7 추정 절차
7.1 Step 1 — Likelihood
\[ \log L(\boldsymbol{\beta}, \boldsymbol{\theta}) = -\frac{1}{2}\log|\mathbf{V}| - \frac{1}{2}(\mathbf{Y} - \mathbf{X}\boldsymbol{\beta})^T \mathbf{V}^{-1} (\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}) - \frac{n}{2}\log(2\pi) \]
\(\boldsymbol{\theta}\) = variance components (\(\mathbf{G}, \mathbf{R}\) 의 모수).
7.2 Step 2 — Variance components 추정
ML 또는 REML maximization.
7.3 Step 3 — Fixed effect 추정
GLS 추정량: \[ \hat{\boldsymbol{\beta}} = (\mathbf{X}^T \mathbf{V}^{-1} \mathbf{X})^{-1} \mathbf{X}^T \mathbf{V}^{-1} \mathbf{Y} \]
7.4 Step 4 — BLUP
random effect prediction.
8 Python 코드
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import mixedlm
np.random.seed(2026)
n = 25
T = 5
records = []
for subj in range(n):
u0 = np.random.normal(0, 6)
u1 = np.random.normal(0, 1.2)
for t in range(T):
y = 50 + 3 * t + u0 + u1 * t + np.random.normal(0, 2)
records.append({"subject": subj, "time": t, "Y": y})
data = pd.DataFrame(records)
# Random intercept only
md_int = mixedlm("Y ~ time", data=data, groups=data["subject"]).fit()
print("=== Random Intercept ===")
print(md_int.summary().tables[1])
print(f"sigma^2_0 (intercept var) = {md_int.cov_re.iloc[0,0]:.3f}")
print(f"sigma^2 (residual) = {md_int.scale:.3f}")
# Random intercept + slope
md_slope = mixedlm("Y ~ time", data=data, groups=data["subject"],
re_formula="~time").fit()
print("\n=== Random Intercept + Slope ===")
print(md_slope.summary().tables[1])
print(f"G matrix:\n{md_slope.cov_re}")
# BLUP for each subject
print("\nFirst 5 subjects' BLUPs:")
for k in list(md_slope.random_effects.keys())[:5]:
print(f" Subject {k}: {md_slope.random_effects[k]}")
# 모형 비교 — AIC
print(f"\nAIC (intercept only): {md_int.aic:.1f}")
print(f"AIC (intercept + slope): {md_slope.aic:.1f}")9 가정과 한계
- Random effect 의 정규성.
- 공분산 구조의 미명시: AIC/BIC 로 선택.
- 수렴 문제: 작은 cluster 수.
- 계산 비용: 큰 데이터에서 ML 추정이 느림.
- MAR 가정: 결측 처리에서.
10 응용
| 분야 | \(X\) (fixed) | \(Z\) (random) |
|---|---|---|
| 임상 longitudinal | 처치, 시점 | 환자 |
| 교육 | 교수법 | 학교, 학급 |
| 농학 | 비료 | 농장, plot |
| IT longitudinal | 변종 | 사용자 |
| 행동 | 자극 | 피험자 |
11 ML 매핑
ML 의 다중 dataset × hyperparameter sweep:
Y_ij = accuracy of model j on dataset i
X: model architecture, lr, dropout (fixed)
Z: dataset (random — random sample of domains)
분석: \[ Y_{ij} = \mathbf{x}_{ij}^T \boldsymbol{\beta} + u_{0i} + \varepsilon_{ij} \]
dataset random intercept → cross-domain generalization 통계적 처리.
각 dataset 의 baseline accuracy 차이를 통제 후 hyperparameter 효과 검정.
12 본 시리즈
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
13 관련 주제
선행 지식
후속 주제
다른 카테고리 연결
- Statistics — LDA Random Intercept
- Math — Linear Algebra (placeholder)
14 더 읽을 거리
- Henderson, C. R. (1975). “Best linear unbiased estimation and prediction under a selection model.” Biometrics 31(2): 423-447 — BLUP 원조.
- Searle, S. R., Casella, G., McCulloch, C. E. (2006). “Variance Components.” Wiley.
- Pinheiro, J. C., Bates, D. M. (2000). “Mixed-Effects Models in S and S-PLUS.” Springer.
- Demidenko, E. (2013). “Mixed Models: Theory and Applications with R” (2nd ed). Wiley.
- Verbeke, G., Molenberghs, G. (2000). “Linear Mixed Models for Longitudinal Data.” Springer.