고정 효과 vs 임의 효과와 EMS — 검정 분모를 결정하는 원리

Maxwell Ch.10.1 Fixed vs Random Effects · Expected Mean Squares

요인이 고정인지 임의인지에 따라 ANOVA 의 검정 분모 (error term) 가 달라진다. Expected Mean Squares (EMS) 표를 작성해 각 효과의 분모를 정확히 결정하는 절차, one-way random model 에서 mixed model 까지 단계적 도출, restricted vs unrestricted parameterization 의 차이, REML 과 ANOVA-based 추정의 비교를 정리한다. 통계 패키지의 default 점검 절차도 포함한다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 One-Way Random Effects Model

정의: 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\) 검정 분모

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 작성의 일반 절차

  1. 각 효과를 행 으로, 모든 random 모수 + \(\sigma^2\) 로 EMS 표 작성.
  2. 각 셀에 계수 채움:
    • random 모수의 인덱스가 그 행의 효과 인덱스에 없는 경우 → 그 행 효과의 cell 표본 크기 (예: \(n\), \(nb\)).
    • 인덱스 일부 매치 → 부분 곱.
    • 인덱스 모두 매치 → 1 (자기 효과의 항).
  3. fixed 효과\(\theta\) 항만 자기 행에 추가.
  4. 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 방법의 한계

  1. 음수 추정 가능: 작은 표본에서 진짜 \(\sigma^2 \approx 0\) 인 경우.
  2. 비균등 데이터에 부정확: EMS 식이 어긋남.
  3. 결측 처리 어려움: 단일 결측이라도 EMS 식 변동.

현대 표준은 REML.

8 REML — 현대 표준

정의: REML (Restricted Maximum Likelihood)

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

Two-Way Mixed 의 두 형태
  • 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 실험의 random effect

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.

Subscribe

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