완전 무작위 설계 (CRD) — Randomization, Local Control, Analysis

Montgomery Ch.2.1 Completely Randomized Design

CRD 의 모형, 무작위 배정 절차, Fisher 의 3 대 원리에서 local control 의 의미, ANOVA 분석, 사후 비교 (Tukey HSD), 검정력 분석, 가정 점검 절차를 통합 정리한다. 가장 단순한 실험설계로, 정통 DOE 학습의 출발점.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 CRD 모형

정의: Completely Randomized Design

\[ Y_{ij} = \mu + \tau_j + \varepsilon_{ij}, \quad j = 1, \ldots, a; \ i = 1, \ldots, n_j \]

  • \(\tau_j\): 처치 \(j\) 의 효과.
  • \(\varepsilon \sim N(0, \sigma^2)\) iid.
  • 무작위 배정: 각 실험 단위가 무작위로 한 처치에 배정.

블록 변수 없음. 모든 분산이 잔차로 들어간다.

\(N = \sum_j n_j\) 총 표본. 균등이면 \(N = an\).

2 Fisher 의 3대 원리 (재방문)

CRD 는 Fisher 의 실험설계 3 원리의 가장 단순한 적용.

  1. Replication (반복): 처치당 여러 관측 → 잔차 분산 추정.
  2. Randomization (무작위 배정): 교란을 우연 변동으로 변환.
  3. Local Control (국소 통제): 외생 변동을 줄이는 설계 (블록, 매칭). CRD 에서는 생략 — 그래서 검정력 ↓.
직관: 국소 통제 없이는 잡음에 묻힌다

같은 농장이라도 plot 별 토양 비옥도, 일조량, 배수성이 다르다. CRD 는 이 차이를 모두 잡음으로 처리. 비옥도 차이가 처치 효과보다 크면 처치 효과가 검출 안 됨. RBD 는 비옥도 를 블록 변수로 명시 → 그 분산 차감 → 검정력 ↑.

CRD 의 적합 상황: - homogeneous 환경: 실험 단위가 균질 (예: 실험실 동물의 동일 batch). - 블록 변수 식별 어려움: 어떤 외생 변동이 영향력 있는지 모를 때. - 표본 충분: 큰 표본이 잡음을 평균화.

3 무작위 배정 절차

\(N\) 개 실험 단위, \(a\) 처치, 각 처치 \(n\) 회 반복. 절차:

  1. \(N\) 개 단위에 1, 2, …, \(N\) 번호 부여.
  2. 무작위 순열 생성.
  3. \(n\) 개에 처치 1, 다음 \(n\) 개에 처치 2, …

Python: np.random.permutation(N). R: sample(N).

3.1 무작위 배정의 통계적 정당화

직관: 왜 무작위 배정이 필수인가

가설: 처치 A 가 처치 B 보다 효과적인가?

비무작위 배정 (예: 자원자) → 처치 A 그룹이 더 건강한 사람들로 구성될 가능성. 처치 효과 vs selection bias 혼동.

무작위 배정 → 두 그룹이 평균적으로 baseline 동일. 처치 효과만 비교 가능.

이는 인과 추론의 정수 — Rubin Causal Model 의 ignorability assumption.

4 ANOVA 분해

4.1

Source \(SS\) \(df\) \(MS\) \(F\)
Treatment \(\sum_j n_j (\bar Y_{\cdot j} - \bar Y)^2\) \(a - 1\) \(SS_T / (a-1)\) \(MS_T / MS_E\)
Error \(\sum_j \sum_i (Y_{ij} - \bar Y_{\cdot j})^2\) \(N - a\) \(SS_E / (N-a)\)
Total \(\sum_j \sum_i (Y_{ij} - \bar Y)^2\) \(N - 1\)

\(F \sim F(a-1, N-a)\) under \(H_0: \tau_j = 0\).

4.2 EMS

Source EMS
Treatment \(\sigma^2 + n \theta_\tau\) (균등 시)
Error \(\sigma^2\)

\(\theta_\tau = \sum_j \tau_j^2 / (a-1)\) 가 처치 효과의 size.

5 가설 데이터 — 비료 종류 비교

3 종류 비료 (A, B, Control) 각 10 plot 무작위 배정. 수확량 측정.

처치 \(\bar Y_j\) \(s_j\) \(n_j\)
A 32 3 10
B 35 3 10
Control 28 3 10

ANOVA:

Source \(SS\) \(df\) \(MS\) \(F\) \(p\)
Treatment 245 2 122.5 \(122.5/9 = 13.6\) \(<0.0001\)
Error 243 27 9
Total 488 29

처치 효과 매우 유의. 사후 비교 (Tukey) 로 어느 처치가 다른지.

6 사후 비교 — Tukey HSD

처치 간 모든 쌍 비교. Tukey HSD:

\[ HSD = q_{\alpha, a, df_E} \cdot \sqrt{MS_E / n} \]

\(q\) 는 studentized range. 두 평균의 차이가 HSD 보다 크면 유의.

6.1 가설 데이터 적용

\(q_{0.05; 3, 27} \approx 3.51\). \(HSD = 3.51 \times \sqrt{9/10} = 3.33\).

비교 차이 HSD 초과?
A - Control \(32 - 28 = 4\) Yes (\(> 3.33\))
B - Control \(35 - 28 = 7\) Yes
B - A \(35 - 32 = 3\) No

해석: A, B 모두 Control 과 다름. A 와 B 는 다르지 않음. B 가 가장 좋아 보이지만 통계 적으로 A 와 구분 안 됨.

7 검정력 분석

CRD 의 표본 크기 산출

Cohen’s \(f\): \[ f = \sqrt{\frac{\eta^2}{1 - \eta^2}} \]

표본 크기 \(n\) (per group) 은 noncentrality: \[ \lambda = N f^2 \]

\(\alpha = 0.05\), 검정력 \(0.80\), \(a\) 그룹의 권장 \(n\):

\(f\) \(a=2\) \(a=3\) \(a=4\) \(a=5\)
0.10 (작음) 393 322 274 240
0.25 (중간) 64 52 45 39
0.40 (큼) 26 21 18 16

8 가정 점검

ANOVA 가정 4 가지:

  1. 정규성: 잔차 분포 정규.
    • Q-Q plot, Shapiro-Wilk test.
  2. 등분산성: 모든 처치 같은 \(\sigma^2\).
    • Levene test, Brown-Forsythe.
  3. 독립성: 잔차 간 독립.
    • 무작위 배정으로 자동 보장.
  4. 선형성: 모형이 데이터 적합.
    • 잔차 vs 적합값 plot.

위반 시 처리: - 정규성 위반 → 변환 (log, square root) 또는 nonparametric (Kruskal-Wallis). - 등분산성 위반 → Welch’s ANOVA 또는 변환. - 독립성 위반 → mixed model 또는 cluster-robust SE.

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)
treatments = ["A", "B", "Control"]
n = 10
true_means = {"A": 32, "B": 35, "Control": 28}

records = []
for t in treatments:
    for _ in range(n):
        records.append({"treatment": t,
                       "Y": np.random.normal(true_means[t], 3)})
data = pd.DataFrame(records)

# CRD ANOVA
model = ols("Y ~ C(treatment)", data=data).fit()
anova = sm.stats.anova_lm(model, typ=2)
print("=== CRD ANOVA ===")
print(anova.round(3))

# Tukey HSD post-hoc
from statsmodels.stats.multicomp import pairwise_tukeyhsd
tukey = pairwise_tukeyhsd(data["Y"], data["treatment"])
print("\n=== Tukey HSD ===")
print(tukey)

# 가정 점검 — Levene's test
groups = [data[data["treatment"] == t]["Y"].values for t in treatments]
W, p_levene = stats.levene(*groups)
print(f"\n=== Levene's test (등분산) ===")
print(f"W = {W:.3f}, p = {p_levene:.4f}")

# Q-Q plot (잔차 정규성)
import matplotlib.pyplot as plt
residuals = model.resid
fig, axes = plt.subplots(1, 2, figsize=(12, 4))
stats.probplot(residuals, dist="norm", plot=axes[0])
axes[0].set_title("Q-Q plot of residuals")
axes[1].scatter(model.fittedvalues, residuals)
axes[1].axhline(0, color='r', linestyle='--')
axes[1].set_xlabel("Fitted values")
axes[1].set_ylabel("Residuals")
axes[1].set_title("Residuals vs Fitted")
plt.tight_layout()

10 가정과 한계

  • 단일 처치 요인: 다중 요인은 factorial.
  • 잡음 큰 환경: 블록 통제 없으면 검정력 ↓.
  • 무작위 배정 필수: 비무작위면 인과 해석 불가.
  • 균등 vs 비균등 표본: 균등이 일반적. 비균등은 Welch 또는 Type II/III SS.

11 응용

분야 처치
농학 비료 종류
임상 약 종류 (RCT)
산업 공정 변경
교육 교수법
IT UI 변종 (between-user)

12 ML 매핑

매핑: ML 모델 비교의 CRD

ML 모델을 같은 dataset 에 평가:

Treatment: 모델 A, B, C
Replicate: 5 random seeds 또는 5 fold

Y: validation accuracy

CRD: - 각 모델에 5 random seed 결과. - \(F\)-test 로 모델 효과. - Tukey HSD 로 사후 비교.

이는 ML 모델 비교의 가장 단순한 통계 framework.

주의: cross-validation fold 가 random sample 이면 RBD 가 더 정확 (G-MON2-2).

13 본 시리즈

G-MON2-0  Complete Block 개관
G-MON2-1  CRD: Randomization, Local Control, Analysis  ← 현재 글
G-MON2-2  RBD + Latin Square
G-MON2-3  Missing + Illustration

14 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

15 더 읽을 거리

  • Fisher, R. A. (1935). “The Design of Experiments.” Oliver and Boyd — CRD 원조.
  • Cochran, W. G., Cox, G. M. (1957). “Experimental Designs” (2nd ed). Wiley.
  • Montgomery, D. C. (2017). “Design and Analysis of Experiments” (9th ed). Wiley.
  • Cohen, J. (1988). “Statistical Power Analysis for the Behavioral Sciences” (2nd ed).
  • Tukey, J. W. (1953). “The Problem of Multiple Comparisons.” Princeton — Tukey HSD.

Subscribe

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