1 도입 — 두 그룹 비교를 다시 본다
이미 A-MAX3-1 에서 two-sample t 검정과 F 검정의 관계를 짧게 다뤘다. 이 글은 Maxwell Ch.4 의 모형 비교 도출 을 자세히 다룬다. 핵심 결과:
\[ F = \frac{(\bar{Y}_1 - \bar{Y}_2)^2}{\left(\frac{1}{n_1} + \frac{1}{n_2}\right) \text{MS}_W}, \quad t^2 = F \]
이 도출이 중요한 이유는 두 그룹 비교 가 일반 대비 분석 의 가장 단순한 사례 임을 보여주기 때문이다. 이 골격이 일반 대비, 직교 대비, 다중 비교까지 일관되게 확장된다.
2 두 모형의 정의
2.1 Full Model (Ch.3 와 동일)
\[ Y_{ij} = \mu_j + \varepsilon_{ij}, \quad j = 1, 2, \ldots, J, \; i = 1, 2, \ldots, n_j \]
각 그룹 \(j\) 가 자기 평균 \(\mu_j\) 를 가진다. 모수의 수: \(J\).
2.2 Restricted Model
귀무가설 \(H_0: \mu_1 = \mu_2\) 가 참이라 가정. 그룹 1 과 2 가 공통 평균 \(\mu^*\) 를 갖고, 나머지 그룹은 자기 평균을 가진다.
\[ Y_{i1} = \mu^* + \varepsilon_{i1} \] \[ Y_{i2} = \mu^* + \varepsilon_{i2} \] \[ Y_{ij} = \mu_j + \varepsilon_{ij}, \quad j = 3, 4, \ldots, J \]
모수의 수: \(J - 1\) (그룹 1, 2 가 합쳐져서).
2.3 자유도
- Full model 잔차 자유도: \(n - J\)
- Restricted model 잔차 자유도: \(n - (J - 1) = n - J + 1\)
- 차이: \(\text{df}_R - \text{df}_F = 1\)
이 자유도 차이 1 이 개별 비교 F 통계량의 분자 자유도이다.
3 \(\widehat{\mu}^*\) 의 도출
Restricted model 에서 \(\mu^*\) 의 LSE 를 구한다. 최소화 할 양:
\[ \sum_{i=1}^{n_1} (Y_{i1} - \widehat{\mu}^*)^2 + \sum_{i=1}^{n_2} (Y_{i2} - \widehat{\mu}^*)^2 \]
이는 그룹 1 과 2 의 자료를 합친 한 그룹 에 대한 잔차 제곱합이다. A-MAX3-1 의 결과를 적용하면:
\[ \widehat{\mu}^* = \frac{\sum_{i=1}^{n_1} Y_{i1} + \sum_{i=1}^{n_2} Y_{i2}}{n_1 + n_2} \]
이는 가중 평균 이다.
\[ \widehat{\mu}^* = \frac{n_1 \bar{Y}_1 + n_2 \bar{Y}_2}{n_1 + n_2} \]
균형 설계 (\(n_1 = n_2\)) 에서는:
\[ \widehat{\mu}^* = \frac{\bar{Y}_1 + \bar{Y}_2}{2} \]
\(\widehat{\mu}^*\) 가 그룹 평균의 단순 평균 이 아니라 표본 크기로 가중된 평균 인 이유는?
표본 크기가 큰 그룹의 평균이 더 정확한 추정 이기 때문이다. 그룹 1 에 1000 명, 그룹 2 에 10 명이 있다면, 그룹 1 의 평균이 그룹 2 보다 훨씬 안정적이다. 두 평균을 합칠 때 그룹 1 에 더 큰 가중치 를 줘야 한다.
가중치 \(n_j\) 가 역분산 (그룹 평균의 분산은 \(\sigma^2 / n_j\), 그 역수는 \(n_j / \sigma^2\)) 에 비례하므로, 정확한 그룹에 더 큰 가중치를 주는 역분산 가중 의 형태다.
이 패턴은 메타 분석 (meta-analysis) 에서도 동일하게 나타난다. 여러 연구의 효과 추정을 합칠 때 각 연구의 정밀도 로 가중치를 준다.
4 \(E_R - E_F\) 의 도출
각 모형의 잔차 제곱합:
4.1 Full Model
\[ E_F = \sum_{j=1}^{2} \sum_{i=1}^{n_j} (Y_{ij} - \bar{Y}_j)^2 + \sum_{j=3}^{J} \sum_{i=1}^{n_j} (Y_{ij} - \bar{Y}_j)^2 \]
4.2 Restricted Model
\[ E_R = \sum_{j=1}^{2} \sum_{i=1}^{n_j} (Y_{ij} - \widehat{\mu}^*)^2 + \sum_{j=3}^{J} \sum_{i=1}^{n_j} (Y_{ij} - \bar{Y}_j)^2 \]
두 식의 그룹 3~J 부분이 동일 하므로, 차이는 그룹 1 과 2 부분 에서만 발생한다.
\[ E_R - E_F = \sum_{j=1}^{2} \sum_{i=1}^{n_j} (Y_{ij} - \widehat{\mu}^*)^2 - \sum_{j=1}^{2} \sum_{i=1}^{n_j} (Y_{ij} - \bar{Y}_j)^2 \]
A-MAX3-1 의 식 \((\star)\) 를 두 그룹 각각에 적용하면 (트릭: \(-\bar{Y}_j + \bar{Y}_j\) 추가):
\[ \sum_{i=1}^{n_j} (Y_{ij} - \widehat{\mu}^*)^2 = \sum_{i=1}^{n_j} (Y_{ij} - \bar{Y}_j)^2 + n_j (\bar{Y}_j - \widehat{\mu}^*)^2 \]
따라서
\[ E_R - E_F = n_1 (\bar{Y}_1 - \widehat{\mu}^*)^2 + n_2 (\bar{Y}_2 - \widehat{\mu}^*)^2 \]
4.3 \(\widehat{\mu}^*\) 대입
\(\widehat{\mu}^* = \frac{n_1 \bar{Y}_1 + n_2 \bar{Y}_2}{n_1 + n_2}\) 를 대입하면:
\[ \bar{Y}_1 - \widehat{\mu}^* = \bar{Y}_1 - \frac{n_1 \bar{Y}_1 + n_2 \bar{Y}_2}{n_1 + n_2} = \frac{n_2 (\bar{Y}_1 - \bar{Y}_2)}{n_1 + n_2} \]
\[ \bar{Y}_2 - \widehat{\mu}^* = -\frac{n_1 (\bar{Y}_1 - \bar{Y}_2)}{n_1 + n_2} \]
따라서
\[ E_R - E_F = n_1 \cdot \frac{n_2^2 (\bar{Y}_1 - \bar{Y}_2)^2}{(n_1 + n_2)^2} + n_2 \cdot \frac{n_1^2 (\bar{Y}_1 - \bar{Y}_2)^2}{(n_1 + n_2)^2} \]
\[ = \frac{n_1 n_2 (n_1 + n_2) (\bar{Y}_1 - \bar{Y}_2)^2}{(n_1 + n_2)^2} = \frac{n_1 n_2}{n_1 + n_2} (\bar{Y}_1 - \bar{Y}_2)^2 \]
또는 동등하게:
\[ \boxed{E_R - E_F = \frac{(\bar{Y}_1 - \bar{Y}_2)^2}{\frac{1}{n_1} + \frac{1}{n_2}}} \tag{$\diamond$} \]
분자 \((\bar{Y}_1 - \bar{Y}_2)^2\) — 두 그룹 평균 차이의 제곱. 차이가 클수록 restricted model 이 부족하다.
분모 \(\frac{1}{n_1} + \frac{1}{n_2}\) — 두 그룹의 역표본크기 합. 이는 두 평균 차이의 분산의 정도 를 결정한다. 표본이 작으면 분모가 커져 같은 차이라도 상대적으로 작아진다 (검정 통계량 작음).
따라서 \(E_R - E_F\) 는 그룹 차이의 효과 (분자) 와 추정의 정밀도 (분모) 를 결합한 양이다. F 통계량은 이를 오차 분산 (\(\text{MS}_W\)) 으로 다시 나눠서 표준화한다.
균형 설계 (\(n_1 = n_2 = n_0\)) 에서 분모 \(\frac{1}{n_0} + \frac{1}{n_0} = \frac{2}{n_0}\) 가 최소이다. 즉 균형 설계가 검정력 최대화 의 이론적 근거다.
5 F 통계량의 표현
\[ F = \frac{(E_R - E_F) / (\text{df}_R - \text{df}_F)}{E_F / \text{df}_F} \]
자유도:
- \(\text{df}_R - \text{df}_F = 1\)
- \(\text{df}_F = n - J\) (전체 ANOVA 의 잔차 자유도)
- \(E_F / \text{df}_F = \text{MS}_W\) (전체 ANOVA 의 평균 제곱)
대입하면:
\[ F = \frac{(\bar{Y}_1 - \bar{Y}_2)^2 / \left(\frac{1}{n_1} + \frac{1}{n_2}\right)}{\text{MS}_W} = \frac{(\bar{Y}_1 - \bar{Y}_2)^2}{\left(\frac{1}{n_1} + \frac{1}{n_2}\right) \text{MS}_W} \]
이것이 Maxwell 의 식 1 (Ch.4) 이다.
6 t 통계량과 \(F = t^2\)
ANOVA 에서 사용하는 t 통계량 (모든 그룹 자료로 추정한 분산):
\[ t = \frac{\bar{Y}_1 - \bar{Y}_2}{\sqrt{\text{MS}_W \left(\frac{1}{n_1} + \frac{1}{n_2}\right)}} \]
자유도 \(n - J\).
이를 제곱:
\[ t^2 = \frac{(\bar{Y}_1 - \bar{Y}_2)^2}{\text{MS}_W \left(\frac{1}{n_1} + \frac{1}{n_2}\right)} = F \]
따라서 \(F = t^2\). 동등성이 확인된다.
6.1 분포 관계
\(t \sim t_{n-J}\), \(F \sim F_{1, n-J}\) 이고 \(F = t^2\) 이므로 다음 분포 관계가 성립한다.
\[ F_{1, d} = (t_d)^2 \]
이는 임의의 자유도 \(d\) 에 대해 성립하는 일반 결과이다. 통계 표 또는 함수에서 한 분포만 알면 다른 분포를 직접 도출 가능.
7 ANOVA 의 \(\text{MS}_W\) vs Two-Sample t 의 풀링 분산
A-MAX4-0 의 직관에서 다뤘듯이, ANOVA 후 사용하는 t 통계량은 전체 ANOVA 의 \(\text{MS}_W\) 를 사용한다. 이는 표준 two-sample t 가 사용하는 그 두 그룹만의 풀링 분산 과 다르다.
| 검정 | 분모 분산 | 자유도 |
|---|---|---|
| Two-sample t (그 두 그룹만) | \(s_p^2 = \frac{(n_1-1) s_1^2 + (n_2-1) s_2^2}{n_1 + n_2 - 2}\) | \(n_1 + n_2 - 2\) |
| ANOVA 후 t (모든 그룹) | \(\text{MS}_W = \frac{\sum_j (n_j - 1) s_j^2}{n - J}\) | \(n - J\) |
ANOVA 후 t 가 자유도가 더 크다. 검정력이 약간 더 높다.
자유도가 큰 t 분포는 꼬리가 더 짧다. 임계값 \(t_{\alpha/2, df}\) 가 작아진다.
| \(df\) | \(t_{0.025, df}\) |
|---|---|
| 5 | 2.571 |
| 10 | 2.228 |
| 20 | 2.086 |
| 30 | 2.042 |
| 60 | 2.000 |
| \(\infty\) | 1.96 |
차이가 크지 않지만, 작은 표본 + 작은 자유도 에서 의미 있다. ANOVA 후 t 검정의 자유도 \(n - J\) 가 two-sample t 의 \(n_1 + n_2 - 2\) 보다 클수록 임계값이 작아져 검정력이 향상된다.
대신 등분산 가정 이 더 엄격하게 적용된다. 모든 그룹의 분산이 같다는 가정이 깨지면 풀링이 부정확. 따라서 등분산 진단 (Levene 등) 후 결정하는 것이 권장된다.
8 두 그룹 사례를 대비 로 표현
이 글의 분석을 대비 표기 로 옮기면:
대비 계수: \(c_1 = 1, c_2 = -1, c_3 = c_4 = \cdots = c_J = 0\).
대비:
\[ \psi = \sum_{j=1}^{J} c_j \mu_j = \mu_1 - \mu_2 \]
귀무가설 \(H_0: \psi = 0\), 즉 \(\mu_1 = \mu_2\).
표본 추정:
\[ \widehat{\psi} = \bar{Y}_1 - \bar{Y}_2 \]
분산:
\[ \text{Var}(\widehat{\psi}) = \sigma^2 \left(\frac{1}{n_1} + \frac{1}{n_2}\right) \]
\(\sigma^2\) 을 \(\text{MS}_W\) 로 추정한 t 통계량:
\[ t = \frac{\widehat{\psi}}{\text{SE}(\widehat{\psi})} = \frac{\bar{Y}_1 - \bar{Y}_2}{\sqrt{\text{MS}_W \left(\frac{1}{n_1} + \frac{1}{n_2}\right)}} \]
이는 동일한 통계량이며, 대비의 일반 형태로 단순 두 그룹 비교가 표현됨을 보여 준다.
9 일반 대비로의 확장 예고
다음 글 A-MAX4-2 에서는 임의의 계수 \(c_1, c_2, \ldots, c_J\) (\(\sum c_j = 0\)) 에 대한 대비를 다룬다. 핵심 일반화:
\[ \widehat{\psi} = \sum_j c_j \bar{Y}_j, \quad \text{Var}(\widehat{\psi}) = \sigma^2 \sum_j \frac{c_j^2}{n_j} \]
\[ t = \frac{\widehat{\psi}}{\sqrt{\text{MS}_W \sum_j c_j^2 / n_j}} \]
두 그룹 비교는 \(c = (1, -1, 0, \ldots)\) 일 때의 특수 사례 다.
10 균형 vs 불균형 설계의 영향
균형 설계 (\(n_1 = n_2 = n_0\)) 에서 식 \((\diamond)\) 는
\[ E_R - E_F = \frac{n_0}{2} (\bar{Y}_1 - \bar{Y}_2)^2 \]
불균형 설계에서는 가중 평균 \(\widehat{\mu}^*\) 의 형태가 복잡해지지만, 최종 식 \((\diamond)\) 는 동일하게 유지된다. 일반화의 우아함이다.
| 측면 | 균형 (\(n_1 = n_2\)) | 불균형 (\(n_1 \neq n_2\)) |
|---|---|---|
| \(\widehat{\mu}^*\) | \((\bar{Y}_1 + \bar{Y}_2) / 2\) | \((n_1 \bar{Y}_1 + n_2 \bar{Y}_2) / (n_1 + n_2)\) |
| 검정력 (총 \(n\) 고정) | 최대 | 약간 감소 |
| F 식 | 동일 | 동일 |
11 코드 예시 — 두 그룹 비교의 세 표현
import numpy as np
import pandas as pd
from scipy.stats import t as t_dist, f as f_dist
from scipy.stats import ttest_ind
import statsmodels.api as sm
from statsmodels.formula.api import ols
np.random.seed(42)
n_each = 20
# 4 그룹 자료 (그룹 1 vs 2 비교에 집중)
group_1 = np.random.normal(5.0, 1.0, n_each)
group_2 = np.random.normal(5.8, 1.0, n_each)
group_3 = np.random.normal(6.0, 1.0, n_each)
group_4 = np.random.normal(7.0, 1.0, n_each)
groups = ['G1']*n_each + ['G2']*n_each + ['G3']*n_each + ['G4']*n_each
all_data = np.concatenate([group_1, group_2, group_3, group_4])
df = pd.DataFrame({'y': all_data, 'group': groups})
# 1. 표준 two-sample t (그 두 그룹만)
t_two, p_two = ttest_ind(group_1, group_2, equal_var=True)
print(f"Two-sample t (그 두 그룹만): t = {t_two:.3f}, p = {p_two:.4f}")
print(f" 자유도: {2*n_each - 2}")
# 2. ANOVA 의 MS_W 사용한 t
model = ols('y ~ C(group)', data=df).fit()
anova_table = sm.stats.anova_lm(model)
ms_w = anova_table['mean_sq'].iloc[1]
df_w = int(anova_table['df'].iloc[1])
mean_diff = group_1.mean() - group_2.mean()
se_diff = np.sqrt(ms_w * (1/n_each + 1/n_each))
t_anova = mean_diff / se_diff
p_anova = 2 * (1 - t_dist.cdf(abs(t_anova), df_w))
print(f"\nANOVA 후 t (모든 그룹 MS_W): t = {t_anova:.3f}, p = {p_anova:.4f}")
print(f" 자유도: {df_w}")
# 3. 모형 비교 F
F_anova = t_anova**2
p_F = 1 - f_dist.cdf(F_anova, 1, df_w)
print(f"\n모형 비교 F: F = {F_anova:.3f}, p = {p_F:.4f}")
print(f" F = t² 검증: {np.isclose(F_anova, t_anova**2)}")
# 4. 모형 비교로 직접 계산 — Restricted Model 적합
df['group_restricted'] = df['group'].replace({'G1': 'merged', 'G2': 'merged'})
model_restricted = ols('y ~ C(group_restricted)', data=df).fit()
anova_compare = sm.stats.anova_lm(model_restricted, model)
print(f"\n모형 비교 ANOVA 표:")
print(anova_compare)이 코드는 세 가지 표현 이 동일한 결과를 줌을 보여 준다.
- Two-sample t (그 두 그룹만의 분산)
- ANOVA 후 t (모든 그룹 분산 사용)
- 모형 비교 F (restricted vs full)
ANOVA 후 t 가 일반적으로 검정력이 더 높다 (자유도가 더 크므로).
12 후속 — 일반 대비
이 글에서는 두 그룹 비교 를 모형 비교로 도출했다. 다음 글 A-MAX4-2 는 임의의 대비 로 일반화한다. 핵심 변화:
- 계수 \(c_j\) 가 \((1, -1, 0, \ldots)\) 가 아닌 임의의 합 0 패턴
- 더 풍부한 비교 (예: 한 그룹 vs 나머지, 두 그룹 vs 두 그룹)
- 직교성 점검의 중요성 (Ch.4.3)
13 관련 주제
선행 지식
후속 주제 (Phase A)
다른 카테고리 연결