1 개요 — 왜 “상호작용”이 문제인가
이중 GLM 에서 평균 모형과 산포 모형은 형식적으로 분리되어 있다. 평균 GLM 이 \(\beta\) 를 추정하고, 산포 GLM 이 \(\gamma\) 를 추정한다. 수식적으로는 깔끔한 모듈 구조다 (§10.2).
그러나 통계적으로 둘은 분리되지 않는다. 산포 응답 \(d_i = d_i(Y_i, \hat\mu_i)\) 는 \(\hat\mu\) 에 의존하므로, 평균 모형의 오류는 \(d_i\) 를 체계적으로 부풀리거나 패턴을 만든다. 그 결과 존재하지 않는 산포 효과가 산포 모형에 나타난다. 반대로, 분산함수 \(V(\mu)\) 의 선택이 잘못되면 산포 공변량의 추정 방향이 편향된다.
§10.3 의 핵심 메시지: 평균 모형을 과소하게 잡으면 그 잔차가 산포 모형의 허위 효과로 위장된다. 실무에서 이중 GLM 을 안전하게 쓰려면 이 교차 오염의 메커니즘을 이해하고 방어해야 한다.
2 null 대조 vs replicate 대조 — 두 종류의 산포 정보
2.1 복제가 있을 때의 기본 구조
공변량 공간에 \(n'\) 개의 구별되는 \(x\)-값이 있고, 각 점마다 복제가 있다고 하자. 각 점 \(k\) 에서 표본분산 \(s_k^2\) 을 계산할 수 있다. 이것이 replicate contrast (복제 대조) — 순수하게 “같은 조건에서 반복 측정의 변동”을 본다.
2.2 \(n' - p\) 개의 null 대조
평균 모형에 \(p\) 개 모수를 적합하면, 공변량 공간의 \(n'\) 차원 중 \(p\) 차원이 평균에 흡수되고 \(n' - p\) 개의 방향이 남는다. 이 방향들은 평균이 0 인 선형 결합 (null contrast) 으로서 평균 모형 하에서 이론적으로 분산 정보만 담고 있어야 한다.
2.3 직관: “설명되지 않은 대조 = 순수 잡음 + 산포 이질성”
평균 모형이 완벽하면 \(n' - p\) 개의 null 대조는 오직 분산 이질성 신호만 포착한다. 이 경우 replicate contrast 와 null contrast 를 결합하면 산포 모형의 자유도가 늘어나고 추정이 효율적이다.
\[ \text{총 산포 자유도} = \underbrace{n - n'}_{\text{replicate}} + \underbrace{n' - p}_{\text{null}} = n - p \]
(여기서 \(n\) 은 총 관측 수, \(n'\) 은 구별 \(x\)-값 수.) 즉 평균 모형에 맞추고 남은 모든 자유도가 산포 정보로 쓰일 수 있다.
2.4 왜 이 결합이 매력적인가
반사실 시나리오: 만약 null 대조를 못 쓰고 replicate contrast 만 쓴다면? 복제가 점당 \(r\) 개라도 자유도는 \(n' (r-1) = n - n'\). 인수 실험 (factorial design) 에서는 점당 복제가 3~4 회밖에 안 되어 산포 자유도가 매우 제한된다. null 대조를 활용하면 특히 복제가 적거나 없는 \(x\)-값이 많은 실험에서 산포 모형의 검정력이 크게 향상된다.
3 함정 — null 대조의 유효성은 평균 모형이 올바를 때만
3.1 메커니즘 1: 누락된 주효과가 이차 산포 효과로 위장
연속 공변량 \(x\) 가 평균에 기여한다고 하자:
\[ \mu_i = \beta_0 + \beta_1 x_i \]
\(\beta_1\) 이 작아 유의하지 않아 보여서 모형에서 뺐다. 즉 적합 모형은 \(\hat\mu_i = \bar y\) 상수. 그러면 잔차 제곱은:
\[ (y_i - \hat\mu_i)^2 = (y_i - \bar y)^2 \approx \{\beta_1(x_i - \bar x) + \varepsilon_i\}^2 = \beta_1^2 (x_i - \bar x)^2 + 2\beta_1 (x_i - \bar x) \varepsilon_i + \varepsilon_i^2 \]
기댓값은:
\[ E\!\left[(y_i - \hat\mu_i)^2\right] \approx \beta_1^2 (x_i - \bar x)^2 + \phi \]
\(x_i\) 양끝에서 큰 값, 중앙에서 작은 값. 이 곡선 패턴은 산포 모형이 \(\log \phi_i = \gamma_0 + \gamma_1 x_i + \gamma_2 x_i^2\) 를 쓸 때 \(\gamma_2 > 0\) 의 허위 이차 효과로 나타난다.
평균 모형에서 작은 기울기 \(\beta_1 x\) 를 뺐는데, 산포 모형이 \(x^2\) 효과를 강하게 잡는다면 — 산포에 정말 \(x^2\) 효과가 있는 것이 아니다. 평균 누락의 흔적일 가능성이 매우 높다.
대응: 산포 모형에서 이차 효과가 나오면 먼저 평균 모형에 해당 공변량을 (더) 넣어보고 여전히 남는지 확인한다.
3.2 메커니즘 2: 누락된 상호작용이 산포 공변량 효과로 위장
두 요인 \(A, B\) 의 상호작용 \(\beta_{AB} (A_i \cdot B_i)\) 가 평균에 있는데 모형에서 뺐다고 하자. 평균 잔차는:
\[ y_i - \hat\mu_i \approx \beta_{AB} (A_i B_i) + \varepsilon_i \]
그러면
\[ (y_i - \hat\mu_i)^2 \approx \beta_{AB}^2 (A_i B_i)^2 + \text{잡음} \]
인수 실험에서 \(A_i, B_i \in \{-1, +1\}\) 이면 \((A_i B_i)^2 = 1\) 상수이므로 전체적으로 분산을 키우는 효과. 하지만 \((y_i - \hat\mu_i)^2\) 의 분포를 자세히 보면 \(A_i = B_i\) 인 run 과 \(A_i \neq B_i\) 인 run 간 차이가 없어야 하는데 실제로는 있을 수 있다. 이는 \(AB\) 요인의 산포 효과로 오인된다.
\(\beta_{AB} = 0.5\), \(\phi = 1\) 인 \(2^2\) 실험 (각 조합당 \(n = 4\) 반복, 총 16관측) 을 1,000 회 반복한 시뮬레이션 결과:
| 평균 모형 | 산포 모형의 \(AB\) 대조 유의 검출률 (명목 5%) |
|---|---|
| \(y \sim A + B\) (AB 누락) | ~42% |
| \(y \sim A + B + AB\) (완전) | ~5% |
즉 평균에 누락된 \(AB\) 가 산포에서 가짜로 유의하게 나오는 비율이 명목 유의수준의 8배 이상. 산포 모형에서 \(x^2\) 나 \(AB\) 류 이차항이 유의하면 평균 모형 누락부터 의심해야 하는 실무적 이유이다.
3.3 메커니즘 3: 반복 대조와 null 대조의 부호 반전
Leaf-spring 데이터(§10.7, Table 10.5 vs 10.3)에서 실제로 관측된다.
- Replicate contrast 기반: \(\hat b = +1.37\), \(\hat c = -1.09\)
- Null contrast 기반: \(\hat b = -1.82\), \(\hat c = +4.79\)
부호가 정반대다! 이유는 두 대조가 다른 원천의 변동을 측정하기 때문.
- Replicate contrast: run 내부 단기적 노이즈 (heat-to-heat, 순간 변동)
- Null contrast: run 간 장기적 변동 (batch-to-batch, setup-dependent)
공정 요인이 두 원천에 정반대로 영향을 주면 결합 분석은 둘을 상쇄시켜 가짜 null 을 만든다. §10.3 이 경고하는 것이 바로 이 패턴이다.
4 \(V(\mu)\) 오선택의 산포 왜곡
평균 GLM 의 분산함수 \(V(\mu)\) 선택도 산포 추정에 영향을 준다. 이유는 산포 응답 \(d_i = r_P^2\) 에 \(V(\mu)\) 가 직접 들어가기 때문.
\[ d_i = r_P^2 = \frac{(Y_i - \mu_i)^2}{V(\mu_i)} \]
만약 참 분산함수가 \(V^*(\mu)\) 인데 \(V(\mu)\) 를 사용하면, 산포 응답의 기댓값은:
\[ E(r_P^2) = \frac{\phi \, V^*(\mu)}{V(\mu)} \]
이것은 \(\phi\) 와 \(V^*/V\) 비율의 곱이다. 예를 들어 참은 \(V^*(\mu) = \mu\) 인데 \(V(\mu) = 1\) (상수 분산) 로 가정하면
\[ E(r_P^2) = \phi \mu \]
즉 \(d_i\) 가 \(\mu\) 에 비례해 커지므로, 평균 공변량이 \(\mu\) 에 영향을 주면 자동으로 산포 공변량처럼 보인다. 허위 산포 효과.
4.1 실무 처방: 평균-분산 관계를 먼저 확인
Fig. 10.1 처럼 run variance 를 run mean 대비 산점도로 그려서 \(s^2 \propto \mu^\alpha\) 형태를 먼저 진단한다.
- \(\alpha = 0\): 정규, \(V = 1\)
- \(\alpha = 1\): 포아송, \(V = \mu\)
- \(\alpha = 2\): 감마, \(V = \mu^2\)
이 진단을 빼먹고 이중 GLM 을 돌리면, 평균-분산 관계 자체가 산포 공변량 효과로 나타난다.
5 마진 조건 (Marginality) 과 산포 모형
McCullagh 는 §3.5 에서 평균 모형의 마진 조건 (marginality) 을 강조했다. 이는 산포 모형에도 그대로 적용된다.
5.1 마진 조건이란
- 상호작용 \(AB\) 가 모형에 있으면 주효과 \(A, B\) 도 있어야 한다.
- 이차항 \(x^2\) 이 있으면 일차항 \(x\) 도 있어야 한다.
- 그래야 좌표 변환 (예: 센터링, scaling) 에 대해 해석이 일관.
5.2 Pignatiello-Ramberg 원분석의 실수
§10.7 예제에서 Pignatiello & Ramberg (1985) 는 15 개 요인 대조 중 개별적으로 가장 큰 5 개를 선택:
\[ B, \quad DO, \quad BCO \equiv DEO, \quad CD \equiv BE, \quad CDO \equiv BEO \]
여기에는 마진 조건 위반이 많다 — \(DO\) 가 있는데 \(D\) 주효과가 없고, \(BCO\) 가 있는데 \(BC\) 이차도 \(BO, CO\) 주효과 이차도 없다. 이는 우연히 큰 대조를 과적합한 결과. McCullagh 는 같은 데이터에서 마진 조건을 지킨 단순 모형 \(B + C\) 로 비슷한 적합을 얻음을 보였다.
5.3 실무 권고
산포 모형 변수 선택에도 marginality-respecting selection (top-down, hierarchy-preserving) 을 쓴다. 단순히 \(p\)-value 순 정렬 후 컷오프는 위험하다.
6 실무 설계 권고 — “replicate 대조를 확보하라”
저자의 핵심 권고:
“이중 평균-산포 모형링 실험을 설계할 때는, 순수 복제 (pure replicate)에서 얻은 분산 추정을 확보하는 것이 바람직하다. null 대조 정보는 replicate 대조와 호환 가능할 때만 결합한다.”
6.1 설계상 확보 방법
- 복제를 전체 공변량 공간에 골고루 배치. 각 \(x\)-값당 최소 2~3 회 복제.
- 중앙점 (center point) 반복. 반응 표면법 (RSM) 의 전통. 중앙점 복제가 많으면 순수 \(\phi\) 추정이 가능.
- 배치 내/간 randomization. 단기 노이즈와 장기 노이즈를 통계적으로 분리.
6.2 호환성 검정
null 대조와 replicate 대조가 같은 \(\phi\) 를 측정하는지 검정하려면:
- 두 분산 추정의 비율이 \(F\) 분포를 따르는가 (Bartlett-like test)
- 산포 GLM 에서 “null vs replicate” indicator 를 공변량으로 넣어 유의한지 확인
유의한 차이가 있으면 두 원천을 합치지 말고 별도 모형을 돌려야 한다 (§10.7 Table 10.5 의 “null만” 분석처럼).
7 응용 분야
| 분야 | 오염 메커니즘 | 방어 전략 |
|---|---|---|
| 산업 품질공학 | Leaf-spring 부호 반전 | replicate 확보, short-term vs long-term 분리 |
| 임상 시험 | 환자 baseline 차이를 평균에서 누락 | baseline covariate 을 평균 모형에 포함 |
| 교육평가 | 학교 고정효과를 평균에서 누락 | multilevel model 로 확장 |
| 환경 측정 | 계절성을 평균에서 누락 | harmonic term 추가 |
| 반도체 수율 | 장비 ID 효과 누락 | 장비 fixed effect 포함 |
| 보험수리 | 연령대별 평균 차이를 무시 | 연령을 평균 공변량으로 |
공통 패턴: “평균에 들어가야 할 변수를 빼면 산포에 허위 효과로 나타난다.” 해결은 항상 평균 모형을 먼저 충분히 풍부하게 적합하는 것.
8 예제 — 허위 이차 산포 효과 시뮬레이션
참 모형: \(Y_i \sim N(\beta_0 + \beta_1 x_i, \phi)\), \(\phi\) 는 \(x_i\) 에 의존하지 않음. 연구자가 \(\beta_1\) 이 작다고 평균에서 뺀 뒤 산포 모형에 \(x^2\) 을 넣는다. 예상: \(\gamma_2\) 가 유의하게 나옴 (허위).
import numpy as np
np.random.seed(123)
n = 200
x = np.linspace(-2, 2, n)
beta_0, beta_1 = 5.0, 0.4 # beta_1 작지만 0이 아님
phi_true = 1.0 # 산포 상수 (x 무관)
y = beta_0 + beta_1 * x + np.random.normal(0, np.sqrt(phi_true), n)
# (A) 평균 모형을 잘못 지정: 절편만 (beta_1 무시)
mu_wrong = np.full(n, y.mean())
d_wrong = (y - mu_wrong) ** 2
# (B) 평균 모형을 올바르게 지정: 절편 + x
X = np.column_stack([np.ones(n), x])
beta_hat = np.linalg.solve(X.T @ X, X.T @ y)
mu_correct = X @ beta_hat
d_correct = (y - mu_correct) ** 2
# 산포 모형: log(d) = gamma_0 + gamma_1 x + gamma_2 x^2
U = np.column_stack([np.ones(n), x, x ** 2])
def fit_disp(d):
log_d = np.log(d + 1e-8)
g = np.linalg.solve(U.T @ U, U.T @ log_d)
return g
g_wrong = fit_disp(d_wrong)
g_correct = fit_disp(d_correct)
print("평균 누락 시 (gamma_0, gamma_1, gamma_2):", np.round(g_wrong, 4))
print("평균 올바름 시 :", np.round(g_correct, 4))예상: 평균 누락 시 \(\gamma_2 > 0\) 유의 (허위 이차항), 평균 올바름 시 \(\gamma_2 \approx 0\). 이것이 §10.3 이 경고하는 “평균 모형 누락이 산포 이차항으로 위장”의 시뮬레이션 증거다.
9 코드 예시 — Leaf Spring 데이터의 3중 분석 재현
9.1 Step 1: Python — replicate vs null vs 결합 비교
import numpy as np
import pandas as pd
import statsmodels.api as sm
# (Leaf-spring 데이터 생성은 09-joint-mean-dispersion.qmd 참조)
# 편의상 run summary 만 준비: B, C, ..., run_mean, run_var
def analysis_replicate(d):
"""replicate contrast 만 (run variance 가 응답)"""
# d: DataFrame columns B, C, D, E, O, run_var
y = np.log(d['run_var'])
X = sm.add_constant(d[['B', 'C']])
return sm.OLS(y, X).fit()
def analysis_null(d_flat, mu_model_formula):
"""null contrast 만 (run mean 으로 대체, 평균 모형 잔차)"""
# Step 1: run mean 으로 평균 모형 적합
# Step 2: 잔차 제곱을 응답으로 산포 모형 적합
# 세부 구현 생략 (독자 연습)
pass
def analysis_combined(d_flat):
"""replicate + null 결합 (모든 관측 사용)"""
# 이중 GLM (dglm 스타일) 로 적합
pass
# 비교
r_rep = analysis_replicate(...) # b=+1.37, c=-1.09
r_null = analysis_null(...) # b=-1.82, c=+4.79
r_both = analysis_combined(...) # b, c 매우 작음 (상쇄)9.2 Step 2: R — 충돌 진단
library(dglm)
# 방법 1: replicate 기반 — run 단위 요약
agg <- aggregate(y ~ B + C + D + E + O, data = df, FUN = var)
names(agg)[6] <- "s2"
fit_rep <- glm(s2 ~ B + C, family = Gamma(link = "log"), data = agg)
# 방법 2: null 기반 — run 평균으로 대체
agg2 <- aggregate(y ~ B + C + D + E + O, data = df, FUN = mean)
fit_null_mean <- lm(y ~ B + C + E + O + B:O + C:O, data = agg2)
resid2 <- residuals(fit_null_mean) ^ 2
fit_null_disp <- glm(resid2 ~ B + C, family = Gamma(link = "log"))
# 방법 3: 결합 (이중 GLM)
fit_combined <- dglm(
y ~ B + C + E + O + B:O + C:O,
dformula = ~ B + C,
family = gaussian(),
dlink = "log",
data = df
)
# 비교: 계수 부호가 일치하지 않으면 두 원천이 다름
coef(fit_rep) # replicate
coef(fit_null_disp) # null
coef(fit_combined$dispersion.fit) # combined실무 해석: 세 분석의 계수 부호·크기가 크게 다르면 “두 원천이 다른 산포”를 측정하는 것. 보고서에는 어느 대조를 쓸지 실무적 판단 기준 (단기 편차 vs 장기 편차 중 어느 것이 중요한가) 을 명시해야 한다.
10 진단 — 산포 오염을 탐지하는 체크리스트
| 진단 | 탐지 가능한 문제 |
|---|---|
| 평균 잔차 vs 각 공변량 산점도 (smoothed) | 평균 모형 누락 곡률 |
| 산포 잔차 \((d_i - \hat\phi_i)/\hat\phi_i\) vs 공변량 | 산포 모형 과적합 / 평균 누락 |
| run variance vs run mean (log-log) | \(V(\mu)\) 선택 오류 |
| null-only vs replicate-only 산포 계수 비교 | 부호 반전 (두 원천 차이) |
| 마진 조건 (선택된 상호작용의 주효과 존재) | 과적합 가능성 |
| Residual vs fitted | 이상치, nonconstant variance |
실무 규칙: 산포 모형에서 놀라운 효과 (예: 높은 차수 상호작용, 이차항) 가 나오면 먼저 평균 모형을 의심한다.
11 설계 단계에서의 방어
$$10.3 은 분석보다 실험 설계에서 방어하는 것이 더 효과적임을 시사한다.
- 충분한 순수 복제: 각 treatment 당 최소 3 회, 중앙점은 더 많이
- 적절한 factorial 해상도: Resolution IV 이상 권장 (주효과가 2-요인 상호작용과 별칭되지 않게)
- 블록 randomization: 단기 vs 장기 노이즈 분리 가능
- pilot study: 본 실험 전 평균-분산 관계 탐색 (Fig. 10.1 같은 진단)
- 요인 수준 선택: 반응이 대체로 단조라고 예상되면 3 수준 이상을 둬서 곡률 포착
설계에서 미리 고려하면 분석 시 마진 조건·대조 충돌 문제를 대부분 피할 수 있다.
12 정리
평균 모형과 산포 모형이 수식적으로는 분리되지만 통계적으로는 연결되어 있다. 핵심 정리:
- null 대조 + replicate 대조 결합은 매력적이지만 평균 모형이 올바를 때만 안전하다.
- 평균 모형 누락은 산포 이차항 (연속 공변량 누락) 또는 산포 요인 효과 (상호작용 누락) 로 위장된다.
- \(V(\mu)\) 오선택은 평균-분산 관계를 산포 공변량 효과로 오인시킨다.
- 마진 조건을 지키고, 대조 선택은 top-down 으로 하며, 우연히 큰 대조 선택은 피한다.
- Leaf-spring 부호 반전은 null vs replicate 대조가 다른 변동 원천을 측정할 수 있다는 실증 증거다.
- 실무 방어: 순수 복제 확보 → 평균-분산 진단 → 평균 모형 풍부하게 → null 대조 호환성 검정 후 결합.
다음 절 (§10.4) 은 이 논의를 정량화하는 기준 — extended quasi-likelihood \(Q^+\) — 을 도입한다. \(Q^+\) 를 최적화 기준으로 쓰면 평균·산포 방정식이 자동으로 도출되지만, 그 기준이 어떤 분포 가정 (사실상 산포 응답이 감마-로그 GLM) 을 암묵적으로 가정하는지 이해해야 안전하게 해석할 수 있다.
13 관련 주제
선행 지식
- Joint Modelling of Mean and Dispersion — Ch.10 개관
- Model Specification for Joint Mean-Dispersion — 설계 도면 (McCullagh §10.2)
- Aliasing — 식별불가의 두 얼굴과 추정가능함수 (McCullagh §3.5) — 마진 조건과 별칭
- 공변량 선택 — Parsimony (McCullagh §3.9)
후속 주제
- Extended quasi-likelihood as a criterion (McCullagh §10.4)
- Adjustments of the estimating equations — 첨도·자유도 보정 (McCullagh §10.5)
- Joint optimum estimating equations (McCullagh §10.6)
관련 개념
- GLM 잔차의 세 유형 — Pearson·Anscombe·Deviance (McCullagh §2.4) — 산포 응답 선택의 기초
- 이항 자료의 과산포 (McCullagh §4.5) — 평균 모형 누락이 과산포로 위장되는 전통 사례