RBD 와 라틴 방격 — 블록 변수의 명시적 통제

Montgomery Ch.2.2-2.3 RBD · Latin Square

Randomized Block Design (RBD) 의 모형, 블록의 의미와 자유도, Latin Square 의 이중 블록 통제 절차와 ANOVA 분해, 검정력 비교 (CRD vs RBD), Latin Square 의 처치 수 제약과 응용 사례를 통합 정리한다.

Experimentation
DOE
저자

Kwangmin Kim

공개

2026년 05월 08일

1 RBD (Randomized Block Design)

정의: RBD

\(b\) 개 블록, \(a\) 처치. 각 블록에 모든 \(a\) 처치가 정확히 한 번 등장 (무작위 순서로 배정). \(N = a \times b\).

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

  • \(\tau_j\): 처치 효과.
  • \(\beta_i\): 블록 효과 (보통 fixed, 때로 random).
  • \(\varepsilon \sim N(0, \sigma^2)\) iid.

2 ANOVA 분해

Source \(SS\) \(df\) \(MS\) \(F\)
Treatment \(b \sum_j (\bar Y_{\cdot j} - \bar Y)^2\) \(a-1\) \(SS_T / (a-1)\) \(MS_T / MS_E\)
Block \(a \sum_i (\bar Y_{i \cdot} - \bar Y)^2\) \(b-1\) \(SS_B / (b-1)\) \(MS_B / MS_E\)
Error \(SS_{\text{total}} - SS_T - SS_B\) \((a-1)(b-1)\) \(SS_E / df_E\)
Total \(\sum (Y_{ij} - \bar Y)^2\) \(ab - 1\)

핵심: 블록 분산이 잔차에서 차감되어 \(MS_E\) 가 작아짐 → 처치 검정력 ↑.

3 블록의 의미

블록은 homogeneous 그룹: 그 안의 단위들이 비슷한 외생 변동을 가진다.

  • 농학: 인접 plot (토양 비옥도 비슷).
  • 임상: 같은 환자 (within-subject 의 변종).
  • 산업: 같은 batch.
  • 교육: 같은 학교.
  • IT: 같은 시간대 (트래픽 패턴 비슷).

블록의 분산이 클수록 RBD 의 이득 ↑.

직관: RBD 의 효율 ratio

블록 효과의 크기로 RBD 효율 측정:

\[ \text{efficiency ratio} = \frac{MS_E^{\text{CRD}}}{MS_E^{\text{RBD}}} \]

ratio = 1: 블록 효과 없음 (RBD 와 CRD 동일). ratio = 2: RBD 의 분산 절반 (검정력 약 1.4 배). ratio = 5: RBD 의 분산 1/5 (검정력 매우 ↑).

\(F_B\) 가 유의하면 (블록 효과 큼) RBD 가 CRD 보다 정밀.

4 RBD 의 무작위 배정

각 블록 내에서 처치 순서 무작위:

Block 1: A → C → B → D (random permutation)
Block 2: B → A → D → C
Block 3: D → B → A → C
...

각 블록 내 무작위 배정으로 처치 × 시점 효과 분리.

5 Latin Square

정의: Latin Square (LS)

\(a \times a\) 격자, 행과 열이 두 블록 변수. 각 처치 (\(a\) 개) 가 각 행·각 열에 정확히 1 번씩.

       열1  열2  열3  열4
행1:   A    B    C    D
행2:   B    C    D    A
행3:   C    D    A    B
행4:   D    A    B    C

\(N = a^2\) 관측.

6 LS 모형과 ANOVA

\[ Y_{ijk} = \mu + \tau_l + \beta_i + \gamma_j + \varepsilon_{ijk} \]

  • \(\beta_i\): 행 (블록).
  • \(\gamma_j\): 열 (블록).
  • \(\tau_l\): 처치 (행 \(i\), 열 \(j\) 의 결합으로 결정).

ANOVA:

Source \(df\)
Treatment \(a-1\)
Row block \(a-1\)
Column block \(a-1\)
Error \((a-1)(a-2)\)
Total \(a^2 - 1\)

7 RBD vs LS 의 자유도 trade-off

\(a = 4\) 처치: - RBD with 4 blocks: error \(df = (4-1)(4-1) = 9\) - LS 4×4: error \(df = (4-1)(4-2) = 6\)

LS 가 자유도 ↓ 이지만 두 차원 통제 → 잔차 \(\sigma^2\) 더 작을 수 있음. 큰 처치 수에 적합하지 않음 (\(a\) 처치 = \(a\) 행 = \(a\) 열 제약).

직관: LS 의 적합 상황

LS 가 RBD 보다 좋은 경우: 1. 두 외생 변동 차원 이 모두 큼 (예: 농학 — 토양 + 일조). 2. 처치 수 작음 (\(a \le 5\)). 3. 표본 자원\(a^2\) 만 가능.

LS 가 부적합한 경우: 1. 한 차원만 변동 → RBD. 2. 처치 수 큰 → BIB (G-MON5). 3. 잔차 자유도 부족 → replicated LS 또는 다른 설계.

8 가설 데이터 — RBD

4 비료 (A, B, C, D) × 5 농장 (블록).

ANOVA:

Source \(SS\) \(df\) \(MS\) \(F\)
Treatment 240 3 80 \(80/8 = 10.0\)
Block 320 4 80 \(80/8 = 10.0\)
Error 96 12 8

처치 + 블록 모두 매우 유의. 블록을 무시한 CRD 면 \(MS_E = (96 + 320) / 16 = 26\), \(F = 80/26 = 3.1\). RBD 의 검정력 ↑.

8.1 효율 ratio

\[ \text{efficiency} = \frac{26}{8} = 3.25 \]

RBD 가 CRD 의 3.25 배 정보 효율.

9 가설 데이터 — Latin Square

\(4 \times 4\) LS, 같은 4 비료. 각 농장의 4 plot 에 4 비료, 농장 4 곳.

Source \(SS\) \(df\) \(MS\) \(F\)
Treatment 240 3 80 \(80/5 = 16.0\)
Row (Farm) 320 3 107
Column (Sub-plot position) 60 3 20
Error 30 6 5

(추가로 sub-plot position 효과 (열 블록) 통제.)

\(F = 16.0\), RBD 보다 더 정밀. 단 자유도 6 으로 작음.

10 Python 코드

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

np.random.seed(2026)
a = 4
b = 5
treatments = ["A", "B", "C", "D"]
treat_eff = {"A": 5, "B": 8, "C": 3, "D": 7}

records = []
for blk in range(b):
    block_eff = np.random.normal(0, 5)
    for t in treatments:
        y = 30 + treat_eff[t] + block_eff + np.random.normal(0, 2)
        records.append({"treatment": t, "block": blk, "Y": y})
data = pd.DataFrame(records)

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

# Compare to CRD (블록 무시)
model_crd = ols("Y ~ C(treatment)", data=data).fit()
anova_crd = sm.stats.anova_lm(model_crd, typ=2)
print("\n=== Same data analyzed as CRD (블록 무시) ===")
print(anova_crd.round(3))

print(f"\nRBD F = {anova.loc['C(treatment)', 'F']:.2f}")
print(f"CRD F = {anova_crd.loc['C(treatment)', 'F']:.2f}")
print(f"Efficiency ratio = {anova_crd.loc['Residual', 'mean_sq'] / anova.loc['Residual', 'mean_sq']:.2f}")

# Latin Square 분석
print("\n=== Latin Square 분석 (가상) ===")
ls_pattern = [
    ["A", "B", "C", "D"],
    ["B", "C", "D", "A"],
    ["C", "D", "A", "B"],
    ["D", "A", "B", "C"],
]
ls_records = []
for r_idx, row in enumerate(ls_pattern):
    row_eff = np.random.normal(0, 4)
    for c_idx, treat in enumerate(row):
        col_eff = np.random.normal(0, 2)
        y = 30 + treat_eff[treat] + row_eff + col_eff + np.random.normal(0, 1)
        ls_records.append({"treatment": treat, "row": r_idx, "col": c_idx, "Y": y})

ls_data = pd.DataFrame(ls_records)
ls_model = ols("Y ~ C(treatment) + C(row) + C(col)", data=ls_data).fit()
print(sm.stats.anova_lm(ls_model, typ=2).round(3))

11 Replicated Latin Square

\(a\) LS 의 자유도 부족 시 replicate:

\(r\) 개 LS 를 합쳐:

Source \(df\)
Treatment \(a-1\)
Row \(a-1\) (LS 별로)
Column \(a-1\) (LS 별로)
Replicate \(r-1\)
Error \((r-1)(a^2 - 3a + 1)\) + 추가

자유도 ↑ 검정력 ↑.

12 가정과 한계

  • 블록 × 처치 상호작용 없음: 블록의 효과가 모든 처치에 같다.
  • 각 블록에 모든 처치 등장: 결측 시 G-MON2-3 의 보정.
  • LS 의 처치 수 제약: \(a\) 처치 = \(a\) 행 = \(a\) 열.
  • 블록 random 가능: 블록이 random sample 이면 mixed model.

13 응용

분야 RBD Latin Square
농학 농장 × 비료 농장 × plot 위치 × 비료
임상 환자 × 약 crossover (시점 × 환자 × 약)
산업 batch × 공정 batch × machine × 공정
교육 학교 × 교수법 학교 × 학기 × 교수법

14 ML 매핑

매핑: ML 의 cross-validation = RBD

ML cross-validation: - Fold (block 역할): k-fold. - Treatment: 모델 또는 hyperparameter.

각 fold 의 같은 데이터에 다른 모델 평가 → RBD.

ols("accuracy ~ C(model) + C(fold)", data).fit()

블록 (fold) 효과가 잔차에서 차감되어 검정력 ↑.

paired t-test (모델 차이) 의 ANOVA 일반화.

15 본 시리즈

G-MON2-0  Complete Block 개관
G-MON2-1  CRD
G-MON2-2  RBD + Latin Square  ← 현재 글
G-MON2-3  Missing + Illustration
    ↓
G-MON5 (Incomplete Block)
G-MON6 (Orthogonal Latin Squares)

16 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

17 더 읽을 거리

  • Fisher, R. A. (1925). “Statistical Methods for Research Workers.” Oliver and Boyd.
  • Cochran, W. G., Cox, G. M. (1957). “Experimental Designs” (2nd ed). Wiley.
  • Yates, F. (1933). “Analysis of replicated experiments when the field results are incomplete.” Empire Journal of Experimental Agriculture 1(2): 129-142 — RBD 의 결측 처리.
  • Montgomery, D. C. (2017). “Design and Analysis of Experiments” (9th ed). Wiley.

Subscribe

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