1 One-Way Random Effects Model
요인 \(A\) 의 levels 가 무작위 표본 (\(a\) levels). 각 level 마다 \(n\) 개 관측.
\[ Y_{ij} = \mu + \alpha_j + \varepsilon_{ij},\quad \alpha_j \sim N(0, \sigma^2_\alpha),\quad \varepsilon_{ij} \sim N(0, \sigma^2_\varepsilon) \]
\(\alpha_j\) 는 더 이상 고정 모수가 아니라 random variable.
추론 대상: \(\sigma^2_\alpha\) (level 간 분산) 와 \(\sigma^2_\varepsilon\) (level 내 분산).
1.1 EMS
| Source | \(df\) | EMS |
|---|---|---|
| Between (\(A\)) | \(a-1\) | \(\sigma^2_\varepsilon + n \sigma^2_\alpha\) |
| Within (Error) | \(a(n-1)\) | \(\sigma^2_\varepsilon\) |
\(F\) 검정의 \(H_0: \sigma^2_\alpha = 0\) 분모는 \(MS_E\).
\[ F = \frac{MS_A}{MS_E}, \quad df = (a-1, a(n-1)) \]
(One-way 의 경우 fixed 와 random 모두 같은 \(F\) 통계량.)
1.2 분산 성분 추정
\[ \hat\sigma^2_\varepsilon = MS_E \] \[ \hat\sigma^2_\alpha = (MS_A - MS_E) / n \]
음수가 나오면 0 으로 truncate.
1.3 신뢰구간
\(\sigma^2_\alpha\) 의 신뢰구간은 chi-square 기반 또는 satterthwaite 근사. 작은 \(a\) 에서 신뢰구간 매우 넓음.
REML 추정 + bootstrap CI 가 정확한 표준.
2 Two-Way Mixed Model
2.1 모형
\(A\) fixed, \(B\) random.
\[ Y_{ijk} = \mu + \alpha_j + \beta_k + (\alpha\beta)_{jk} + \varepsilon_{ijk} \]
\(\beta_k \sim N(0, \sigma^2_\beta)\), \((\alpha\beta)_{jk} \sim N(0, \sigma^2_{\alpha\beta})\), \(\varepsilon \sim N(0, \sigma^2)\).
2.2 EMS
| Source | \(df\) | EMS |
|---|---|---|
| \(A\) (fixed) | \(a-1\) | \(\sigma^2 + n \sigma^2_{\alpha\beta} + nb \cdot \theta_\alpha\) |
| \(B\) (random) | \(b-1\) | \(\sigma^2 + na \sigma^2_\beta\) |
| \(A \times B\) (random) | \((a-1)(b-1)\) | \(\sigma^2 + n \sigma^2_{\alpha\beta}\) |
| Error | \(ab(n-1)\) | \(\sigma^2\) |
여기서 \(\theta_\alpha = \sum_j \alpha_j^2 / (a-1)\) 는 fixed effect 의 “size”.
2.3 검정 분모 결정 규칙
Rule: effect \(X\) 의 \(F\) 검정 분모 = \(X\) 의 EMS 에서 관심 항만 빠진 EMS 와 매칭하는 다른 source 의 MS.
| 검정 | \(X\) 의 EMS | 매칭 EMS | 분모 |
|---|---|---|---|
| \(A\): \(H_0: \alpha_j = 0\) | \(\sigma^2 + n \sigma^2_{\alpha\beta} + nb \theta_\alpha\) | \(\sigma^2 + n \sigma^2_{\alpha\beta}\) | \(MS_{A \times B}\) |
| \(B\): \(H_0: \sigma^2_\beta = 0\) | \(\sigma^2 + na \sigma^2_\beta\) | \(\sigma^2\) | \(MS_E\) |
| \(A \times B\): \(H_0: \sigma^2_{\alpha\beta} = 0\) | \(\sigma^2 + n \sigma^2_{\alpha\beta}\) | \(\sigma^2\) | \(MS_E\) |
Two-way mixed 의 \(A\) 효과 검정 분모는 \(MS_E\) 가 아니라 \(MS_{A \times B}\) 이다 (fixed 의 random 상호작용을 통제). 통계 패키지의 default 가 \(MS_E\) 인 경우가 많아 mixed model 명시가 필수.
R: aov(Y ~ A + Error(B)) 또는 lme4::lmer(Y ~ A + (1 | B)). Python statsmodels: mixedlm("Y ~ A", groups="B", data=...). SAS: PROC MIXED.
3 Two-Way Random Effects Model
3.1 모형
둘 다 random.
3.2 EMS
| Source | EMS |
|---|---|
| \(A\) | \(\sigma^2 + n \sigma^2_{\alpha\beta} + nb \sigma^2_\alpha\) |
| \(B\) | \(\sigma^2 + n \sigma^2_{\alpha\beta} + na \sigma^2_\beta\) |
| \(A \times B\) | \(\sigma^2 + n \sigma^2_{\alpha\beta}\) |
| Error | \(\sigma^2\) |
3.3 분모
| 검정 | 분모 |
|---|---|
| \(A\) | \(MS_{A \times B}\) |
| \(B\) | \(MS_{A \times B}\) |
| \(A \times B\) | \(MS_E\) |
4 Two-Way Fixed (대조)
| Source | EMS |
|---|---|
| \(A\) | \(\sigma^2 + nb \theta_\alpha\) |
| \(B\) | \(\sigma^2 + na \theta_\beta\) |
| \(A \times B\) | \(\sigma^2 + n \theta_{\alpha\beta}\) |
| Error | \(\sigma^2\) |
모든 분모: \(MS_E\).
5 비교 표
| 모형 | \(A\) 분모 | \(B\) 분모 | \(A \times B\) 분모 |
|---|---|---|---|
| Fixed (both) | \(MS_E\) | \(MS_E\) | \(MS_E\) |
| Mixed (\(A\) fixed, \(B\) random) | \(MS_{A \times B}\) | \(MS_E\) | \(MS_E\) |
| Random (both) | \(MS_{A \times B}\) | \(MS_{A \times B}\) | \(MS_E\) |
6 EMS 작성의 일반 절차
- 각 효과를 행 으로, 모든 random 모수 + \(\sigma^2\) 를 열 로 EMS 표 작성.
- 각 셀에 계수 채움:
- random 모수의 인덱스가 그 행의 효과 인덱스에 없는 경우 → 그 행 효과의 cell 표본 크기 (예: \(n\), \(nb\)).
- 인덱스 일부 매치 → 부분 곱.
- 인덱스 모두 매치 → 1 (자기 효과의 항).
- fixed 효과 의 \(\theta\) 항만 자기 행에 추가.
- EMS 비교로 분모 결정.
상세 알고리즘은 SAS PROC GLM 의 RANDOM 옵션, R 의 lme4 의 자동 추정에 구현.
7 분산 성분 추정 — ANOVA Method
각 분산 성분을 EMS 의 차이로:
\[ \hat\sigma^2 = MS_E \] \[ \hat\sigma^2_{\alpha\beta} = (MS_{A \times B} - MS_E) / n \] \[ \hat\sigma^2_\beta = \frac{MS_B - MS_{A \times B}}{na} \]
(또는 mixed 의 \(A\) random 인 경우 \(MS_E\) 와 비교 — 모형에 따라 다름.)
7.1 ANOVA 방법의 한계
- 음수 추정 가능: 작은 표본에서 진짜 \(\sigma^2 \approx 0\) 인 경우.
- 비균등 데이터에 부정확: EMS 식이 어긋남.
- 결측 처리 어려움: 단일 결측이라도 EMS 식 변동.
현대 표준은 REML.
8 REML — 현대 표준
likelihood 의 fixed effect 부분의 자유도 손실을 보정한 likelihood.
\[ \log L_{\text{REML}}(\boldsymbol{\theta}) = -\frac{1}{2}\log|\mathbf{V}| - \frac{1}{2}\log|\mathbf{X}^T \mathbf{V}^{-1} \mathbf{X}| - \frac{1}{2}(\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}})^T \mathbf{V}^{-1} (\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}}) \]
분산 성분이 비편향. 작은 표본에서 우수.
8.1 REML vs ML vs ANOVA-based
| 측면 | ANOVA-based | ML | REML |
|---|---|---|---|
| 균등 데이터 | 정확 | 정확 | 정확 |
| 비균등 | 부정확 | 정확 | 정확 |
| 분산 성분 편향 | 균등에서 비편향 | 약한 편향 (under) | 비편향 |
| 음수 추정 | 가능 | rare | rare |
| LRT for fixed effect | — | OK | NO (REML 은 fixed 정보 없음) |
| LRT for variance component | — | boundary issue | boundary issue |
| Software | aov | lmer (REML=FALSE) | lmer (default) |
권장: REML default. 모형 비교 시 ML (LRT 가능).
9 가설 데이터 — Two-Way Mixed
요인 \(A\) = 처치 (3 fixed), \(B\) = 임상센터 (5 random), \(n=4\) 환자/센터/처치.
가설 ANOVA:
| Source | \(SS\) | \(df\) | \(MS\) | EMS | \(F\) | \(p\) |
|---|---|---|---|---|---|---|
| \(A\) | 600 | 2 | 300 | \(\sigma^2 + 4 \sigma^2_{AB} + 20 \theta_\alpha\) | \(300/40 = 7.5\) (\(MS_{AB}\)) | 0.015 |
| \(B\) | 200 | 4 | 50 | \(\sigma^2 + 12 \sigma^2_\beta\) | \(50/15 = 3.3\) (\(MS_E\)) | 0.018 |
| \(A \times B\) | 320 | 8 | 40 | \(\sigma^2 + 4 \sigma^2_{AB}\) | \(40/15 = 2.7\) (\(MS_E\)) | 0.020 |
| Error | 675 | 45 | 15 | \(\sigma^2\) | — | — |
분산 성분: \[ \hat\sigma^2 = 15, \quad \hat\sigma^2_{AB} = 6.25, \quad \hat\sigma^2_\beta = 2.92 \]
(중요: \(A\) 의 검정 분모가 \(MS_{AB} = 40\), \(MS_E = 15\) 가 아님. 만약 fixed 모형으로 잘못 분석하면 \(F = 300/15 = 20\) 으로 과대 추정.)
10 Python 코드
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols, mixedlm
# Two-Way Mixed 데이터 시뮬레이션
np.random.seed(2026)
n = 4
A_levels = ["Drug1", "Drug2", "Placebo"]
B_levels = list(range(5)) # 5 centers, random
records = []
mu = 100
A_eff = {"Drug1": -10, "Drug2": -5, "Placebo": 0}
B_eff = np.random.normal(0, np.sqrt(2.92), len(B_levels))
AB_eff = np.random.normal(0, np.sqrt(6.25), (len(A_levels), len(B_levels)))
for ai, a in enumerate(A_levels):
for bi, b in enumerate(B_levels):
for _ in range(n):
y = (mu + A_eff[a] + B_eff[bi] + AB_eff[ai, bi]
+ np.random.normal(0, np.sqrt(15)))
records.append({"A": a, "B": b, "Y": y})
data = pd.DataFrame(records)
# Method 1: Mixed model via mixedlm (REML)
md = mixedlm("Y ~ C(A)", data=data, groups=data["B"]).fit()
print("=== Mixed Model REML (A fixed, B random) ===")
print(md.summary())
print(f"\nVariance of B (random intercept): {md.cov_re.iloc[0, 0]:.3f}")
print(f"Residual variance: {md.scale:.3f}")
# Method 2: ANOVA-based with manual error term selection
fix_model = ols("Y ~ C(A) + C(B) + C(A):C(B)", data=data).fit()
anova = sm.stats.anova_lm(fix_model, typ=2)
print("\n=== Standard ANOVA (assumes all fixed — INCORRECT for B random) ===")
print(anova.round(3))
# 분모 변경 — A 검정 분모를 A:B 로 재계산
ms_a = anova.loc["C(A)", "mean_sq"]
ms_ab = anova.loc["C(A):C(B)", "mean_sq"]
F_correct_A = ms_a / ms_ab
df_a = anova.loc["C(A)", "df"]
df_ab = anova.loc["C(A):C(B)", "df"]
from scipy import stats as sps
p_correct_A = 1 - sps.f.cdf(F_correct_A, df_a, df_ab)
print(f"\nCorrected F for A (mixed): {F_correct_A:.2f}, df=({df_a}, {df_ab}), p={p_correct_A:.4f}")
# Variance component 추정 비교
print(f"\nANOVA-based:")
print(f" σ² = {anova.loc['Residual', 'mean_sq']:.3f}")
print(f" σ²_AB = {(ms_ab - anova.loc['Residual', 'mean_sq']) / 4:.3f}")
print(f" σ²_β = {(anova.loc['C(B)', 'mean_sq'] - anova.loc['Residual', 'mean_sq']) / (3*4):.3f}")
print(f"\nREML:")
print(f" σ² = {md.scale:.3f}")
print(f" σ²_random = {md.cov_re.iloc[0, 0]:.3f}")11 Restricted vs Unrestricted Parameterization
- Unrestricted: \((\alpha\beta)_{jk} \sim N(0, \sigma^2_{\alpha\beta})\) 모든 \(j, k\) 독립.
- Restricted: \(\sum_j (\alpha\beta)_{jk} = 0\) (각 \(k\) 마다 합 0).
두 parameterization 은 EMS 가 약간 다름. \(B\) main 의 EMS 가 다른 분모 결정으로 이어짐.
11.1 두 EMS 의 차이 (\(B\) random 의 경우)
| Source | Unrestricted | Restricted |
|---|---|---|
| \(A\) (fixed) | \(\sigma^2 + n \sigma^2_{\alpha\beta} + nb \theta_\alpha\) | 동일 |
| \(B\) (random) | \(\sigma^2 + n \sigma^2_{\alpha\beta} + na \sigma^2_\beta\) | \(\sigma^2 + na \sigma^2_\beta\) |
| \(A \times B\) | \(\sigma^2 + n \sigma^2_{\alpha\beta}\) | 동일 |
| Error | \(\sigma^2\) | 동일 |
11.2 검정 분모 차이
| 검정 | Unrestricted | Restricted |
|---|---|---|
| \(A\) | \(MS_{A \times B}\) | \(MS_{A \times B}\) |
| \(B\) | \(MS_{A \times B}\) | \(MS_E\) ← 차이! |
| \(A \times B\) | \(MS_E\) | \(MS_E\) |
11.3 패키지 default
- SAS PROC GLM
RANDOM옵션: unrestricted (Hocking, 1973). - SAS PROC MIXED, R
lme4::lmer: restricted (Searle, 1971) — 표준 mixed model. - SPSS GLM RANDOM: unrestricted.
분석 결과를 보고하거나 재현할 때 어느 parameterization 인지 명시.
12 분모가 없을 때 — Approximate Synthesized Error
세 요인 mixed (예: \(A\) fixed, \(B, C\) random) 에서는 어느 effect 의 분모가 다른 source 의 MS 와 정확히 매칭하지 않을 수 있다.
해결: Satterthwaite approximation — 여러 MS 의 선형 결합을 분모로 만들고 자유도를 근사.
\[ F^* = \frac{MS_{\text{numerator}}}{a_1 MS_1 + a_2 MS_2 - a_3 MS_3} \]
자유도: \[ df_{\text{denom}} = \frac{(a_1 MS_1 + a_2 MS_2 - a_3 MS_3)^2}{(a_1 MS_1)^2 / df_1 + (a_2 MS_2)^2 / df_2 + (a_3 MS_3)^2 / df_3} \]
REML 기반 mixed model (R lme4, SAS PROC MIXED) 이 자동 처리.
13 가정과 한계
- Random effect 의 정규성: 큰 \(b\) 에서 robust. 작은 \(b\) (\(\le 5\)) 에서는 신뢰 구간이 약.
- 균등 데이터: ANOVA-based 추정은 균등에서만 정확. 비균등은 REML.
- 음수 분산 추정: ANOVA 방법의 단점. REML 또는 Bayesian 추정 권장.
- Type III SS 와의 호환: mixed model 에서는 Type III 가 default 권장.
- Cluster 수의 충분: random 효과 robust 추정에 \(\ge 20\sim30\) cluster.
14 ML 응용
ML 모델을 여러 회사 데이터에 적용 평가:
Fixed: 모델 architecture (3 가지)
Random: 회사 (random sample of 10 회사)
회사마다 다른 baseline 정확도 → random effect.
분석: \[ \text{Accuracy}_{ij} = \mu + \alpha_{\text{model},j} + \beta_{\text{company},i} + \varepsilon \]
\(\beta \sim N(0, \sigma^2_\beta)\) random.
검정: 모델 효과 검정 분모는 \(MS_{\text{model} \times \text{company}}\).
이는 ML 의 cross-domain 일반화 평가의 통계적 형식 — “회사 분포에서 평균적으로 어느 모델이 좋은가?”
15 본 챕터의 다음 단계
G-MAX10-0 Random/Nested 개관
G-MAX10-1 Fixed vs Random + EMS ← 현재 글
│
▼
G-MAX10-2 Two-way Mixed Model + Error Term Selection (자세한 절차)
G-MAX10-3 Nested Design + Variance Components
16 관련 주제
선행 지식
후속 주제
다른 카테고리 연결
17 더 읽을 거리
- Searle, S. R., Casella, G., McCulloch, C. E. (2006). “Variance Components.” Wiley.
- Hocking, R. R. (1973). “A discussion of the two-way mixed model.” American Statistician 27(4): 148-152.
- Henderson, C. R. (1953). “Estimation of variance and covariance components.” Biometrics 9: 226-252 — Henderson’s three methods 의 원조.
- Pinheiro, J. C., Bates, D. M. (2000). “Mixed-Effects Models in S and S-PLUS.” Springer.
- Bates, D. (2010). “lme4: Mixed-effects modeling with R.” 책 형태 수정 가능.
- Maxwell, S. E., Delaney, H. D. (2004). “Designing Experiments and Analyzing Data: A Model Comparison Perspective” (2nd ed). Lawrence Erlbaum.