1 정의
같은 피험자가 여러 처치 또는 시점의 levels 에서 측정되는 설계. 각 피험자가 자기 자신의 통제 대상이 된다.
\[ Y_{ij} = \mu + \alpha_j + \pi_i + \varepsilon_{ij} \]
- \(\alpha_j\): 처치 효과 (fixed).
- \(\pi_i \sim N(0, \sigma^2_\pi)\): subject 의 random effect.
- \(\varepsilon_{ij} \sim N(0, \sigma^2)\): residual.
피험자 \(i\) 의 모든 \(a\) 시점/처치에서 측정값이 있다.
2 왜 within-subjects 인가
2.1 검정력 이득 — 통계적 메커니즘
Between-subjects 설계의 잔차 분산: \[ \sigma^2_{\text{between}} = \sigma^2_\pi + \sigma^2 \]
(개인 간 분산 + 측정 잡음.)
Within-subjects 의 잔차 분산: \[ \sigma^2_{\text{within}} = \sigma^2 - \rho \sigma^2_\pi \]
여기서 \(\rho\) = 시점 간 상관 (CS 가정 시 \(\sigma^2_\pi / (\sigma^2_\pi + \sigma^2)\)).
Within 의 분산이 between 의 \((1 - \rho)\) 배 — \(\rho = 0.6\) 이면 분산 40%, 검정력 약 \(1/\sqrt{0.4} = 1.58\) 배.
2.2 표본 절약
같은 정보를 1/2 ~ 1/10 의 피험자로 얻을 수 있다. 임상시험·심리실험에서 비용·윤리상 큰 이득.
키 큰 사람과 키 작은 사람의 점프 능력을 비교하는 것보다, 한 사람이 신발 A 를 신고 점프한 것과 신발 B 를 신고 점프한 것의 차이를 보는 것이 더 정밀하다. 같은 사람의 신체 조건, 동기, 컨디션 같은 baseline 분산이 차감되기 때문이다.
within-subjects 는 이 직관의 통계적 형식화이다.
\[ D_i = Y_{i,B} - Y_{i,A} = (\alpha_B - \alpha_A) + (\varepsilon_{i,B} - \varepsilon_{i,A}) \]
\(\pi_i\) 가 cancel — 개인 간 분산 (큰 noise) 이 자동 차감.
3 Ch.11 의 5 단계 흐름
G-MAX11-0 Within-Subjects 개관 (현재 글)
│
▼
G-MAX11-1 Three Within-Subjects Situations + Difference Scores
세 가지 시나리오 (사전·사후, 다처치, 시계열) + 차이 점수
│
▼
G-MAX11-2 Mixed Model ANOVA + Sphericity
혼합 모형 ANOVA, 구형성 가정의 의미
│
▼
G-MAX11-3 GG/HF Adjustments + Order Effects
ε 조정 (Greenhouse-Geisser, Huynh-Feldt), 순서 효과
│
▼
G-MAX11-4 Latin Square Counterbalancing + Power
라틴 방격으로 순서 효과 통제, 검정력 분석
│
▼
G-MAX12 (Higher-Order Within: 2x3, Split-Plot)
4 응용
| 분야 | 시나리오 |
|---|---|
| 심리 | 같은 피험자가 여러 학습 조건 |
| 의약 | crossover trial — 한 환자가 약 A, 약 B 모두 |
| 농학 | 같은 plot 에서 시점별 측정 |
| IT | 같은 사용자가 여러 UI 변종 노출 |
| 운동학 | 같은 선수가 여러 신발 시험 |
| 발달 심리 | 같은 어린이가 여러 연령에서 측정 |
| 교육 | 같은 학생이 여러 과목 평가 |
5 ANOVA 표 — One-Way Within-Subjects
\(a\) 처치, \(n\) 피험자 (각 피험자가 모든 \(a\) 처치 받음).
| Source | \(df\) | EMS |
|---|---|---|
| Between subjects (\(\pi\)) | \(n-1\) | \(\sigma^2 + a \sigma^2_\pi\) |
| Within subjects | \(n(a-1)\) | |
| ┌ Treatment (\(\alpha\)) | \(a-1\) | \(\sigma^2 + n \theta_\alpha\) |
| └ Error (Treatment × Subject) | \((a-1)(n-1)\) | \(\sigma^2\) |
처치 효과 검정 분모: \(MS_{T \times S}\) (residual within-subjects).
\[ F_T = \frac{MS_T}{MS_{T \times S}},\quad df = (a-1, (a-1)(n-1)) \]
5.1 자유도 분해
총 자유도 \(= an - 1\):
- Between subjects: \(n - 1\).
- Within subjects: \(n(a-1)\).
- Treatment: \(a-1\).
- \(T \times S\): \((a-1)(n-1)\).
\(T \times S\) 의 자유도가 \((a-1)(n-1)\) 인 점이 핵심 — 일반 ANOVA 의 \(a(n-1) = an - a\) 보다 조금 작지만, 분산이 훨씬 작음 → 검정력 ↑.
6 구형성 (Sphericity) 가정
Within-subjects ANOVA 의 핵심 가정. 모든 처치 쌍의 차이 점수의 분산이 같다는 것.
\[ \text{Var}(Y_{ij} - Y_{ij'}) = c \quad (\text{모든 } j \ne j') \]
이는 covariance matrix 의 특정 형태 (compound symmetry 또는 그 일반화) 를 요구.
Compound Symmetry (CS): 모든 시점 분산 같음, 모든 시점 쌍 공분산 같음. 구형성을 만족하는 가장 단순한 형태.
위반 시: \(F\) 통계량이 양의 편향 (실제보다 큼) → false positive 위험.
시간이 흐르며 측정한 데이터는 인접 시점의 상관이 더 커서 구형성을 위반하기 쉽다 (AR(1) 구조). crossover trial 에서도 carryover effect 가 시점별 분산을 다르게 만든다.
검정: Mauchly 의 구형성 검정 (작은 표본에서 검정력 약). 일반 권장: 항상 ε 조정 (Greenhouse-Geisser 또는 Huynh-Feldt) 적용 (G-MAX11-3).
7 순서 효과 (Order Effects)
같은 피험자가 여러 처치를 받으면 순서가 영향 을 줄 수 있다.
- Carryover effect: 약 A 의 잔여 효과가 약 B 의 측정에 영향. 약리학에서 흔함.
- Fatigue / practice effect: 후반 처치일수록 점수 ↑ (학습) 또는 ↓ (피로).
- Sensitization: 첫 노출이 후속 노출의 반응을 바꿈.
해결:
- Counterbalancing: 처치 순서를 무작위 또는 균형 배정.
- Latin Square: 모든 처치 × 모든 위치 조합 균등.
- Washout period: 처치 간 충분한 시간 간격 (약리학).
- Order as covariate: 순서 정보를 모형에 명시.
자세한 내용은 G-MAX11-3, G-MAX11-4.
8 사전·사후 비교의 단순 사례
가장 단순한 within-subjects: \(a = 2\) (사전·사후). 분석은 paired t-test 와 동치.
\[ D_i = Y_{i, \text{post}} - Y_{i, \text{pre}} \] \[ t = \frac{\bar D}{s_D / \sqrt{n}} \]
ANOVA 는 일반화 형태. 자유도 1 의 처치 효과 검정.
자유도 1 효과는 sphericity 자동 만족 (차이 점수 1 종류). ε 조정 불필요.
9 가설 데이터 — 학습 시간 효과
9.1 데이터
15 명 학생, 학습 시간 4 수준 (1, 2, 3, 4 시간), 같은 학생이 모든 시간 시험.
가상 평균 응답:
| 시간 | \(\bar Y\) |
|---|---|
| 1h | 5 |
| 2h | 8 |
| 3h | 11 |
| 4h | 13 |
9.2 Within ANOVA
| Source | \(SS\) | \(df\) | \(MS\) | \(F\) |
|---|---|---|---|---|
| 시간 | 720 | 3 | 240 | \(240/8 = 30\) |
| Subject | 480 | 14 | 34 | — |
| \(T \times S\) | 336 | 42 | 8 | — |
| Total | 1536 | 59 | — | — |
\(F(3, 42) = 30\), 매우 유의.
9.3 Between 과 비교 (가상)
같은 데이터를 between 으로 분석 (다른 60 학생, 각 시간에 15 명):
| Source | \(SS\) | \(df\) | \(MS\) | \(F\) |
|---|---|---|---|---|
| 시간 | 720 | 3 | 240 | \(240/14 = 17.1\) |
| Within | 784 | 56 | 14 | — |
\(F\) 가 30 → 17 로 감소. within 의 검정력 약 2 배.
이는 \(\rho \approx 0.5\) 의 within-subject 상관 이득.
10 Python 코드 — Within-Subjects 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 = 15
times = [1, 2, 3, 4]
true_means = {1: 5, 2: 8, 3: 11, 4: 13}
records = []
for subj in range(n):
pi = np.random.normal(0, 4) # 큰 개인 간 분산
for t in times:
y = true_means[t] + pi + np.random.normal(0, 2)
records.append({"subject": subj, "time": t, "Y": y})
data = pd.DataFrame(records)
# Within-subjects ANOVA
aovrm = AnovaRM(data, "Y", "subject", within=["time"]).fit()
print("=== Within-Subjects ANOVA ===")
print(aovrm.anova_table)
# Mixed model (동치)
md = mixedlm("Y ~ C(time)", data=data, groups=data["subject"]).fit()
print("\n=== Mixed Model ===")
print(md.summary().tables[1])
# Difference score 분석 — paired comparisons
wide = data.pivot(index="subject", columns="time", values="Y")
print("\n=== Paired t-tests ===")
from scipy import stats
for t1, t2 in [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]:
D = wide[t2] - wide[t1]
t_stat, p_val = stats.ttest_1samp(D, 0)
print(f" {t2}h - {t1}h: D̄ = {D.mean():.2f}, t = {t_stat:.2f}, p = {p_val:.4f}")11 Mixed Model 으로의 자연스러운 확장
Within-subjects ANOVA 의 mixed model 형태:
\[ Y_{ij} = \mu + \alpha_j + \pi_i + \varepsilon_{ij} \]
이는 random intercept model: - \(\pi_i\) = subject random intercept. - \(\sigma^2_\pi\) = between-subject variance. - \(\sigma^2\) = within-subject residual.
R lmer(Y ~ time + (1 | subject)), Python mixedlm("Y ~ time", groups="subject").
장점: - 결측 처리. - 비균등 데이터. - 공분산 구조 유연 (CS, AR(1), UN).
단점: - 추정 수렴 가능성. - 결과 해석 복잡.
자세한 내용은 G-MAX15.
12 효과 크기
12.1 Cohen’s \(d\) (within)
\[ d = \frac{\bar D}{s_D} \]
paired t-test 의 표준화 효과.
12.2 Generalized \(\eta^2\)
within ANOVA 의 효과 크기 (Olejnik & Algina, 2003):
\[ \eta^2_G = \frac{SS_{\text{effect}}}{SS_{\text{effect}} + SS_{\text{subject}} + SS_E} \]
within-subject 상관을 고려한 표준화. \(\eta^2_G\) 는 between-subjects 와 비교 가능.
12.3 Cohen’s \(f\)
검정력 분석에 사용 (G-MAX11-4):
\[ f = \sqrt{\frac{\eta^2_G}{1 - \eta^2_G}} \]
13 가정과 한계
- 구형성: 위반 흔함. ε 조정 권장.
- 순서 효과: 무작위화 또는 Latin Square.
- 결측 데이터: 한 시점이라도 결측이면 그 피험자 전체 제거 (listwise deletion) 또는 multilevel model 로 처리.
- 처치 간 충분한 washout: crossover 의 경우 carryover 방지.
- Random effect 의 정규성: \(\pi_i \sim N(0, \sigma^2_\pi)\).
14 ML 매핑
ML 의 cross-validation:
Fold (subject 역할): k-fold 의 각 fold.
Treatment: 다른 모델 또는 hyperparameter.
같은 fold 의 같은 데이터에 다른 모델을 평가 → within-subjects.
paired t-test (cv 결과의 차이) 가 표준 — between 보다 검정력 ↑.
이는 ML 의 모델 비교가 within-subjects 형태인 이유.
추가: cross-validation 의 fold 간 상관 (correlated samples) 이 sphericity 위반 가능 → ε 조정 권장.
15 본 시리즈
G-MAX11-0 Within-Subjects Univariate 개관 (현재 글)
G-MAX11-1 Three Within-Subjects Situations + Difference Scores
G-MAX11-2 Mixed Model ANOVA + Sphericity
G-MAX11-3 GG/HF Adjustments + Order Effects
G-MAX11-4 Latin Square Counterbalancing + Power
↓
G-MAX12 (Higher-Order Within), G-MAX13 (Multivariate)
16 관련 주제
선행 지식
후속 주제
- G-MAX11-1: Three Within-Subjects Situations
- G-MAX11-2: Sphericity
- G-MAX13: Multivariate Within
- G-MAX15 — Multilevel Models (통합)
다른 카테고리 연결
17 더 읽을 거리
- 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.
- Olejnik, S., Algina, J. (2003). “Generalized eta and omega squared statistics: Measures of effect size for some common research designs.” Psychological Methods 8(4): 434-447.
- Field, A. (2017). “Discovering Statistics Using IBM SPSS Statistics” (5th ed). SAGE — within-subjects 의 실용 reference.