3 원 상호작용과 하향식 분석 전략 — 패턴이 패널마다 달라질 때

Maxwell Ch.8.2 Three-Way Interaction · Top-Down Strategy

삼원 상호작용 \(A \times B \times C\) 의 의미와 시각화 (이원 상호작용 plot 의 panel 분리), 하향식 (top-down) 분석 전략 (가장 고차부터 검정 → 적절한 단계에서 분해 정지) 을 정리한다. 삼원 상호작용 검출의 검정력 한계와 사전 가설 설계의 중요성도 다룬다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의

정의: 삼원 상호작용 \(A \times B \times C\)

이원 상호작용 \(A \times B\) 의 패턴이 제3 요인 \(C\) 의 levels 에 따라 달라지는 정도이다. 대비 형태로:

\[ \hat\psi_{ABC} = \sum_{jkl} c_j^A \cdot c_k^B \cdot c_l^C \cdot \bar Y_{jkl} \]

대칭적으로 \(A \times C\) 의 패턴이 \(B\) levels 에 따라, 또는 \(B \times C\) 의 패턴이 \(A\) levels 에 따라 달라지는 정도와 동일하다 (모두 같은 자유도 1 효과를 다른 각도로 본다).

2 의미 — 이원 상호작용의 효과 수정

\(A \times B\) 상호작용을 “한 요인의 효과가 다른 요인 levels 에 따라 달라짐” 이라 했다면, \(A \times B \times C\)그 달라짐의 정도가 제3 요인 levels 에 따라 또 달라짐 이다.

직관: 인과추론과의 연결

인과추론에서 effect modification 은 ATE 가 covariate \(X\) 의 levels 에 따라 다르다는 것 (CATE). 삼원 상호작용은 그 effect modification 의 정도가 또 다른 covariate \(Z\) 에 따라 다르다 — 즉 conditional effect modification.

이것이 개인화의 깊이 를 표현한다. “약 A 가 효과적이다” 가 평균. “환자 X 에서 효과가 더 크다” 가 이원 상호작용. “환자 X 에서 효과 차이가 연령군 Z 에 따라 또 다르다” 가 삼원 상호작용. ML 의 deep learning 이 잡고자 하는 비선형 상호작용의 정수가 이 구조의 일반화이다.

3 시각화 — Panel Plot

삼원 상호작용을 보는 표준 방법은 panel plot (small multiples) 이다.

       C = 비보상                    C = 보상
Y │        *(B=검색)              Y │              *(B=검색)
  │       /                          │            //
  │      *(B=반복)                    │           //
  │     /                            │          /*(B=반복)
  │    *                             │         /
  │   /                              │        /
  │  *                               │       *
  └─────────────                     └─────────────
   1h    2h                           1h    2h
       (Time A)                            (Time A)

panel 사이의 상호작용 패턴이 다르면 삼원 상호작용이 존재한다.

  • C=비보상 panel: B (검색 vs 반복) 의 효과가 시간 A 에 따라 약간 증가 → \(A \times B\) 작은 양의 상호작용
  • C=보상 panel: B 의 효과가 시간 A 에 따라 크게 증가 → \(A \times B\) 큰 양의 상호작용
  • 두 panel 의 차이 = 삼원 상호작용

4 가설 데이터로 검증

G-MAX8-1 의 가상 데이터 (셀 평균):

\(C=0\) (비보상) \(C=1\) (보상)
\(B=0\) 반복 \(B=1\) 검색 \(B=0\) 반복 \(B=1\) 검색
\(A=0\) (1h) 5.0 6.0 6.5 7.0
\(A=1\) (2h) 7.0 9.5 8.5 12.0

4.1 \(A \times B\) at \(C=0\)

\[ \hat\psi^{(C=0)}_{AB} = (Y_{000} + Y_{110}) - (Y_{010} + Y_{100}) = (5.0 + 9.5) - (6.0 + 7.0) = 1.5 \]

4.2 \(A \times B\) at \(C=1\)

\[ \hat\psi^{(C=1)}_{AB} = (Y_{001} + Y_{111}) - (Y_{011} + Y_{101}) = (6.5 + 12.0) - (7.0 + 8.5) = 3.0 \]

4.3 삼원 상호작용

\[ \hat\psi_{ABC} = \hat\psi^{(C=1)}_{AB} - \hat\psi^{(C=0)}_{AB} = 3.0 - 1.5 = 1.5 \]

(부호 표 적용 시 \(\pm\) 부호 차이는 정의 단위. 동치.)

\[ SS_{ABC} = \frac{8 \times 1.5^2}{8} = 2.25 \]

(이 가상 데이터에서는 삼원 상호작용이 작아 비유의일 가능성. 실무 데이터에서 큰 신호를 잡으려면 더 큰 효과 크기 또는 표본이 필요.)

5 하향식 (Top-Down) 분석 전략

5.1 절차

Step 1: ANOVA omnibus F (전체 그룹 차이)
    ↓
Step 2: 삼원 상호작용 ABC 검정
    ├── 유의 → simple interaction effect (G-MAX8-3)
    │           panel 별 이원 factorial 분석
    │           → 결론: "패턴 A×B 가 C levels 에 따라 다르다"
    │
    └── 비유의 → Step 3
        ↓
Step 3: 이원 상호작용 AB, AC, BC 검정
    ├── 일부 유의 → simple effect (G-MAX7-2)
    │              해당 이원 상호작용의 follow-up
    │
    └── 모두 비유의 → Step 4
        ↓
Step 4: 주효과 A, B, C 검정
    ├── 일부 유의 → marginal mean 비교 + 사후 검정
    │
    └── 모두 비유의 → 효과 없음

5.2 왜 top-down 인가

고차 효과가 유의하면 저차 효과의 marginal 해석이 오도될 수 있다. 예: \(A \times B \times C\) 가 유의하면 \(A \times B\) 의 marginal 패턴은 \(C\) levels 의 평균이라 의미가 흐려진다. 가장 고차부터 점검해 적절한 분석 단계에서 멈추는 것이 해석적 합리성을 유지한다.

함정: 비유의를 “효과 없음” 으로 단정하지 말 것

삼원 상호작용은 자유도 1 의 작은 효과이고 검정력이 약하다. 표본이 작은 (예: \(n=5\), \(N=40\)) 실험에서 비유의는 “효과가 없다” 가 아니라 “효과를 검출할 검정력이 부족하다” 일 수 있다. 신뢰구간 또는 효과 크기 (partial \(\eta^2\)) 를 함께 보고하고, 사전 검정력이 충분했는지 점검한다.

6 사전 가설 설계의 중요성

삼원 상호작용을 탐색적으로 잡는 것은 매우 어렵다. 표본 크기가 큰 디지털 실험에서도 삼원 상호작용은 검출되기 어려운 경우가 많다. 효과적 전략은 사전 가설 을 명시:

  1. 도메인 지식 기반: “환자 연령 × 약 종류 × 용량” 에서 노인층은 약 A 가 더 효과적, 젊은층은 약 B 가 더 효과적이라는 사전 가설.
  2. 1 자유도 사전 대비: \(\hat\psi_{ABC}\) 의 의미를 사전에 정해 그것 한 가지만 검정 → FWER 보정 부담 ↓, 검정력 ↑.
  3. Pilot 데이터: 사전 연구의 효과 크기 추정으로 검정력 분석.

탐색이 필요하면: - Bonferroni 보정 (\(\alpha / 7\) 효과) - FDR 통제 (Benjamini-Hochberg)

7 선택적 절차: Forward 또는 Backward

전략 시작점 진행
Top-down (backward) Full model (모든 효과 포함) 비유의 효과 제거
Bottom-up (forward) 주효과만 유의 효과 추가
Hierarchical 같은 차수 효과를 한꺼번에 차수별로 검정

학계 표준은 top-down. 단, 사전 가설이 강력하면 hypothesis-driven hierarchical 도 정당.

8 4 원 이상의 일반화

\(2^k\) factorial 의 효과 수는 \(2^k - 1\). 즉: - \(2^3\): 7 효과 - \(2^4\): 15 효과 - \(2^5\): 31 효과

해석의 한계로 4 원 이상의 상호작용은 거의 보고하지 않는다. 실무에서는: - Resolution III/IV/V fractional factorial (G-MON3-6) — 일부 효과만 추정 - Confounding (G-MON3-3) — 고차 상호작용을 block effect 와 동일시

이로써 표본 크기를 줄인다.

9 Python 코드

import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols
from scipy import stats

np.random.seed(2026)
cell_means = {
    (0, 0, 0): 5.0, (0, 0, 1): 6.5, (0, 1, 0): 6.0, (0, 1, 1): 7.0,
    (1, 0, 0): 7.0, (1, 0, 1): 8.5, (1, 1, 0): 9.5, (1, 1, 1): 12.0,
}
sigma = np.sqrt(1.5)
n = 8
records = []
for (a, b, c), mu in cell_means.items():
    for v in np.random.normal(mu, sigma, n):
        records.append({"A": a, "B": b, "C": c, "Y": v})
data = pd.DataFrame(records)

# Top-down 절차
model = ols("Y ~ C(A, Sum) * C(B, Sum) * C(C, Sum)", data=data).fit()
anova = sm.stats.anova_lm(model, typ=2)

print("=== Step 2: ABC 삼원 상호작용 ===")
abc_row = anova.loc["C(A, Sum):C(B, Sum):C(C, Sum)"]
print(f"  F = {abc_row['F']:.3f}, p = {abc_row['PR(>F)']:.4f}")
if abc_row["PR(>F)"] < 0.05:
    print("  → 유의. simple interaction effect 분석으로 진행 (G-MAX8-3)")
else:
    print("  → 비유의. 이원 상호작용 검정으로 진행")
    print("\n=== Step 3: 이원 상호작용 ===")
    for src in ["C(A, Sum):C(B, Sum)", "C(A, Sum):C(C, Sum)", "C(B, Sum):C(C, Sum)"]:
        r = anova.loc[src]
        print(f"  {src}: F = {r['F']:.2f}, p = {r['PR(>F)']:.4f}")

# Panel plot 시각화
import matplotlib.pyplot as plt
fig, axes = plt.subplots(1, 2, figsize=(10, 4), sharey=True)
for c_lvl, ax in zip([0, 1], axes):
    sub = data[data["C"] == c_lvl]
    means = sub.groupby(["A", "B"])["Y"].mean().unstack()
    for b_lvl, marker in zip([0, 1], ["o", "s"]):
        ax.plot([0, 1], means[b_lvl], marker=marker,
                label=f"B={b_lvl} ({'반복' if b_lvl==0 else '검색'})")
    ax.set_title(f"C={c_lvl} ({'비보상' if c_lvl==0 else '보상'})")
    ax.set_xlabel("A (학습 시간)")
    ax.set_xticks([0, 1])
    ax.set_xticklabels(["1h", "2h"])
    ax.legend()
axes[0].set_ylabel("Y (회상 점수)")
plt.tight_layout()
# plt.savefig("three_way_panel.png")

10 가정과 한계

  • 검정력 부족 위험: 자유도 1 의 삼원 상호작용은 작은 효과 크기에 검정력 약. 사전 검정력 분석 권장.
  • 사전 가설의 정당화: 탐색적 검출은 가짜 양성 위험. Bonferroni 또는 FDR 보정.
  • 시각화 의존: panel plot 은 직관적이지만 panel 수가 많아지면 (4 원 이상) 효과 없음.
  • simple interaction 분석의 분모: pooled \(MS_W\) 사용 시 등분산 가정 (G-MAX8-3).

11 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

Subscribe

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