계층적 혼합 nested 모형 개관 — 다층 nested 의 확장

Maxwell Ch.16 Hierarchical Mixed Nested Overview

학교 within 학급 within 학생 같은 다층 nested 구조의 통계적 framework. ANOVA approach 의 균등 데이터 처리와 ML/REML approach 의 비균등·결측 처리의 비교, level 별 예측 변수의 도입, random slope 의 확장, ICC (intraclass correlation) 의 multilevel 정의, 실무 적용 (교육·임상 다센터·메타분석·IT longitudinal) 까지 정리한다. Maxwell Ch.16 은 Phase G 의 마무리로, 다음 Phase H (통계 모델링) 와 Statistics LDA 시리즈 (mixed effects) 로 이어지는 통합적 framework 를 제공한다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의

정의: Hierarchical Mixed Nested Model

데이터가 여러 단계 nested 되어 있고 (예: 학교 → 학급 → 학생 → 시점), 각 단계마다 고정 또는 random 효과를 가진 multilevel framework.

3-level nested:

\[ Y_{ijk} = \beta_0 + u_{0j} + u_{0k(j)} + \varepsilon_{ijk} \]

  • \(j\): level 3 (학교).
  • \(k(j)\): level 2 (학급 within 학교).
  • \(i\): level 1 (학생 within 학급 within 학교).

random effects: - \(u_{0j} \sim N(0, \sigma^2_3)\): 학교 random. - \(u_{0k(j)} \sim N(0, \sigma^2_2)\): 학급 random within 학교. - \(\varepsilon_{ijk} \sim N(0, \sigma^2_1)\): 학생 잔차.

2 다층 nested 의 일반화

2.1 4-Level Nested

학교 → 학급 → 학생 → 시점:

\[ Y_{ijkl} = \beta_0 + \alpha_l^{\text{school}} + \beta_{kl}^{\text{class}} + \gamma_{jkl}^{\text{student}} + \varepsilon_{ijkl} \]

각 level 마다 random intercept. 분산 성분 4 개.

2.2 Cross-Classified vs Pure Nested

  • Pure Nested: 한 단위가 한 상위 단위에만 속함 (학생 → 한 학급 → 한 학교).
  • Cross-Classified: 한 단위가 여러 분류에 속함 (학생 × 과목 — 한 학생이 여러 과목 수강).

본 챕터는 pure nested. Cross-classified 는 다른 framework 필요.

직관: nested 는 “안에 들어 있다”

학급은 학교 안에서만 존재. 학교를 떠나면 같은 학급이 다른 학교에 다시 등장하지 않는다. 이것이 nesting. Cross-classified 는 한 단위 (학생) 가 여러 분류 (과목) 를 동시에 가진다.

A/B test 의 사용자 × 처치는 cross-classified (각 사용자가 모든 처치를 받지는 않지만, 같은 사용자가 다른 처치 셀에 들어갈 가능성이 있는 디자인). 사용자 within 그룹 (예: 사용자 1, 2, 3 이 그룹 1; 사용자 4, 5, 6 이 그룹 2) 은 nested.

이 구분이 중요한 이유는 통계 모형이 다르기 때문. nested 는 hierarchical structure 함수, cross-classified 는 양방향 random effects.

3 왜 Hierarchical Mixed Nested 인가

3.1 단계별 분산 분해

각 nested level 의 분산을 명시적으로 추정. 어디서 변동이 오는지 분해:

\[ \text{Total Var} = \sigma^2_3 + \sigma^2_2 + \sigma^2_1 \]

학교, 학급, 학생 각각의 기여도.

3.2 Level-별 예측 변수

각 level 마다 다른 covariate 가 있을 수 있다.

  • Level 1 (학생): 학생 IQ, SES (사회경제적 지위), 출석률, 성별.
  • Level 2 (학급): 교사 경력, 학급 크기, 교수법.
  • Level 3 (학교): 학교 자원, 사립/공립, 도시/시골.

각 level 의 예측 변수가 자기 level 의 분산을 설명.

3.3 Random Slope 확장

학생의 시간 trajectory slope 가 학급 → 학교에 따라 다름.

각 level 의 slope 의 random 변동.

3.4 Cross-Level Interaction

상위 level 의 변수가 하위 level 의 효과를 modulate.

예: 학교 자원 × 학생 SES → “자원 많은 학교에서 SES 효과가 어떻게 다른가?”

이는 사회과학의 핵심 가설 에 직접 매핑.

4 ANOVA Approach vs ML Approach

두 접근의 비교
측면 ANOVA (전통) ML / REML
균등 데이터 정확 정확
비균등 데이터 부정확 (EMS 식 어긋남) 정확
결측 처리 어려움 자동 (MAR 가정)
공변량 통합 ad hoc 자연스러움
음의 분산 추정 가능 가능 (rare)
계산 단순 수렴 문제 가능
권장 균등·교육 일반

4.1 ANOVA 의 정통 절차 (균등 데이터)

각 level 의 EMS 작성:

Source \(df\) EMS
학교 \(a-1\) \(\sigma^2_1 + n \sigma^2_2 + nb \sigma^2_3\)
학급(학교) \(a(b-1)\) \(\sigma^2_1 + n \sigma^2_2\)
잔차 \(ab(n-1)\) \(\sigma^2_1\)

분산 성분 추정: \[ \hat\sigma^2_1 = MS_E \] \[ \hat\sigma^2_2 = (MS_{B(A)} - MS_E) / n \] \[ \hat\sigma^2_3 = (MS_A - MS_{B(A)}) / (nb) \]

검정 분모: - 학교 검정 → \(MS_{B(A)}\). - 학급(학교) 검정 → \(MS_E\).

4.2 ML/REML 의 일반 절차

likelihood maximization 으로 \(\boldsymbol{\beta}\) (fixed) 와 \((\sigma^2_1, \sigma^2_2, \sigma^2_3)\) (variance components) 동시 추정.

REML 은 fixed effect 의 자유도 손실을 보정 → 분산 성분 비편향.

5 ICC 의 multilevel 정의

정의: Intraclass Correlation Coefficient (ICC)

같은 cluster 내 두 관측의 상관:

ICC 정의 의미
ICC at school \(\sigma^2_3 / (\sigma^2_3 + \sigma^2_2 + \sigma^2_1)\) 같은 학교 두 학생
ICC at class \((\sigma^2_3 + \sigma^2_2) / (\sigma^2_3 + \sigma^2_2 + \sigma^2_1)\) 같은 학급 두 학생

5.1 ICC 의 실무적 의미

ICC 가 큰 데이터는 cluster 효과가 강함:

  • ICC = 0: cluster 효과 없음. 단순 OLS OK.
  • ICC = 0.1: 약 cluster 효과. 일반적.
  • ICC = 0.3: 강 cluster 효과. multilevel 필수.
  • ICC = 0.7+: 매우 강. cluster 가 거의 모든 정보.

5.2 Design Effect

ICC 가 OLS 의 표준오차에 미치는 영향:

\[ \text{Design Effect (DEFF)} = 1 + (m - 1) \cdot \text{ICC} \]

\(m\) = 평균 cluster 크기. DEFF > 1 이면 OLS 표준오차가 underestimate.

함정: cluster 데이터에 OLS 사용

ICC = 0.2, \(m = 20\) 의 데이터에 OLS: \[ \text{DEFF} = 1 + 19 \times 0.2 = 4.8 \]

실제 표준오차가 OLS 의 \(\sqrt{4.8} \approx 2.2\) 배. p-value 가 4 배 작게 나옴 (가짜 양성 4 배 증가).

multilevel 모형 또는 cluster-robust SE 가 필수.

6 가설 사례 — 교육 데이터

6.1 데이터 구조

  • 학교 5 개 (random sample of 전국 학교).
  • 각 학교 6 학급 (학교 내 random sample).
  • 각 학급 25 학생.
  • \(Y\): 영어 점수.
  • \(X_1\) (학생 SES, level 1).
  • \(X_2\) (교사 경력, level 2).
  • \(X_3\) (학교 자원, level 3).

\(N = 5 \times 6 \times 25 = 750\) 학생.

6.2 Null Model (먼저)

\[ Y_{ijk} = \beta_0 + u_{0j} + u_{0k(j)} + \varepsilon_{ijk} \]

분산 분해: - \(\sigma^2_1\) (학생) = 80 - \(\sigma^2_2\) (학급) = 30 - \(\sigma^2_3\) (학교) = 25

ICC at school = \(25/135 = 0.185\). ICC at class = \(55/135 = 0.41\).

→ 학급 cluster 효과 강함. 학교 효과도 무시 못 함.

6.3 Level-별 변수 추가

Y_ijk = β_0 + γ_1 X_1,ijk + γ_2 X_2,k(j) + γ_3 X_3,j
        + δ X_1,ijk × X_3,j (cross-level interaction)
        + u_0j + u_0k(j) + u_1k(j) X_1,ijk
        + ε_ijk

해석: - \(\gamma_1\): 학생 SES 의 평균 효과. - \(\gamma_2\): 학급의 교사 경력 효과. - \(\gamma_3\): 학교 자원 효과. - \(\delta\): SES × 학교 자원 — “자원 많은 학교에서 SES 효과가 어떻게 다른가?” - \(u_{1k(j)}\): 학급마다 다른 SES slope.

7 Ch.16 의 4 단계

G-MAX16-0  개관 (현재 글)
G-MAX16-1  Nested Design + ANOVA Approach
G-MAX16-2  ML Approach + Unbalanced Design
G-MAX16-3  Level-2 Predictor + Level-1 Predictor + Random Slope

8 응용

분야 Level 1 Level 2 Level 3
교육 학생 학급 학교
임상 다센터 환자 시점 환자 센터
메타분석 환자 연구 메타분석
공중보건 개인 지역 국가
IT longitudinal 측정 시점 사용자 세그먼트
농학 (다농장) plot 농장 지역
종교 사회학 신자 교회 교파

9 Python 코드 — 3-Level Nested

import numpy as np
import pandas as pd
from statsmodels.formula.api import mixedlm

np.random.seed(2026)

# 가상 데이터: 학교 5 → 학급 6 → 학생 25
n_schools = 5
n_classes = 6
n_students = 25

records = []
sigma_school = np.sqrt(25)
sigma_class = np.sqrt(30)
sigma_student = np.sqrt(80)

for s in range(n_schools):
    school_eff = np.random.normal(0, sigma_school)
    school_resource = np.random.uniform(40, 100)  # level 3 covariate
    for c in range(n_classes):
        class_eff = np.random.normal(0, sigma_class)
        teacher_exp = np.random.uniform(2, 30)  # level 2 covariate
        for st in range(n_students):
            ses = np.random.normal(50, 10)  # level 1 covariate
            # 응답 모형
            y = (60
                 + 0.3 * ses                     # SES 의 main effect
                 + 0.2 * teacher_exp             # 교사 경력
                 + 0.1 * school_resource         # 학교 자원
                 + 0.005 * ses * school_resource # cross-level interaction
                 + school_eff + class_eff
                 + np.random.normal(0, sigma_student))
            records.append({
                "school": s, "class": f"{s}_{c}", "student": st,
                "SES": ses, "teacher_exp": teacher_exp,
                "school_resource": school_resource,
                "Y": y
            })

data = pd.DataFrame(records)
print(f"Total observations: {len(data)}")
print(f"Schools: {data['school'].nunique()}")
print(f"Classes per school: {data.groupby('school')['class'].nunique().mean()}")

# Null model — variance decomposition
md_null = mixedlm("Y ~ 1", data=data, groups=data["school"],
                  vc_formula={"class": "0 + C(class)"}).fit()
print("\n=== Null Model (variance decomposition) ===")
print(md_null.summary().tables[0])

# Full model with all covariates
md_full = mixedlm(
    "Y ~ SES + teacher_exp + school_resource + SES:school_resource",
    data=data, groups=data["school"],
    vc_formula={"class": "0 + C(class)"}
).fit()
print("\n=== Full Model ===")
print(md_full.summary().tables[1])

# ICC 계산 (null model 기반)
sigma_school_hat = md_null.cov_re.iloc[0, 0]
sigma_class_hat = md_null.vcomp[0]  # 또는 다른 attribute
sigma_e_hat = md_null.scale
total = sigma_school_hat + sigma_class_hat + sigma_e_hat

print(f"\n=== Variance components ===")
print(f"  σ²_school = {sigma_school_hat:.2f}")
print(f"  σ²_class  = {sigma_class_hat:.2f}")
print(f"  σ²_residual = {sigma_e_hat:.2f}")
print(f"\n=== ICC ===")
print(f"  ICC at school = {sigma_school_hat / total:.3f}")
print(f"  ICC at class  = {(sigma_school_hat + sigma_class_hat) / total:.3f}")

10 검정력 분석 — Multilevel

multilevel 의 검정력은 OLS 와 다름. cluster 수, cluster 크기, ICC 의 함수.

변수 검정력 영향
Level 3 cluster 수 (학교) level 3 효과 검정력
Level 2 cluster 수 (학급) level 2 효과 검정력
Level 1 표본 (학생/학급) level 1 효과 검정력
ICC 클수록 cluster 검정력 ↑, level 1 검정력 ↓

R simr, Python statsmodels simulation 으로 검정력 계산.

직관: 어디에 더 표본을 투자해야 하는가

연구 자원이 한정. 학교 더 많이 vs 학교 적고 학급 많이 vs 학생만 많이?

  • 학교 효과 검정 관심 → 학교 수 늘리기 (Level 3 표본).
  • 학급 효과 검정 관심 → 학급 수 늘리기 (Level 2).
  • 학생 수준 효과 → 학생 수 늘리기.

ICC 가 큰 cluster 효과는 cluster 수가 결정적. 학생만 늘려도 학교 효과 추정은 거의 개선 안 됨.

이는 multilevel 검정력 분석의 핵심 — cluster 수가 중요.

11 가정과 한계

11.1 Random Effect 의 정규성

각 level 의 random effect 가 정규. 위반 시 robust 추정 (Bayesian 또는 GEE).

큰 cluster 수 (예: 학교 50+) 에서 robust. 작은 (5~10) 에서는 신뢰구간 약.

11.2 Conditional Independence

Random effect 주어진 후 잔차 독립.

같은 학생의 다른 측정이 다른 source 의 의존이면 (예: time series 자기상관) 추가 모형.

11.3 수렴 문제

복잡한 random structure (4-level + random slope + interaction) 는 추정 수렴 어려움. 모형 단순화 또는 Bayesian (MCMC) 권장.

11.4 Boundary Test

variance component = 0 검정은 standard \(\chi^2\) 부적합. mixture distribution 사용.

R RLRsim, Python simulation-based 검정.

12 Phase G 의 마무리 — Maxwell 시리즈 종료

G-MAX2~5: ANOVA 기초 (Phase A)
G-MAX6: Trend Analysis
G-MAX7: Two-Way Factorial
G-MAX8: Higher-Order Factorial
G-MAX9: ANCOVA
G-MAX10: Random/Nested
G-MAX11~12: Within-Subjects (univariate)
G-MAX13~14: Within-Subjects (multivariate)
G-MAX15: Multilevel
G-MAX16: Hierarchical Nested  ← 마지막
    ↓
Phase H (통계 모델링), G-MON Series (정통 DOE)

13 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

14 더 읽을 거리

  • 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 — R 의 nlme 패키지 reference.
  • Bates, D., Mächler, M., Bolker, B., Walker, S. (2015). “Fitting linear mixed-effects models using lme4.” Journal of Statistical Software 67(1) — lme4 의 표준 논문.
  • Hedeker, D., Gibbons, R. D. (2006). “Longitudinal Data Analysis.” Wiley — 임상 longitudinal 의 표준.

Subscribe

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