Level 별 예측 변수와 random slope — multilevel 의 fully expanded form

Maxwell Ch.16.3 Level-2 · Level-1 Predictors · Random Slope

3-level nested 모형에 각 level 의 예측 변수를 추가하고 random slope 를 포함한 형태. Cross-level interaction (level-2 의 covariate 가 level-1 의 slope 에 영향), centering 결정 (grand-mean vs group-mean), 사회과학·교육 응용까지 단계적 정리. Phase G 의 마지막 글로, multilevel 의 모든 도구를 통합한다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 다층 모형의 완전 확장형

정의: Cross-Level Interaction

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 의 의미 변경).
직관: Group-mean centering 의 within vs between 분해

학생 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 변동만 잡음. 학교 평균은 별도 변수로 추가:

# 두 effect 분리
md = mixedlm("Y ~ SES_dev + SES_school_mean + ...", ...)

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 의 cross-level hyperparameter interaction

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.

Subscribe

Enjoy this blog? Get notified of new posts by email: