1 다층 모형의 완전 확장형
Level-2 의 covariate 가 Level-1 의 효과 (slope) 에 영향을 미치는 상호작용.
3-level nested (학교 - 학급 - 학생):
\[ Y_{ijk} = \beta_0 + \beta_1 X_{ijk} + \beta_2 W_k + \beta_3 X_{ijk} W_k + u_{0jk} + u_{1jk} X_{ijk} + \varepsilon_{ijk} \]
- \(X_{ijk}\): 학생 (level-1) 변수, 예: SES.
- \(W_k\): 학교 (level-2) 변수, 예: 학교 자원.
- \(\beta_3 X_{ijk} W_k\): cross-level interaction.
- \(u_{1jk}\): 학교마다 다른 SES 효과의 random slope.
2 Cross-Level Interaction 의 의미
가설: SES 가 학업 성취에 미치는 효과가 학교 자원에 따라 달라진다.
- \(\beta_3 > 0\): 자원이 많은 학교에서 SES 의 부적 영향 ↑.
- \(\beta_3 < 0\): 자원이 많은 학교에서 SES 의 부적 영향 ↓ (자원이 SES 격차를 완화).
- \(\beta_3 = 0\): SES 효과가 학교 자원 무관.
이는 사회과학의 핵심 가설 에 직접 매핑되는 통계 도구.
3 Level 별 변수의 분류
| Level | 변수 | 예시 |
|---|---|---|
| Level 1 (학생) | \(X_{ijk}\) | 학생 IQ, 성별, 출석률 |
| Level 2 (학급) | \(V_{jk}\) | 교사 경력, 학급 크기 |
| Level 3 (학교) | \(W_k\) | 학교 자원, 사립/공립 |
각 level 의 분산을 자기 level 변수로 설명할 수 있다.
4 Centering 결정
Level-1 변수의 centering 선택:
- Grand-mean centered: \(X - \bar X_{\cdot \cdot \cdot}\) (전체 평균 빼기). 일반적.
- Group-mean centered: \(X - \bar X_{\cdot k}\) (자기 학교 평균 빼기). within-effect 분리.
- Uncentered: 원래 값. interpretation 어려움 (intercept 의 의미 변경).
학생 SES 의 effect 를 group-mean centered 로 분해하면:
- within-school SES effect: 같은 학교 내 SES 가 높은 학생이 학업 성취가 높은가.
- between-school SES effect: 평균 SES 가 높은 학교가 학업 성취 평균이 높은가.
두 effect 가 다르면 (예: within 효과는 작고 between 효과는 큼), 학교 분리 (segregation) 의 영향이 개인 SES 의 영향보다 클 수 있다는 사회과학적 결론.
이는 시변 공변량 (G-MAX15-4) 의 between/within 분해와 같은 정신.
5 Centering 효과 비교
원래 X:
학교 1: SES = 30, 50, 70 (평균 50)
학교 2: SES = 60, 80, 100 (평균 80)
Grand-mean centered (전체 평균 65):
학교 1: -35, -15, 5
학교 2: -5, 15, 35
Group-mean centered (자기 학교 평균):
학교 1: -20, 0, 20
학교 2: -20, 0, 20 ← 학교 차이 cancel
Group-mean centered 는 within-school 변동만 잡음. 학교 평균은 별도 변수로 추가:
6 가설 데이터
3 학교, 4 학급/학교, 5 학생/학급. 학생 SES, 학교 자원 변수.
Level 3: school resource W_k
Level 2: class size V_jk
Level 1: student SES X_ijk
Y_ijk = β_0 + β_1 X_ijk + β_2 V_jk + β_3 W_k
+ γ_1 X_ijk W_k (cross-level interaction)
+ random effects + residual
7 모형 비교
| 모형 | 설명 |
|---|---|
| 1 | Random intercept only |
| 2 | + Level 1 covariate (SES) |
| 3 | + Level 2 covariate (class size) |
| 4 | + Level 3 covariate (school resource) |
| 5 | + Cross-level SES × school resource |
| 6 | + Random slope for SES |
LRT 또는 AIC 로 비교. 각 covariate 추가가 가치 있는지.
8 Python 코드
import numpy as np
import pandas as pd
from statsmodels.formula.api import mixedlm
np.random.seed(2026)
n_schools = 5
n_classes = 4
n_students = 6
records = []
for s in range(n_schools):
W = np.random.uniform(40, 100) # school resource
school_effect = 0.05 * W + np.random.normal(0, 3)
for c in range(n_classes):
V = np.random.uniform(10, 30) # class size
class_effect = -0.1 * V + np.random.normal(0, 2)
for st in range(n_students):
X = np.random.uniform(20, 80) # student SES
# cross-level interaction: SES × school resource
y = (50 + 0.2 * X - 0.001 * X * W
+ school_effect + class_effect
+ np.random.normal(0, 3))
records.append({"school": s, "class": f"{s}_{c}",
"student": st, "X_SES": X, "V_size": V,
"W_resource": W, "Y": y})
data = pd.DataFrame(records)
# Multilevel with cross-level interaction
md = mixedlm("Y ~ X_SES * W_resource + V_size",
data=data, groups=data["school"]).fit()
print("=== Multilevel with Cross-Level Interaction ===")
print(md.summary().tables[1])
# Random slope for SES
md_slope = mixedlm("Y ~ X_SES * W_resource + V_size",
data=data, groups=data["school"],
re_formula="~X_SES").fit()
print("\n=== With Random Slope for SES ===")
print(md_slope.summary().tables[1])
print(f"AIC (no slope): {md.aic:.1f}")
print(f"AIC (with slope): {md_slope.aic:.1f}")9 Random Slope 의 의미
\(u_{1jk}\) 가 학교/학급마다 다른 SES → 학업성취 slope. cross-level interaction 으로 설명되지 않는 잔여 분산.
ID:학교 ID:학급 intercept slope (SES)
1 1_1 48.5 0.18
1 1_2 51.2 0.22
2 2_1 45.0 0.15
...
각 학급마다 다른 slope. 이 slope 변동의 일부를 학교 자원 (W) 으로 설명 가능.
10 Cross-Level Interaction 의 시각화
SES → Y slope by school resource:
학교 자원 낮음: 학교 자원 높음:
Y │ * Y │ *
│ / │ /
│ / │ /
│ / │ /
│ * │*
└─────── SES └─────── SES
(slope = 0.3) (slope = 0.05)
자원 많은 학교에서 SES 의 영향이 약함 (자원이 SES 격차 완화).
11 가정과 한계
- 수렴 문제: 작은 cluster 수에서 random slope 의 분산 추정 불안정.
- Centering 선택: 결과 해석에 민감.
- Cross-level interaction 의 검정력: 작은 효과는 큰 표본 필요.
- Sample size at each level: level-3 cluster 가 적으면 (k < 30) 추론 약.
12 표본 크기 권장
multilevel cross-level interaction 의 검정력은 cluster 수에 크게 의존.
| Level 3 cluster 수 | 권장 사용 |
|---|---|
| < 10 | random effect 권장 X (fixed effect) |
| 10~30 | basic random intercept OK, slope 위험 |
| 30~50 | 일반적 |
| 50+ | 안정 |
cross-level interaction 검정력은 보통 fixed effect 의 5 ~ 10 배 표본 필요.
13 ML 매핑
ML 의 다도메인 평가:
Level 3: domain (random)
Level 2: dataset (random within domain)
Level 1: model (fixed)
Cross-level: domain × model interaction.
"어느 모델이 어느 도메인에서 잘 작동하는가?"
분석: \[ \text{accuracy}_{ijk} = \beta_0 + \beta_1 \text{model}_k + \beta_2 \text{domain}_j + \beta_3 \text{model}_k \times \text{domain}_j + \ldots \]
domain × model 의 cross-level interaction → 모델의 domain-specific 성능 진단.
14 MAX Ch.16 시리즈 정리
G-MAX16-0 Hierarchical Mixed Nested 개관
G-MAX16-1 Nested ANOVA Approach
G-MAX16-2 ML Approach + Unbalanced
G-MAX16-3 Level-별 Predictor + Random Slope ← 현재 글 (MAX 시리즈 마지막)
↓
G-MON Series (Montgomery 정통 DOE)
15 Phase G Maxwell 시리즈의 마무리
이 글이 Maxwell (G-MAX) 시리즈 47 편의 마지막. Phase G 의 두 번째 절반 — Montgomery (G-MON) 시리즈 42 편 — 은 별도 정통 DOE 의 정수.
Maxwell 의 lens (심리학·임상) 와 Montgomery 의 lens (농학·산업) 가 결합되어 89 편의 정통 DOE 시리즈를 완성.
16 응용
| 분야 | Level 1 | Level 2 | Level 3 | Cross-Level |
|---|---|---|---|---|
| 교육 | 학생 | 학급 | 학교 | SES × 학교 자원 |
| 임상 다센터 | 시점 | 환자 | 센터 | 처치 × 센터 특성 |
| 메타분석 | 환자 | 연구 | 메타분석 | 효과 × 연구 디자인 |
| 농학 | plot | 농장 | 지역 | 비료 × 토양 |
| 사회학 | 개인 | 가족 | 동네 | 소득 × 동네 빈곤율 |
| 발달 | 시점 | 어린이 | 가족 | 시간 × 부모 양육 |
17 본 시리즈
G-MAX16-0 개관
G-MAX16-1 Nested ANOVA Approach
G-MAX16-2 ML Approach + Unbalanced
G-MAX16-3 Level-별 Predictor + Random Slope ← 현재 글
18 관련 주제
선행 지식
후속 주제
- G-MON2 — Complete Block Designs (작성 예정, MON 시리즈 시작)
다른 카테고리 연결
19 더 읽을 거리
- Raudenbush, S. W., Bryk, A. S. (2002). “Hierarchical Linear Models: Applications and Data Analysis Methods” (2nd ed). Sage — 다층 모형의 표준 reference.
- Goldstein, H. (2011). “Multilevel Statistical Models” (4th ed). Wiley.
- Snijders, T. A. B., Bosker, R. J. (2012). “Multilevel Analysis: An Introduction to Basic and Advanced Multilevel Modeling” (2nd ed). Sage.
- 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).
- Hedeker, D., Gibbons, R. D. (2006). “Longitudinal Data Analysis.” Wiley.
- Hox, J. J. (2010). “Multilevel Analysis: Techniques and Applications” (2nd ed). Routledge.