분할구 (Split-Plot) 설계 — between × within 의 RCT 표준 형태

Maxwell Ch.12.2 Split-Plot Design (Mixed Within/Between)

그룹 (between-subjects) 과 시점 (within-subjects) 을 결합한 split-plot design 의 ANOVA 분해, 검정 분모, 임상시험 RCT 분석에의 적용을 정리한다. 두 단계 randomization 의 통계 모형, 잘못된 검정 분모 사용의 위험, Mixed Model 의 표준 처리, MAX Ch.9 ANCOVA 와의 결합까지 통합 다룬다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의 (재방문)

정의: Split-Plot Design

요인 \(A\) between-subjects (그룹), 요인 \(B\) within-subjects (시점). 각 그룹에 \(n\) 명, 각 피험자가 \(b\) 시점 측정.

\[ Y_{ijk} = \mu + \alpha_j + \pi_{i(j)} + \beta_k + (\alpha\beta)_{jk} + (\beta\pi)_{ik(j)} + \varepsilon_{ijk} \]

  • \(\alpha_j\): 그룹 (fixed).
  • \(\pi_{i(j)} \sim N(0, \sigma^2_\pi)\): 그룹 \(j\) 안의 피험자 random.
  • \(\beta_k\): 시점 (fixed).
  • \((\alpha\beta)_{jk}\): 그룹 × 시점 (fixed).
  • \((\beta\pi)_{ik(j)} \sim N(0, \sigma^2_{\beta\pi})\): 시점 × subject within group (random).
  • \(\varepsilon\): residual.

농학 기원: 큰 plot 에 비료 (whole plot), 작은 sub-plot 에 종자 품종 (sub plot).

임상 응용: 처치 (between, group 무작위), 시점 (within, 같은 환자 여러 시점).

2 ANOVA 표

Source \(df\) EMS 검정 분모
Between-subjects total \(an-1\)
┌ Group (\(A\)) \(a-1\) \(\sigma^2 + b\sigma^2_\pi + bn\theta_\alpha\) Subject within group
└ Subject within group (\(\pi_{i(j)}\)) \(a(n-1)\) \(\sigma^2 + b\sigma^2_\pi\)
Within-subjects total \(an(b-1)\)
┌ Time (\(B\)) \(b-1\) \(\sigma^2 + an\theta_\beta\) \(B \times S\) within group
\(A \times B\) \((a-1)(b-1)\) \(\sigma^2 + n\theta_{\alpha\beta}\) \(B \times S\) within group
\(B \times S\) within group \(a(b-1)(n-1)\) \(\sigma^2\)

핵심: between 효과 (Group) 의 분모와 within 효과 (Time, A×B) 의 분모가 다르다.

3 검정력 비교

직관: Between vs Within 효과의 검정력

Between 효과 (\(A\), Group): - 분모 자유도 작음 (\(a(n-1)\)). - 분모 분산 큼 (\(\sigma^2 + b \sigma^2_\pi\)). - 검정력 일반 between 보다 약간 ↓.

Within 효과 (\(B\), \(A \times B\)): - 분모 자유도 큼 (\(a(b-1)(n-1)\)). - 분모 분산 작음 (\(\sigma^2\)). - 검정력 일반 within 만큼 강함.

가장 관심 있는 효과를 within 에 배치 권장.

농학에서는 비료 (whole) × 품종 (sub) 일 때 비료 효과보다 품종 효과의 검정력이 높음. 연구자가 품종 효과에 더 관심이면 적절. 비료 효과에 더 관심이면 다른 설계 (RBD) 가 나음.

임상 RCT 에서는 처치 (between) × 시점 (within) — 시점에 따른 처치 차이 (\(A \times B\)) 가 가장 중요한 효과. within 분모를 사용해 검정력 ↑.

함정: 잘못된 검정 분모

split-plot 데이터를 일반 factorial ANOVA 로 분석하면 모든 효과의 분모가 sub-plot error (\(MS_E\)) 가 되어 \(A\) 의 검정이 inflated (분모가 너무 작음 → false positive).

→ 반드시 split-plot 모형 명시 또는 mixed model 로 적절한 random effect 지정.

R: aov(Y ~ A * B + Error(subject_id/A)) 또는 lmer(Y ~ A * B + (1 | subject_id)). Python statsmodels: mixedlm("Y ~ C(A) * C(B)", data, groups=subject_id).fit().

4 임상시험 RCT 분석

4.1 표준 lens

처치 (between) × 시점 (within) 의 split-plot. 임상시험·심리실험·디지털 longitudinal A/B 의 표준 분석.

4.2 핵심 가설

가설 검정
처치 효과 차이 \(F_A\) (between)
시간에 따른 변화 \(F_B\) (within)
처치 × 시간 = 차별 변화 \(F_{A \times B}\) (within)

가장 관심: \(A \times B\) — “처치군이 대조군에 비해 시간이 지날수록 다르게 변화하는가?”. 이것이 진짜 처치 효과의 직접 증거.

4.3 Pre/Post (2 시점) 의 단순 사례

\(b = 2\). \(A \times B\) 검정은 group × time interaction = “그룹별 change score 의 차이”.

이는 ANCOVA 와 비교됨 (G-MAX9). RCT 에서는 ANCOVA 가 검정력 우위 (Lord’s paradox 상관 X).

5 가설 데이터 — 임상 RCT

처치 (Treatment / Control), \(n=15\) 명/그룹, 시점 (1주, 4주, 8주). SBP 측정.

1주 4주 8주
Treatment 145 138 128
Control 144 142 140

처치 효과: 시간이 지날수록 차이 ↑. \(A \times B\) interaction 유의 예상.

ANOVA 표 (가상):

Source \(SS\) \(df\) \(MS\) \(F\) \(p\)
Group 800 1 800 \(800/100 = 8.0\) 0.008
Subject within group 2800 28 100
Time 1200 2 600 \(600/30 = 20.0\) \(<0.0001\)
Group × Time 600 2 300 \(300/30 = 10.0\) 0.0003
Time × Subject within group 1680 56 30

해석: - Group 효과 유의 — 평균적으로 처치군이 SBP 낮음. - Time 효과 매우 강함 — 시간이 지날수록 SBP 감소 (자연 회복 + 처치 효과 합쳐). - Group × Time 매우 유의 — 처치군이 시간에 따라 더 빠르게 감소.

6 Visualization

SBP
 │
 │  *(Control, 4주)
 │ /
145│-       *(Control, 1주)
 │  \-     /
 │   \-   /     *(Control, 8주)
 │    \  /     /
 │     \/_____/
 │     *(Treatment, 1주)
 │     |
 │     |
 │     *(Treatment, 4주)
 │      \
 │       \
 │        *(Treatment, 8주)
 │
 └─────────────────────  Time
   1   4   8

두 곡선의 분기 (Group × Time interaction) 가 처치 효과의 직접 증거.

7 Python 코드

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

np.random.seed(2026)
n = 15
groups = ["Treatment", "Control"]
times = [1, 4, 8]

# 데이터 생성
cell_means = {
    ("Treatment", 1): 145, ("Treatment", 4): 138, ("Treatment", 8): 128,
    ("Control",   1): 144, ("Control",   4): 142, ("Control",   8): 140,
}

records = []
for grp in groups:
    for subj in range(n):
        pi = np.random.normal(0, 5)
        for t in times:
            y = cell_means[(grp, t)] + pi + np.random.normal(0, 4)
            records.append({"group": grp, "subject": f"{grp}_{subj}",
                           "time": t, "Y": y})

data = pd.DataFrame(records)

# Split-plot ANOVA (within = time)
aovrm = AnovaRM(data, "Y", "subject", within=["time"], between=["group"]).fit()
print("=== Split-Plot ANOVA ===")
print(aovrm.anova_table)

# Mixed model (recommended)
md = mixedlm("Y ~ C(group) * C(time)", data=data, groups=data["subject"]).fit()
print("\n=== Mixed Model ===")
print(md.summary().tables[1])

8 Variant — Multiple Within Factors

Split-plot 의 일반화: 여러 within 요인 + 여러 between 요인.

예: 처치 (between) × 시점 (within) × 측정 위치 (within).

각 within 요인의 분모는 그 자신과 subject within group 의 상호작용.

multilevel model 로 자연스럽게 처리.

9 ANCOVA 와의 결합

split-plot + covariate (baseline measurement):

\[ Y_{ijk} = \mu + \alpha_j + \pi_{i(j)} + \beta_k + (\alpha\beta)_{jk} + \gamma X_{ij} + \varepsilon_{ijk} \]

baseline \(X\) 가 처치 (between) 의 우연 imbalance 를 보정 + 잔차 분산 ↓.

md = mixedlm("Y ~ C(group) * C(time) + baseline",
             data=data, groups="subject").fit()

10 가정과 한계

  • 그룹 등표본: 균등할 때 가장 단순.
  • Sphericity: within 효과에 대한 sphericity. ε 조정 필요.
  • 결측 시점: AnovaRM 은 listwise. multilevel 권장.
  • Carryover: 시점이 양적 (시간) 이면 자연스러운 progression. 처치 변화 없으면 carryover 관심 X.
  • Group × Time interaction 의 사전 가설: 처치 효과의 핵심.

11 표본 크기 산출

split-plot 의 \(A \times B\) interaction 검정력:

\[ n = \frac{(z_{\alpha/2} + z_\beta)^2}{f^2 \cdot a \cdot (1 - \rho)} \]

(근사 — 정확한 산출은 noncentral \(F\).)

효과 (\(f\)) \(\rho = 0.5\), \(a=2\) \(\rho = 0.7\), \(a=2\)
0.10 100 60
0.25 16 10
0.40 7 4

(검정력 0.80, \(\alpha=0.05\), \(b=3\) 시점.)

12 응용

12.1 임상 RCT (가장 흔함)

처치 (between) × 시점 (within). 표준 분석.

12.2 발달 심리

연령 (within) × 환경 (between). 발달 trajectory 의 환경 영향.

12.3 농학

비료 (whole plot) × 품종 (sub-plot) × 시점 (within). 3 way split-plot.

12.4 산업 — 화학 공정

온도 (whole, batch 단위) × 압력 (sub, 같은 batch 내) × 시점.

12.5 IT longitudinal A/B

변종 (between) × 측정 시점 (within). 같은 사용자 그룹의 시점별 metric 추적.

13 결정 차트 — 분석 선택

데이터 구조 점검
    ↓
between + within 두 요인?
├── No → Single-factor analysis
└── Yes → split-plot
    ↓
결측 데이터 있음?
├── Yes → Mixed Model REML 무조건
└── No
    ↓
Sphericity (within) 만족?
├── Yes (Mauchly p > 0.05) → Univariate ANOVA OK
└── No → ε 조정 또는 Mixed Model
    ↓
관심 효과:
├── Group main → between F 검정 (분모 = subject within group)
├── Time main → within F 검정 (분모 = T × S within group)
└── G × T interaction → within F (분모 = T × S within group)

14 본 시리즈

G-MAX12-0  개관
G-MAX12-1  2×3 Within 의 7 효과
G-MAX12-2  Split-Plot Design  ← 현재 글
G-MAX12-3  Sphericity Extensions

15 ML 매핑

매핑: ML A/B Test 의 split-plot

처치 (between, 사용자 group) × 측정 시점 (within, 일별 metric):

  • Group A: 100 사용자, 매일 retention 측정.
  • Group B: 100 사용자, 매일 retention 측정.

분석: split-plot mixed model.

가장 관심: Group × Day interaction — “처치군의 retention 변화율이 대조군과 다른가?”

이것이 long-term retention 효과의 정수 — Kohavi 의 long-term effect 분석.

16 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

17 더 읽을 거리

  • Maxwell, S. E., Delaney, H. D. (2004). “Designing Experiments and Analyzing Data.”
  • Hedeker, D., Gibbons, R. D. (2006). “Longitudinal Data Analysis.” Wiley.
  • Fitzmaurice, G. M., Laird, N. M., Ware, J. H. (2011). “Applied Longitudinal Analysis” (2nd ed). Wiley.
  • Federer, W. T., King, F. (2007). “Variations on Split Plot and Split Block Experiment Designs.” Wiley.

Subscribe

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