1 정의
여러 단계의 nested 구조를 가진 데이터에 대해 fixed effect 와 random effect 를 동시에 모형화하는 통계 framework.
\[ \mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \mathbf{Z}\mathbf{u} + \boldsymbol{\varepsilon} \]
- \(\boldsymbol{\beta}\): fixed effects (회귀 계수).
- \(\mathbf{u} \sim N(\mathbf{0}, \mathbf{G})\): random effects.
- \(\boldsymbol{\varepsilon} \sim N(\mathbf{0}, \mathbf{R})\): residual.
- \(\mathbf{X}, \mathbf{Z}\): design matrices.
이는 ANOVA, 회귀, panel data, longitudinal 분석을 모두 포함하는 일반 framework.
2 왜 multilevel 인가
2.1 ANOVA 의 통합
ANOVA 의 within-subjects, split-plot, nested, repeated measures 가 모두 multilevel 의 특수 사례.
| ANOVA 형태 | Multilevel 형태 |
|---|---|
| Within-subjects (one-way) | 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) |
| ANCOVA | Mixed model + covariate |
→ 모든 ANOVA 가 mixed model 의 특수 사례.
2.2 결측 데이터 처리
ANOVA 는 한 시점이라도 결측이면 그 피험자 전체 제거 (listwise). Multilevel 은 자동 처리 (likelihood-based, MAR 가정).
2.3 공분산 구조 자유
CS, AR(1), UN, Toeplitz 등을 명시적으로 선택. AIC/BIC 로 비교.
2.4 개인별 trajectory
random slope 로 각 피험자의 시간 변화 차이 추정.
ANOVA 는 “고정 그룹 평균 비교” 의 도구. Mixed model 은 그 위에 (1) 그룹 평균이 더 큰 모집단의 표본이라는 random level, (2) 시점 trajectory 의 개인 차이, (3) 결측·비균등 데이터 처리를 추가한다. 통계적 정밀도와 모형 해석의 풍부함이 동시에 향상.
이는 generalization — multilevel 이 ANOVA 의 모든 도구 + 추가.
실무에서 multilevel 이 표준 (R lme4::lmer, Python statsmodels.mixedlm).
3 Ch.15 의 5 단계
G-MAX15-0 Multilevel 개관 (현재 글)
│
▼
G-MAX15-1 Multilevel Model 도입 + Y=Xβ+Zu+ε
│
▼
G-MAX15-2 ML vs ANOVA + REML
│
▼
G-MAX15-3 Growth Curve + Covariance Structures
│
▼
G-MAX15-4 Model Comparison + Time-varying Covariates
│
▼
G-MAX16 (Hierarchical Nested 의 확장)
4 핵심 개념 미리보기
4.1 Random Intercept Model
각 피험자 (또는 cluster) 가 고유한 절편:
\[ Y_{ij} = \beta_0 + \beta_1 X_{ij} + u_{0i} + \varepsilon_{ij} \]
\(u_{0i} \sim N(0, \sigma^2_0)\). 같은 피험자의 측정은 \(u_{0i}\) 를 공유 → 자동 상관 induce.
4.2 Random Slope Model
각 피험자가 시간 slope 도 다름:
\[ Y_{ij} = \beta_0 + (\beta_1 + u_{1i}) t_{ij} + u_{0i} + \varepsilon_{ij} \]
Growth curve 모형의 기본 형태.
4.3 공분산 구조
\(\mathbf{R} = \text{Cov}(\boldsymbol{\varepsilon})\) 의 구조:
| 구조 | 설명 | 모수 수 |
|---|---|---|
| CS | 모든 분산 같음, 공분산 같음 | 2 |
| AR(1) | 분산 같음, 인접 시점 더 강한 공분산 | 2 |
| Toeplitz | 거리에 따른 임의 공분산 패턴 | \(a\) |
| UN (unstructured) | 자유 | \(a(a+1)/2\) |
5 ML vs REML 추정
5.1 ML (Maximum Likelihood)
전체 likelihood 최대화. fixed effect 와 variance component 를 동시 추정.
문제: variance component 추정량이 약간 편향 (small sample).
5.2 REML (Restricted Maximum Likelihood)
Fixed effect 에 의한 자유도 손실을 보정한 likelihood. Variance component 의 비편향 추정 (작은 표본에서 우수).
권장: REML default, 모형 비교 시 ML (LRT 가능).
Fixed effect 가 다른 두 모형의 LRT 비교는 ML 추정 필수. REML 의 likelihood 는 fixed effect 의 함수가 아니라 공분산만의 함수이므로.
→ 공분산 구조 비교는 REML, fixed effect 비교는 ML, 최종 결과 보고는 REML.
6 응용
| 분야 | 단계 | 모형 |
|---|---|---|
| 임상 longitudinal | 환자 → 시점 | random intercept + slope |
| 교육 | 학교 → 학급 → 학생 → 시점 | 4-level hierarchical |
| 농학 | 농장 → plot → 시점 | 3-level |
| IT longitudinal A/B | 사용자 → 일별 metric | random intercept |
| 메타분석 | 연구 → 환자 | between/within study variance |
7 Multilevel 의 실무적 우위
7.1 1. 결측 데이터
Random missingness (MAR) 자동 처리. ANOVA listwise 의 데이터 손실 회피.
7.2 2. 비균등 데이터
각 피험자의 측정 횟수가 달라도 OK. ANOVA 의 균등 가정 회피.
7.3 3. 공변량의 자연스러운 추가
각 level 에 다른 covariate 추가 가능. ANCOVA 의 일반화.
7.4 4. 시간이 양적 변수
random slope 로 개인별 시간 변화 모델링. ANOVA 의 명목 시점만 가능 한계 회피.
7.5 5. Cross-classified
cross-classified 와 nested 모두 처리. ANOVA 의 nested 만 처리 가능 한계 회피.
8 응용 사례 — 임상 RCT
8.1 데이터
처치 (Treatment / Control) × 시점 (1주, 4주, 8주, 12주). \(n = 25\)/그룹.
일부 환자가 일부 시점 결측 (drop-out).
8.2 ANOVA 분석
Listwise → 결측 환자 제거 → 표본 손실 (~30%). 검정력 ↓.
8.3 Multilevel 분석
결측 환자의 비결측 시점도 활용. 표본 손실 없음.
가설 결과:
| 분석 | \(p\) (group × time) |
|---|---|
| ANOVA listwise | 0.08 (marginal) |
| Multilevel REML | 0.012 (유의) |
→ multilevel 의 결측 처리로 검정력 ↑.
9 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_subj = 20
n_time = 5
records = []
for subj in range(n_subj):
u0 = np.random.normal(0, 8) # random intercept
u1 = np.random.normal(0, 1.5) # random slope
for t in range(n_time):
y = 100 + 5 * t + u0 + u1 * t + np.random.normal(0, 3)
records.append({"subject": subj, "time": t, "Y": y})
data = pd.DataFrame(records)
# Random intercept model
md1 = mixedlm("Y ~ time", data=data, groups=data["subject"]).fit()
print("=== Random Intercept ===")
print(md1.summary().tables[1])
# Random intercept + slope
md2 = mixedlm("Y ~ time", data=data, groups=data["subject"],
re_formula="~time").fit()
print("\n=== Random Intercept + Slope ===")
print(md2.summary().tables[1])
# Compare via AIC/BIC
print(f"\nRandom intercept: AIC={md1.aic:.1f}, BIC={md1.bic:.1f}")
print(f"Random int+slope: AIC={md2.aic:.1f}, BIC={md2.bic:.1f}")10 가정과 한계
- Random effect 의 정규성: 큰 cluster 수에서 robust.
- Conditional independence: random effect 주어진 후 잔차가 독립.
- 수렴 문제: 작은 cluster 수, 복잡한 random structure.
- 해석의 복잡성: random effect 분산의 의미 익숙해야.
- MAR 가정: 결측이 관측 변수에만 의존.
11 본 시리즈
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 Nested)
12 ML 매핑
ML 의 cross-validation 은 multilevel 의 자연스러운 응용:
Level 2: fold (random sample of dataset partitions)
Level 1: model (fixed factor — 다른 알고리즘)
분석: \[ \text{accuracy}_{ij} = \beta_0 + \beta_1 \text{model}_j + u_{0i} + \varepsilon_{ij} \]
각 fold 의 random intercept \(u_{0i}\) → fold 간 baseline 차이 통제.
이는 ML 의 모델 비교의 통계적 형식. paired t-test (모델 차이) 의 multilevel 일반화.
13 관련 주제
선행 지식
후속 주제
- G-MAX15-1: Y=Xβ+Zu+ε
- G-MAX15-3: Growth Curve
- G-MAX16 — Hierarchical Mixed Nested
다른 카테고리 연결
14 더 읽을 거리
- Pinheiro, J. C., Bates, D. M. (2000). “Mixed-Effects Models in S and S-PLUS.” Springer.
- Bates, D., Mächler, M., Bolker, B., Walker, S. (2015). “Fitting linear mixed-effects models using lme4.” Journal of Statistical Software 67(1).
- Raudenbush, S. W., Bryk, A. S. (2002). “Hierarchical Linear Models” (2nd ed). Sage.
- Snijders, T. A. B., Bosker, R. J. (2012). “Multilevel Analysis” (2nd ed). Sage.
- Hedeker, D., Gibbons, R. D. (2006). “Longitudinal Data Analysis.” Wiley.
- Fitzmaurice, G. M., Laird, N. M., Ware, J. H. (2011). “Applied Longitudinal Analysis” (2nd ed). Wiley.
- Verbeke, G., Molenberghs, G. (2000). “Linear Mixed Models for Longitudinal Data.” Springer.