1 정의
All-within (둘 이상의 within 요인): 모든 요인이 within-subjects. 예: 같은 환자에게 약 종류 (3) × 시점 (4).
Split-Plot (mixed within/between): 일부 between, 일부 within. 예: 그룹 (between) × 시점 (within). RCT 의 표준 형태.
두 형태가 ANOVA 분해와 검정 분모에서 다른 구조를 가진다.
2 All-Within 2×3 Design
요인 \(A\) (\(a\) levels), \(B\) (\(b\) levels), 모두 within. 각 피험자가 \(a \times b\) 셀 모두 측정.
\[ Y_{ijk} = \mu + \alpha_j + \beta_k + (\alpha\beta)_{jk} + \pi_i + \varepsilon_{ijk} \]
(또는 더 자세한 random structure: \(\pi_i + (\alpha\pi)_{ij} + (\beta\pi)_{ik} + (\alpha\beta\pi)_{ijk}\).)
2.1 ANOVA 표
| Source | \(df\) | 검정 분모 |
|---|---|---|
| Between subjects (\(\pi\)) | \(n-1\) | — |
| Within subjects | \(n(ab-1)\) | |
| ┌ \(A\) | \(a-1\) | \(A \times S\) |
| │ \(B\) | \(b-1\) | \(B \times S\) |
| │ \(A \times B\) | \((a-1)(b-1)\) | \(AB \times S\) |
| │ \(A \times S\) | \((a-1)(n-1)\) | — |
| │ \(B \times S\) | \((b-1)(n-1)\) | — |
| └ \(A \times B \times S\) | \((a-1)(b-1)(n-1)\) | — |
각 within 효과는 자기 자신과 subject 의 상호작용을 분모로. 이는 “그 효과의 변동이 피험자별로 얼마나 일관된가” 를 묻는 직관적 분모.
\(A \times B\) 의 검정 분모는 \(A \times B \times S\) 인데, 이는 “\(A \times B\) 패턴이 피험자별로 얼마나 다른가” 를 측정.
이 변동이 작으면 (모든 피험자가 비슷한 패턴) \(A \times B\) 효과가 작아도 유의. 변동이 크면 패턴이 일관되지 않아 큰 효과만 유의.
이 분모 구조가 within-subjects 의 검정력 이득의 정확한 메커니즘 — 개인 간 분산이 자동 차감.
3 Split-Plot Design
3.1 정의
요인 \(A\) between (그룹), 요인 \(B\) within (시점).
\[ Y_{ijk} = \mu + \alpha_j + \pi_{i(j)} + \beta_k + (\alpha\beta)_{jk} + (\beta\pi)_{ik(j)} + \varepsilon_{ijk} \]
- \(i\): 그룹 \(j\) 안의 피험자 (\(i = 1, \ldots, n\)).
- \(j\): 그룹.
- \(k\): 시점.
- \(\pi_{i(j)}\): 그룹 \(j\) 안의 피험자 random.
- \((\beta\pi)_{ik(j)}\): 시점 × 피험자 within group random.
3.2 ANOVA 표
| Source | \(df\) | 검정 분모 |
|---|---|---|
| Between subjects | \(an - 1\) | |
| ┌ Group (\(A\)) | \(a-1\) | Subject within group |
| └ Subject within group | \(a(n-1)\) | — |
| Within subjects | \(an(b-1)\) | |
| ┌ Time (\(B\)) | \(b-1\) | \(B \times S\) within group |
| │ \(A \times B\) | \((a-1)(b-1)\) | \(B \times S\) within group |
| └ \(B \times S\) within group | \(a(b-1)(n-1)\) | — |
핵심: between 효과 (Group) 와 within 효과 (Time, A×B) 의 분모가 다르다.
3.3 응용 — 임상시험의 표준 lens
처치 (between) × 시점 (within) 의 split-plot 은 RCT 분석의 표준 형태.
Group A: pre → 1주 → 2주 → 4주
Group B: pre → 1주 → 2주 → 4주
처치 효과 (group 사이), 시점 효과 (모두 합쳐서), 처치 × 시점 (시간에 따른 처치 차이) 모두 검정 가능.
가장 관심: \(A \times B\) — “처치군이 대조군에 비해 시간이 지날수록 다르게 변화하는가?” 이것이 진짜 처치 효과의 직접 증거.
4 Ch.12 의 4 단계 흐름
G-MAX12-0 개관 (현재 글)
│
▼
G-MAX12-1 2×3 All-Within 의 7 효과
│
▼
G-MAX12-2 Split-Plot Design (Mixed Within/Between)
│
▼
G-MAX12-3 Sphericity Extensions + ε Adjustments
│
▼
G-MAX13 (Within-Subjects Multivariate)
5 Sphericity 의 확장
다요인 within 에서는 각 main effect 와 interaction 마다 별도의 sphericity 가정:
- \(A\) main: \(A\) levels 사이의 차이 분산이 같음.
- \(B\) main: \(B\) levels 사이의 차이 분산이 같음.
- \(A \times B\): \(A \times B\) 셀의 직교 contrast 분산이 같음.
각각 다른 ε 조정. ε 추정도 각 효과마다 별도.
자유도 1 효과 (\(a = 2\) 또는 \(b = 2\)) 는 sphericity 자동 만족.
\(2 \times 3\) within 에서: - \(A\) main (자유도 1): 자동 OK. - \(B\) main (자유도 2): sphericity 검정 + ε 필요. - \(A \times B\) (자유도 2): sphericity 검정 + ε 필요.
\(3 \times 4\) 면 모든 효과가 자유도 ≥ 2 → 모든 효과에 ε 조정.
→ 다요인 within 은 ε 조정 부담 ↑. multilevel model 이 더 깔끔.
6 다요인 within 의 검정력
요인 수가 많아지면: - 효과 수 폭증. - 각 효과의 자유도 작음 (1 또는 작은 자유도). - Subject × effect 상호작용이 분모로 들어가 자유도 추가 감소.
이 때문에 표본 (피험자 수) 이 검정력의 핵심. \(n = 10\) 이라도 \(A \times B\) 의 분모 자유도가 \((a-1)(b-1)(n-1)\) 라 충분.
6.1 표본 크기 권장
\(2 \times 3\) within 의 \(A \times B\) 검정 (자유도 2):
| 효과 (\(f\)) | 권장 \(n\) |
|---|---|
| 0.10 (작음) | 80~120 |
| 0.25 (중간) | 15~25 |
| 0.40 (큼) | 8~12 |
(검정력 0.80, \(\alpha=0.05\), \(\rho \approx 0.5\) 가정.)
7 Mixed Model 으로의 통합
multilevel model 이 다요인 within 의 통합 framework:
# All-within: random intercept only
md = mixedlm("Y ~ C(A) * C(B)", data, groups="subject")
# Random slope (시점 양적)
md = mixedlm("Y ~ C(A) * time", data, groups="subject", re_formula="~time")
# Split-plot
md = mixedlm("Y ~ C(group) * C(time)", data, groups="subject")장점: - 결측 자동 처리. - 공분산 구조 자유 (CS, AR(1), UN). - 비균등 데이터 OK.
ANOVA + ε 조정의 일반화.
8 Python 코드 — 2×3 Within ANOVA
import numpy as np
import pandas as pd
from statsmodels.stats.anova import AnovaRM
from statsmodels.formula.api import mixedlm
np.random.seed(2026)
n = 12
A_levels = ["low", "high"] # 2
B_levels = [1, 2, 3] # 3
records = []
A_eff = {"low": 0, "high": 5}
B_eff = {1: 0, 2: 3, 3: 6}
AB_eff = {("low", 1): 0, ("low", 2): 0, ("low", 3): 0,
("high", 1): 0, ("high", 2): 1, ("high", 3): 2}
for subj in range(n):
pi = np.random.normal(0, 8)
for a in A_levels:
for b in B_levels:
y = (100 + A_eff[a] + B_eff[b] + AB_eff[(a, b)] + pi
+ np.random.normal(0, 3))
records.append({"subject": subj, "A": a, "B": b, "Y": y})
data = pd.DataFrame(records)
# 2-way within ANOVA
aovrm = AnovaRM(data, "Y", "subject", within=["A", "B"]).fit()
print("=== 2-way Within-Subjects ANOVA ===")
print(aovrm.anova_table)
# Mixed model 등치
md = mixedlm("Y ~ C(A) * C(B)", data=data, groups=data["subject"]).fit()
print("\n=== Mixed Model ===")
print(md.summary().tables[1])9 ML 매핑 — Multi-Factor Hyperparameter
ML 모델 평가에서 같은 dataset (subject 역할) 에 여러 hyperparameter 조합:
Subject (dataset): 5 datasets
Within factor A (optimizer): Adam, SGD
Within factor B (scheduler): cosine, step, constant
Total cells: 6
각 dataset 에 모든 6 조합을 평가. 2×3 within ANOVA 로 분석.
장점: - 같은 dataset 의 baseline 차이 (subject random) 통제. - \(A \times B\) interaction 진단 — “어느 optimizer 가 어느 scheduler 와 잘 맞는가.”
10 본 시리즈
G-MAX12-0 개관 (현재 글)
G-MAX12-1 2×3 Within Design + 7 Effects
G-MAX12-2 Split-Plot Design
G-MAX12-3 Sphericity Extensions + ε Adjustments
↓
G-MAX13 (Within Multivariate)
11 가정과 한계
- 다중 sphericity: 각 효과마다 별도. ε 조정 권장.
- 균등 데이터: 결측 시점 처리 어려움. multilevel 권장.
- fixed/random 분류: split-plot 에서 그룹 random/ fixed 결정.
- 충분한 표본: 다요인 within 의 자유도 분배.
12 응용
| 분야 | 시나리오 |
|---|---|
| 임상 longitudinal RCT | 처치 (between) × 시점 (within) |
| 심리 실험 | 학습 시간 (within) × 형식 (within) — 같은 사람의 다른 조건 |
| 농학 | 비료 (between) × 시점 (within) |
| IT longitudinal A/B | 변종 (between) × 측정 시점 (within) |
| 약리학 | 약 (within) × 용량 (within) — crossover dose-response |
13 관련 주제
선행 지식
후속 주제
다른 카테고리 연결
14 더 읽을 거리
- Maxwell, S. E., Delaney, H. D. (2004). “Designing Experiments and Analyzing Data: A Model Comparison Perspective” (2nd ed). Lawrence Erlbaum.
- Hedeker, D., Gibbons, R. D. (2006). “Longitudinal Data Analysis.” Wiley.
- Davis, C. S. (2002). “Statistical Methods for the Analysis of Repeated Measurements.” Springer.