혼합 모형 ANOVA 와 구형성 가정 — 공분산 구조의 핵심

Maxwell Ch.11.2 Mixed Model ANOVA · Sphericity

Within-subjects ANOVA 의 핵심 가정인 구형성 (sphericity) 의 정확한 정의, Mauchly 의 검정, 공분산 구조 (CS, AR(1), Toeplitz, Unstructured) 와의 관계, 위반 시 ε 조정의 필요성을 정리한다. ε 의 GG·HF 추정, multilevel model 의 통합 처리도 다룬다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의

정의: 구형성 (Sphericity)

Within-subjects 의 \(a\) 시점 측정의 covariance matrix \(\Sigma\) 에 대해, 모든 처치 쌍의 차이의 분산이 같다.

\[ \text{Var}(Y_{ij} - Y_{ij'}) = c \quad (\forall j \ne j') \]

이는 \(\Sigma\) 의 형태에 다음 제약을 준다.

  • Compound Symmetry (CS): 모든 분산 같음, 모든 공분산 같음 → 구형성 만족.
  • Spherical: CS 의 일반화. 차이 점수 분산이 같으면 OK.
  • Unstructured (UN): 분산·공분산 모두 다를 수 있음 → 구형성 일반적으로 위반.

1.1 수학적 형식화

\(\Sigma\) 의 구형성 정의 (Huynh & Feldt, 1970):

\[ \Sigma = \lambda \mathbf{I} + \mathbf{\xi} \mathbf{1}^T + \mathbf{1} \mathbf{\xi}^T \]

(scalar \(\lambda > 0\), vector \(\xi\) 는 합이 0 인 vector.)

이 형태의 \(\Sigma\) 는 모든 차이 점수 분산이 \(2\lambda\) 로 일정.

2 CS, AR(1), UN 의 관계

구조 분산 공분산 구형성
Compound Symmetry (CS) 모두 같음 모두 같음
First-order Autoregressive (AR(1)) 모두 같음 \(\rho^{|j-j'|}\) 거리에 따라 감소
Toeplitz 모두 같음 거리별 다름 (자유) 일반적 ✗
Unstructured (UN) 자유 자유 일반적 ✗
Identity 모두 같음 모두 0 ✓ (special case)
직관: 시간 데이터는 AR(1) 에 가깝다

종단 (longitudinal) 데이터는 인접 시점의 측정이 더 강한 상관을 가진다. 1주 후 vs 2주 후 는 1주 후 vs 12주 후 보다 더 강한 상관 — 자연스러운 자기상관.

이는 자연스럽게 AR(1) 구조를 따르며, 구형성을 위반한다.

해결: ε 조정 (Greenhouse-Geisser, Huynh-Feldt) 또는 multilevel model 로 명시적 공분산 구조 적합.

3 Mauchly 의 구형성 검정

정의: Mauchly’s Test of Sphericity

귀무가설 \(H_0\): 모집단 covariance matrix 가 구형.

검정 통계량: \[ W = \frac{|\hat\Sigma|}{(\text{tr}(\hat\Sigma) / (a-1))^{a-1}} \]

(분모는 covariance 의 평균 eigenvalue 의 \(a-1\) 거듭제곱.)

\(W \approx 1\): 구형성 만족. \(W \to 0\): 위반.

큰 표본에서 \(-\log W\)\(\chi^2\) 근사.

해석: - \(p > 0.05\): 구형성 가정 채택 (단, 검정력 약). - \(p < 0.05\): 구형성 위반, ε 조정 필수.

함정: Mauchly 검정의 함정

작은 표본 (\(n < 15\)) 에서 Mauchly 의 검정력이 매우 약. 비유의가 “구형성 OK” 를 보장 하지 않는다.

일반 권장: 항상 ε 조정을 적용 (보수적 접근). Greenhouse-Geisser 가 가장 보수적, Huynh-Feldt 가 약간 자유로움.

ε 의 lower bound 는 \(1/(a-1)\) (가장 보수적). 자유도가 \(\epsilon \cdot (a-1)\), \(\epsilon \cdot (a-1)(n-1)\) 로 축소.

3.1 자유도 1 의 효과는 자동 만족

\(a = 2\) 의 within 효과 — 차이 점수 1 종류뿐 → sphericity 자동.

ε 조정 불필요. paired t-test = within ANOVA.

4 ε 조정 — 자유도 축소

ε (epsilon) 은 구형성 위반의 정도를 측정 (1 = 완전 만족, \(1/(a-1)\) = 최대 위반).

효과 원래 자유도 ε 조정 후 자유도
Treatment \(a-1\) \(\epsilon (a-1)\)
Error \((a-1)(n-1)\) \(\epsilon (a-1)(n-1)\)

자유도가 작아져 critical \(F\) 값이 커지고 \(p\) 값도 커진다.

4.1 Greenhouse-Geisser (GG)

\[ \hat\epsilon_{GG} = \frac{(\text{tr}(\hat\Sigma))^2}{(a-1) \text{tr}(\hat\Sigma^2)} \]

가장 보수적. 항상 안전.

4.2 Huynh-Feldt (HF)

GG 의 약간 보정 형태. 일반적으로 \(\hat\epsilon_{HF} \ge \hat\epsilon_{GG}\). 약간 더 자유.

4.3 Lower Bound

\(\epsilon = 1/(a-1)\) — 최대 보수적. 자유도 \((1, n-1)\) 의 단일 비교와 동치. 거의 사용 안 됨 (검정력 너무 약).

5 가설 데이터 — 시점 4 개

\(n = 12\) 환자, \(a = 4\) 처치. 가상 covariance matrix:

\[ \Sigma = \begin{pmatrix} 25 & 18 & 12 & 8 \\ 18 & 25 & 18 & 12 \\ 12 & 18 & 25 & 18 \\ 8 & 12 & 18 & 25 \end{pmatrix} \]

(분산 25, 공분산 거리에 따라 감소 — AR(1)-like.)

차이 점수의 분산: - \(\text{Var}(Y_1 - Y_2) = 25 + 25 - 2(18) = 14\). - \(\text{Var}(Y_1 - Y_3) = 25 + 25 - 2(12) = 26\). - \(\text{Var}(Y_1 - Y_4) = 25 + 25 - 2(8) = 34\). - \(\text{Var}(Y_2 - Y_3) = 14\). - \(\text{Var}(Y_2 - Y_4) = 26\). - \(\text{Var}(Y_3 - Y_4) = 14\).

차이 점수 분산이 다름 (\(14, 26, 34\)) → sphericity 위반.

Mauchly’s \(W = 0.55\) (\(p = 0.04\), 위반). \(\hat\epsilon_{GG} = 0.65\), \(\hat\epsilon_{HF} = 0.78\).

6 ε 조정의 효과

조정 \(\hat\epsilon\) \(df_T\) \(df_E\) \(F\) \(p\)
없음 1.00 3 33 8.0 0.0004
Greenhouse-Geisser 0.65 1.95 21.45 8.0 0.0027
Huynh-Feldt 0.78 2.34 25.74 8.0 0.0014
Lower bound 0.33 1.00 11.00 8.0 0.016

모든 조정에서 유의하지만, \(p\) 값이 수배 증가. 효과가 작은 데이터에서는 결론이 바뀔 수 있다.

7 모형 비교

7.1 단일 모형: ANOVA + sphericity

\(F\) 검정 + ε 조정. 단순하지만 공분산 구조에 강한 제약 (CS 가정).

7.2 Multilevel Model

\[ Y_{ij} = \mu + \alpha_j + \pi_i + \varepsilon_{ij},\quad \pi_i \sim N(0, \sigma^2_\pi),\quad \varepsilon \sim N(0, \sigma^2) \]

sigma_pi 만 추정 → CS 가정과 동치
sigma_pi 와 AR(1) 추정 → AR(1) 공분산
unstructured → 자유

REML 추정, AIC/BIC 로 공분산 구조 선택. 더 유연. 큰 데이터에서 유리.

7.3 Multivariate ANOVA (MANOVA)

각 시점을 별도 변수로 두고 multivariate 분석. 구형성 가정 불필요. 단점: 검정력 낮음. 세부는 G-MAX13.

8 공분산 구조 선택 절차

Step 1: Null 모형 (CS) fit
  AIC, BIC 기록.

Step 2: AR(1) fit
  AIC, BIC 기록.

Step 3: Toeplitz, UN fit
  AIC, BIC 기록.

Step 4: 비교
  가장 작은 AIC (또는 BIC) 의 구조 선택.

Step 5: 적합 진단
  잔차 plot, Q-Q plot.

R nlme::lme 또는 glmmTMBcorStruct 옵션. Python statsmodels.mixedlm 은 CS 외에는 직접 지원 X (workaround 필요).

9 가설 데이터 — covariance 구조 비교

모형 모수 수 AIC BIC
CS 2 1820 1830
AR(1) 2 1795 1805
Toeplitz 4 1798 1820
UN 10 1810 1850

→ AR(1) 가장 좋음 (AIC, BIC 모두 최소). 자기상관 명시 모형 선택.

10 Python 코드

import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.stats.anova import AnovaRM
from statsmodels.formula.api import mixedlm
from scipy import stats

np.random.seed(2026)
n = 12
a = 4
treatments = ["placebo", "A", "B", "C"]

# AR(1) 공분산 데이터
rho = 0.6
sigma_e = 5
mu_treat = np.array([130, 122, 125, 120])

records = []
for subj in range(n):
    pi_subj = np.random.normal(0, 8)
    eps = np.zeros(a)
    eps[0] = np.random.normal(0, sigma_e)
    for j in range(1, a):
        eps[j] = rho * eps[j-1] + np.random.normal(0, sigma_e * np.sqrt(1 - rho**2))
    for j, treat in enumerate(treatments):
        y = mu_treat[j] + pi_subj + eps[j]
        records.append({"subject": subj, "treatment": treat, "Y": y})

data = pd.DataFrame(records)

# Within-subjects ANOVA + sphericity correction
aovrm = AnovaRM(data, "Y", "subject", within=["treatment"]).fit()
print("=== Within-Subjects ANOVA (no correction) ===")
print(aovrm.anova_table)

# Mauchly 구형성 검정 — 직접 구현
wide = data.pivot(index="subject", columns="treatment", values="Y")
diffs = []
for j in range(a):
    for j2 in range(j+1, a):
        diffs.append(wide.iloc[:, j] - wide.iloc[:, j2])
var_diffs = [d.var(ddof=1) for d in diffs]
print(f"\nVariances of pairwise differences: {[round(v, 2) for v in var_diffs]}")
print("Sphericity OK if these are similar.")

# Multilevel model with REML — flexible covariance
md_cs = mixedlm("Y ~ C(treatment)", data=data, groups=data["subject"]).fit()
print("\n=== Mixed Model (REML, CS) ===")
print(md_cs.summary().tables[1])
print(f"AIC: {md_cs.aic:.1f}, BIC: {md_cs.bic:.1f}")

# pingouin 으로 ε 조정 (있는 경우)
try:
    import pingouin as pg
    aov_pg = pg.rm_anova(data=data, dv="Y", within="treatment", subject="subject",
                         correction=True, detailed=True)
    print("\n=== pingouin rm_anova with corrections ===")
    print(aov_pg)
except ImportError:
    print("\n[pingouin not installed — install: pip install pingouin]")

11 결정 차트 — Sphericity 처리

Within-subjects ANOVA 시작
    ↓
효과 자유도 = 1 (a = 2)?
├── Yes → Sphericity 자동 만족, 조정 불필요
└── No  → Sphericity 검정 + ε 조정
          ↓
          Mauchly p > 0.05?
          ├── Yes → 보수적: GG 적용 (안전)
          └── No  → GG 또는 HF 필수
                  ↓
                  ε > 0.75?
                  ├── Yes → HF 사용 (자유)
                  └── No  → GG 사용 (보수적)
    ↓
또는 Multilevel Model (REML) 로 통합 처리

12 가정과 한계

12.1 일반

  • 자유도 1 효과는 자동 만족.
  • 각 효과마다 별도 sphericity (다요인 within).
  • 결측 데이터: ANOVA 는 listwise. multilevel 권장.

12.2 Mauchly 의 한계

  • 작은 표본에서 검정력 약.
  • 큰 표본에서는 사소한 위반도 유의 → 항상 ε 조정 권장.

12.3 Multilevel 우위

  • 결측 자동.
  • 공분산 구조 자유.
  • 연속 시점 (양적 시간) 자연스러움.

13 ML 매핑

매핑: ML cross-validation 의 sphericity

ML 모델의 fold-wise 정확도가 sphericity 만족? 아니다.

각 fold 의 정확도 분산이 다름 (작은 fold 가 큰 분산). 인접 fold (같은 hyperparameter 의 다른 fold) 가 더 강한 상관.

→ within ANOVA (fold 가 subject 역할) 는 sphericity 위반 가능.

대안: - Bonferroni 보정 paired t-test. - Nadeau-Bengio correction (CV 표준오차의 보정). - Bootstrap CI.

14 본 챕터의 다음 단계

G-MAX11-0  Within-Subjects 개관
G-MAX11-1  Three Situations + Difference Scores
G-MAX11-2  Mixed Model ANOVA + Sphericity  ← 현재 글
    │
    ▼
G-MAX11-3  GG/HF Adjustments + Order Effects (자세한 ε 절차)
G-MAX11-4  Latin Square + Power

15 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

16 더 읽을 거리

  • Mauchly, J. W. (1940). “Significance test for sphericity of a normal n-variate distribution.” Annals of Mathematical Statistics 11(2): 204-209 — 원조 논문.
  • Greenhouse, S. W., Geisser, S. (1959). “On methods in the analysis of profile data.” Psychometrika 24(2): 95-112 — GG ε.
  • Huynh, H., Feldt, L. S. (1970). “Conditions under which mean square ratios in repeated measurements designs have exact F-distributions.” JASA 65(332): 1582-1589.
  • Box, G. E. P. (1954). “Some theorems on quadratic forms applied in the study of analysis of variance problems.” Annals of Mathematical Statistics 25: 290-302.
  • Hedeker, D., Gibbons, R. D. (2006). “Longitudinal Data Analysis.” Wiley — multilevel 처리.

Subscribe

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