1 비대칭 Factorial
요인마다 다른 levels 수: \(s_1 \times s_2 \times \ldots \times s_k\).
예: \(2 \times 3\), \(2 \times 3 \times 4\), \(2^2 \times 3\).
각 요인의 자유도: \(s_i - 1\). 상호작용 자유도: \(\prod (s_i - 1)\).
2 \(2 \times 3\) 예시
6 셀. 효과: - \(A\) (2 levels): 자유도 1. - \(B\) (3 levels): 자유도 2. - \(A \times B\): 자유도 \(1 \times 2 = 2\).
ANOVA 표 (등표본):
| Source | \(df\) |
|---|---|
| \(A\) | 1 |
| \(B\) | 2 |
| \(A \times B\) | 2 |
| Error | \(6n - 6\) |
| Total | \(6n - 1\) |
표준 factorial ANOVA 와 같음. 다른 점: \(B\) 의 자유도 2 → 직교 다항식 (linear, quadratic) 또는 명목 contrast 분해 가능.
요인 levels 수가 자연스럽게 다른 경우: - 온도: 2 수준 (저/고). - 시간: 4 수준 (5, 10, 20, 40 분). - 농도: 3 수준 (저/중/고).
이를 강제 균등 (\(3^3\) 또는 \(4^3\)) 으로 맞추는 것은 부자연스럽고 자원 낭비.
비대칭 factorial 이 실무 표준.
3 Confounded Asymmetrical
비대칭 factorial 의 일부 효과를 block 과 confound. 셀 수가 한 block 에 안 들어갈 때.
3.1 \(2 \times 3\) 의 6 셀 분할
3 block × 2 cells 또는 2 block × 3 cells 가능. 효과 \(A\) (2 수준) 또는 \(B\) 의 일부 contrast 와 confound.
예: 2 block × 3 cells
Block 1: (A=0, B=0), (A=0, B=1), (A=0, B=2)
Block 2: (A=1, B=0), (A=1, B=1), (A=1, B=2)
이 경우 \(A\) main 이 block 과 완전 confound. \(B\) 와 \(A \times B\) 추정 가능.
이는 \(A\) 가 between-block, \(B\) 가 within-block 의 split-plot (G-MON4-4) 에 해당.
3.2 더 좋은 분할 — Group Theory 활용
각 block 에 \(A\) 의 두 수준 모두 나오도록 \(B\) 의 contrast 와 partial confound:
Block 1: (A=0, B=0), (A=1, B=1), (A=0, B=2)
Block 2: (A=0, B=1), (A=1, B=2), (A=1, B=0)
이는 Latin Square 의 일반화.
대칭 \(s^k\) 는 GF(s) 의 대수적 구조 덕에 직교 분할이 자연스러움. 비대칭 (\(2 \times 3\)) 은 GF(2) 와 GF(3) 의 결합 — 2 와 3 이 coprime 이라 직교 분할이 가능하지만 구성이 복잡.
산업 실험에서 이런 비대칭 설계는 요인의 자연스러운 levels 가 다를 때 (온도 2 수준, 용량 4 수준) 사용. 대수적 구성을 손계산하기보다는 통계 패키지로 자동.
4 \(v \times 2^2\) Design
\(v\) 개 levels 의 요인 + 두 개 2 수준 요인. 흔한 산업 사례.
셀 수 \(4v\). 분석은 표준 factorial ANOVA + interaction 분해.
4.1 자유도 분해
| Source | \(df\) |
|---|---|
| \(A\) (\(v\) levels) | \(v-1\) |
| \(B\) (2) | 1 |
| \(C\) (2) | 1 |
| \(A \times B\) | \(v-1\) |
| \(A \times C\) | \(v-1\) |
| \(B \times C\) | 1 |
| \(A \times B \times C\) | \(v-1\) |
총 \(4v - 1\).
5 가설 데이터 — \(v = 4\) (4 비료) × 2 온도 × 2 농도
각 셀 \(n = 5\), 총 \(N = 80\).
5.1 ANOVA (가상)
| Source | \(SS\) | \(df\) | \(MS\) | \(F\) | \(p\) |
|---|---|---|---|---|---|
| 비료 (\(A\)) | 600 | 3 | 200 | 80.0 | \(<0.001\) |
| 온도 (\(B\)) | 250 | 1 | 250 | 100.0 | \(<0.001\) |
| 농도 (\(C\)) | 100 | 1 | 100 | 40.0 | \(<0.001\) |
| 비료 × 온도 | 50 | 3 | 17 | 6.7 | \(<0.001\) |
| 비료 × 농도 | 30 | 3 | 10 | 4.0 | 0.012 |
| 온도 × 농도 | 5 | 1 | 5 | 2.0 | 0.16 |
| 비료 × 온도 × 농도 | 15 | 3 | 5 | 2.0 | 0.12 |
| Error | 160 | 64 | 2.5 | — | — |
해석: - 모든 주효과 매우 유의. - 비료 × 온도, 비료 × 농도 약간의 상호작용. - 온도 × 농도, 삼원 비유의.
→ 비료의 효과가 온도/농도에 따라 약간 다름.
6 Python 코드
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols
np.random.seed(2026)
n = 5
A_levels = ["F1", "F2", "F3", "F4"] # 비료 4 종
B_levels = [0, 1] # 온도 (low, high)
C_levels = [0, 1] # 농도
# 진짜 효과
A_eff = {"F1": 0, "F2": 5, "F3": 10, "F4": 8}
B_eff = {0: 0, 1: 5}
C_eff = {0: 0, 1: 3}
records = []
for a in A_levels:
for b in B_levels:
for c in C_levels:
mu = (50 + A_eff[a] + B_eff[b] + C_eff[c]
+ 0.5 * A_eff[a] * b) # interaction
for _ in range(n):
records.append({"A": a, "B": b, "C": c, "Y": np.random.normal(mu, 2)})
data = pd.DataFrame(records)
model = ols("Y ~ C(A) * C(B) * C(C)", data=data).fit()
anova = sm.stats.anova_lm(model, typ=2)
print("=== 4 × 2 × 2 ANOVA ===")
print(anova.round(3))7 비대칭 Confounded 의 응용
7.1 사례 — 화학 실험
\(2 \times 3 \times 4\) 화학 공정. 24 cells. 한 batch 에 12 cells 만 가능.
해결: 12 cells × 2 batch.
각 batch 에 \(A\) (2 수준), \(B\) (3 수준), \(C\) (2 수준 from 4) 의 부분 cells.
defining contrast 로 일부 효과 (보통 \(A \times B \times C\) 의 partial) 를 batch 와 confound.
세부 구성은 Das-Giri 절차 (G-MON4-2).
8 가정과 한계
- 셀 균등: 비균등 시 Type II/III SS.
- 명목 vs 양적 요인: 양적이면 직교 다항식 분해.
- Confounding 의 명시: 어느 효과가 block 과 confound 되었는지 자각.
- 균형 분할: 모든 처치가 모든 block 에 등장.
9 응용
| 분야 | \(A\) (적은 수준) | \(B\) (많은 수준) |
|---|---|---|
| 화학 | 압력 (저/고) | 온도 (5 수준) |
| 농학 | 관개 (있음/없음) | 비료 농도 (4 수준) |
| 약리 | 약 종류 (3 가지) | dose (5 수준) |
| 식품 | 가공 방법 (2) | 시간 (4) |
| ML | optimizer (2) | learning rate (5) |
10 ML 매핑
ML 의 자연스러운 비대칭:
A = optimizer (Adam, SGD, RMSprop): 3 수준.
B = learning rate (1e-4, 1e-3, 1e-2): 3 수준.
C = batch size (32, 128): 2 수준.
D = dropout (0, 0.5): 2 수준.
\(3 \times 3 \times 2 \times 2 = 36\) runs. 비대칭 factorial.
R FrF2 또는 Python pyDOE2 가 비대칭도 처리. 직교성 점검 필요.
11 본 시리즈
G-MON4-0 개관
G-MON4-1 Asymmetrical + Confounded ← 현재 글
G-MON4-2 Construction Balanced Confounded
G-MON4-3 v×2² Analysis
G-MON4-4 Split-Plot Analysis
12 관련 주제
선행 지식
후속 주제
13 더 읽을 거리
- Das, M. N., Giri, N. C. (1986). “Design and Analysis of Experiments” (2nd ed). Wiley Eastern.
- Cochran, W. G., Cox, G. M. (1957). “Experimental Designs” (2nd ed). Wiley.
- Box, G. E. P., Hunter, W. G., Hunter, J. S. (2005). “Statistics for Experimenters.”
- Montgomery, D. C. (2017). “Design and Analysis of Experiments” (9th ed). Wiley.