ε 조정과 순서 효과 — Greenhouse-Geisser, Huynh-Feldt, carryover

Maxwell Ch.11.3 GG/HF Adjustments · Order Effects

구형성 가정 위반 시 자유도를 축소하는 Greenhouse-Geisser (GG), Huynh-Feldt (HF) 조정의 공식·차이·선택 기준, carryover · practice · fatigue 같은 순서 효과의 통계적 통제 방법, Order × Treatment interaction 검정으로 carryover 진단을 정리한다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 ε 조정 — 자유도 축소의 메커니즘

정의: Greenhouse-Geisser ε

구형성 위반 정도를 측정하는 통계량.

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

여기서 \(\hat\Sigma\) 는 추정 covariance matrix.

  • \(\hat\epsilon_{GG} = 1\): 완전 구형성.
  • \(\hat\epsilon_{GG} = 1/(a-1)\): 최대 위반.

GG 조정 후 자유도: \[ df_{\text{numerator}} = \hat\epsilon_{GG} (a-1) \] \[ df_{\text{denominator}} = \hat\epsilon_{GG} (a-1)(n-1) \]

\(F\) 값은 동일, 자유도만 작아져 critical value 가 커지고 \(p\) 값도 커진다.

1.1 GG 의 통계적 정당화

GG 는 covariance matrix 의 eigenvalue 분포에서 도출. 모든 eigenvalue 가 같으면 구형성 만족, 다르면 위반의 정도가 ε 으로 측정.

수학적: \(\hat\epsilon_{GG} = (\sum \lambda_i)^2 / [(a-1) \sum \lambda_i^2]\). eigenvalue 가 모두 같으면 \(\epsilon = 1\).

2 Huynh-Feldt ε

GG 가 보수적으로 편향됨을 보정.

\[ \hat\epsilon_{HF} = \min\left(1,\ \frac{n(a-1)\hat\epsilon_{GG} - 2}{(a-1)(n-1) - (a-1)^2 \hat\epsilon_{GG}}\right) \]

일반적으로 \(\hat\epsilon_{HF} \ge \hat\epsilon_{GG}\). HF 가 GG 보다 자유 (검정력 ↑).

3 ε 선택 규칙

조건 권장
\(\hat\epsilon_{GG} > 0.75\) HF (보수적이지 않음)
\(\hat\epsilon_{GG} \le 0.75\) GG (보수적, 안전)
일반 권장 항상 GG, 보고에 두 결과 모두

4 Lower Bound

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

5 가설 데이터의 ε 조정

G-MAX11-2 의 데이터 (\(n=12, a=4\)). Mauchly’s \(W = 0.55\) (\(p = 0.04\), 구형성 위반).

조정 \(\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\) 값이 수배 증가. 효과가 작은 데이터에서는 결론이 바뀔 수 있다.

6 순서 효과 (Order Effects)

Within-subjects 의 두 번째 주요 함정.

6.1 종류

정의: 세 가지 순서 효과
  1. Carryover: 처치 A 의 잔여 효과가 처치 B 의 측정에 영향. 예: 약 A 의 약리 작용이 끝나지 않고 약 B 측정에 섞임.

  2. Practice / Learning: 후속 시점일수록 능숙도 ↑ (학습 효과). 예: 같은 종류의 시험 반복 → 점수 ↑.

  3. Fatigue / Boredom: 후속 시점일수록 동기 ↓. 예: 긴 실험에서 후반 측정의 정확도 ↓.

  4. Sensitization: 첫 노출이 후속 노출의 반응을 바꿈. 예: 첫 광고 노출이 인지를 증가시켜 후속 광고 효과를 측정 불가능하게 함.

6.2 통계적 영향

순서 효과는 처치 효과와 혼동. 처치 A 가 항상 첫 번째이면 그 효과가 “초기 효과” 와 분리 불가능.

6.3 통제 방법

방법 설명 적용
Counterbalancing 처치 순서를 무작위로 배정 가장 일반적. 표본 크기 충분 시
Latin Square 모든 처치 × 모든 위치 조합을 균등하게 배치 \(a\) 처치, \(a\) 피험자 그룹
Williams Square 처치 쌍 인접 균등 비대칭 carryover 통제
Washout period 처치 간 충분한 시간 간격 약리학
Order as covariate 순서 정보를 모형에 명시 분석 단계
함정: counterbalancing 가 항상 답은 아님

피험자가 적으면 모든 순서 배정 조합을 다 채우지 못한다 (\(a! = 24\) 가능 순서 in \(a=4\)).

또 carryover 가 비대칭 (A→B 는 영향 큼, B→A 는 작음) 이면 단순 counterbalancing 이 부적절. 이 경우 Williams Square 또는 incomplete crossover 설계가 필요 (G-MAX11-4).

7 Latin Square 의 미리보기

\(3 \times 3\) Latin Square:

       Period 1   Period 2   Period 3
Subj 1:    A         B         C
Subj 2:    B         C         A
Subj 3:    C         A         B

각 처치가 각 시점에 한 번씩, 각 피험자에게 한 번씩 등장. 이로써 처치 효과와 시점 효과 (순서) 가 직교 분리된다. 자세한 내용은 G-MAX11-4.

8 Order × Treatment Interaction

순서 효과의 진단:

\[ Y = \mu + \alpha_{\text{treat}} + \beta_{\text{order}} + (\alpha\beta) + \pi_i + \varepsilon \]

  • \(\beta_{\text{order}}\): 시점 효과 (전체).
  • \((\alpha\beta)\): 처치 × 순서 상호작용. 이것이 carryover 를 잡는다.

\((\alpha\beta)\) 가 유의하면 carryover 의심. crossover 분석 무효.

8.1 진단 절차

Step 1: Order × Treatment ANOVA fit.
Step 2: Interaction 검정.
Step 3: 유의 → carryover 의심.
        - Williams Square 로 재설계.
        - 또는 첫 처치만 분석 (between-subjects 같이 다룸).
        - 또는 carryover term 명시 모형.
Step 4: 비유의 → counterbalancing OK.

9 가설 데이터 — Crossover Trial

9.1 데이터

\(n = 12\) 환자, \(a = 4\) 처치, counterbalanced order. 각 환자가 4 시점에서 4 처치 모두 받음.

9.2 Order × Treatment 진단

Source \(df\) \(F\) \(p\)
Treatment 3 12.0 \(<0.001\)
Order (시점) 3 0.5 0.7
Treatment × Order 9 0.8 0.6
Subject 11
Error 21

해석: - Treatment 효과 강함. - Order 효과 비유의 (carryover 나 fatigue 없음). - Interaction 비유의 (carryover 비대칭 없음).

→ counterbalancing 충분, crossover 분석 OK.

10 Python 코드

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

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

# 데이터 — 약간의 carryover 가 있음
records = []
for subj in range(n):
    pi_subj = np.random.normal(0, 8)
    # subj 마다 다른 순서로 처치 배정 (단순 counterbalancing)
    perm = np.random.permutation(treatments)
    prev = 0
    for period, treat in enumerate(perm):
        treat_eff = {"placebo": 0, "A": -8, "B": -5, "C": -10}[treat]
        carryover = 0.5 * prev  # 작은 carryover
        period_eff = -1 * period  # 약간의 fatigue
        y = 130 + pi_subj + treat_eff + carryover + period_eff + np.random.normal(0, 4)
        records.append({"subject": subj, "treatment": treat,
                       "period": period, "Y": y})
        prev = treat_eff

data = pd.DataFrame(records)

# 1) ANOVA + ε corrections (pingouin 권장)
try:
    import pingouin as pg
    aov_corrected = pg.rm_anova(data=data, dv="Y", within="treatment",
                                subject="subject", correction=True, detailed=True)
    print("=== Within-Subjects ANOVA (with GG/HF) ===")
    print(aov_corrected)
except ImportError:
    aovrm = AnovaRM(data, "Y", "subject", within=["treatment"]).fit()
    print("=== Within-Subjects ANOVA (no correction reported by default) ===")
    print(aovrm.anova_table)

# 2) Order × Treatment interaction (carryover 진단)
aovrm_order = AnovaRM(data, "Y", "subject", within=["treatment", "period"]).fit()
print("\n=== Treatment × Period (carryover 진단) ===")
print(aovrm_order.anova_table)

11 비대칭 Carryover

비대칭 carryover 의 문제

A → B 의 carryover 가 +5 이지만 B → A 의 carryover 는 -2 라면 비대칭.

단순 counterbalancing 은 이를 통제 못 함: - 일부 피험자: A 다음 B → B 의 측정값에 +5 carryover. - 다른 피험자: B 다음 A → A 의 측정값에 -2 carryover.

평균하면 일부 cancel 되지만 완전 cancel 안 됨.

해결: Williams Square — 모든 처치 쌍이 인접 위치에 같은 빈도로 등장.

11.1 Williams Square 의 효과

처치 쌍 (A, B) 의 인접 등장: - A → B: 한 번. - B → A: 한 번.

→ carryover 의 효과가 두 방향에서 cancel.

자세한 구성은 G-MAX11-4.

12 Sensitization 처리

처음 노출만 진정한 처치 효과를 측정하면 첫 측정만 사용:

n = 100 피험자.
첫 처치 (각 피험자 1 회) 만 분석 → between-subjects ANOVA (G-MAX9 의 lens).

이는 within-subjects 의 검정력 이득을 잃지만 sensitization 통제.

또는 balanced incomplete block 으로 일부 피험자가 일부 처치만 — within 의 일부 이득 보존.

13 ε 조정의 효과 크기 보고

직관: ε 조정 후의 효과 크기 보고

효과 크기는 ε 조정과 무관: - \(\eta^2 = SS_T / SS_{\text{total}}\) - Cohen’s \(f\) = \(\sqrt{\eta^2 / (1 - \eta^2)}\)

ε 조정은 자유도만 바꿈, \(SS\) 와 효과 크기는 동일.

따라서 보고: - \(F(GG \cdot df_T, GG \cdot df_E) = ..., p_{GG} = ...\). - \(\eta^2 = ..., f = ...\) (조정 무관).

14 결정 차트 — Within-Subjects 분석 종합

Within-Subjects ANOVA 시작
    ↓
효과 자유도 = 1 ($a = 2$)?
├── Yes → paired t-test, sphericity 자동 만족
└── No  → 다음 단계
    ↓
Mauchly's test
├── 비유의 → ε 조정 불필요 (또는 GG 안전)
└── 유의 → ε 조정 필수
    ↓
ε 조정 적용 (GG 또는 HF)
    ↓
Order × Treatment interaction 검정
├── 유의 → carryover 의심 — Williams Square 또는 다른 설계
└── 비유의 → 분석 OK
    ↓
효과 크기 보고 ($\eta^2$, $f$)
    ↓
사후 비교 (paired comparison + Bonferroni)

15 가정과 한계

  • ε 조정: 자유도만 축소, 효과 크기는 변하지 않음.
  • Mauchly 의 검정력 한계: 항상 ε 조정 권장.
  • Counterbalancing 가정: carryover 가 대칭. 비대칭이면 Williams Square 또는 multilevel.
  • Order as covariate: 시점이 양적이면 직접 모형에 포함.
  • Multilevel 우위: 결측·비균등에 강.

16 응용

16.1 임상 — Crossover Trial

약 A vs 약 B 의 crossover. 각 환자가 두 약 모두. washout period (약효 소멸) 필수.

분석: - ε 조정 (a=2 면 불필요). - Order × Treatment 으로 carryover 진단. - 비유의면 counterbalanced crossover 정당.

16.2 심리 — 학습 조건 비교

학습 조건 4 가지 (소리/조용/음악/잡음). 각 학생이 4 조건 모두 (다른 단어 목록).

순서 효과 위험: 학습 능숙도 ↑ (practice). counterbalancing 필수.

16.3 운동학 — 신발 비교

선수가 4 신발 시험. 피로 (fatigue) 위험 — 후반 시험 점수 ↓.

해결: 짧은 휴식, counterbalancing, 시점별 baseline 측정.

17 본 챕터의 다음 단계

G-MAX11-0  Within-Subjects 개관
G-MAX11-1  Three Situations
G-MAX11-2  Mixed Model + Sphericity
G-MAX11-3  GG/HF + Order Effects  ← 현재 글
    │
    ▼
G-MAX11-4  Latin Square + Power

18 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

19 더 읽을 거리

  • Greenhouse, S. W., Geisser, S. (1959). “On methods in the analysis of profile data.” Psychometrika 24(2): 95-112.
  • Huynh, H., Feldt, L. S. (1976). “Estimation of the Box correction for degrees of freedom from sample data in randomised block and split-plot designs.” Journal of Educational Statistics 1(1): 69-82.
  • Senn, S. (2002). “Cross-over Trials in Clinical Research” (2nd ed). Wiley — carryover 의 표준.
  • Williams, E. J. (1949). “Experimental designs balanced for the estimation of residual effects of treatments.” Australian Journal of Scientific Research 2(2): 149-168.

Subscribe

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