1 왜 “추정” 을 기하학으로 보는가
선형모형의 추정은 대수적으로 한 줄이다.
\[ \hat{\boldsymbol\beta} \;=\; (\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\mathbf{y} \]
외우기 쉽지만 이 식만 보면 “왜 이 공식인가”, “어떤 조건에서 안정적인가”, “공변량이 상관일 때 무슨 일이 벌어지는가” 가 보이지 않는다.
McCullagh & Nelder §3.6 은 같은 이야기를 기하학적으로 다시 쓴다. 관측 벡터 \(\mathbf{y}\) 와 공변량 벡터 \(\mathbf{x}_j\) 들을 \(\mathbb R^n\) 안의 점·방향으로 보면 회귀가
- “\(\mathbf{X}\) 의 열공간으로의 정사영” (projection),
- “잔차 = 열공간과 수직인 벡터”,
- “추정 정밀도 = 포물선의 곡률”,
- “공변량 사이 각도 = 다중공선성”
이라는 일관된 그림으로 통합된다. 이 기하적 그림이 회귀 진단·ANOVA 분해·다중공선성 경고·GLM 의 IRLS 모두를 한 관점으로 묶는다.
직관: 대수는 “해가 뭐인가” 를 알려주고, 기하는 “왜 그 해인가, 언제 불안정한가” 를 알려 준다. §3.6 의 가치는 후자다.
2 MLE 방정식 — 잔차가 공변량과 직교 (§3.6.1)
2.1 정규 모형 로그우도
관측 \(\mathbf{y}\) 에 대한 \(n\)-관측 로그우도.
\[ -2\ell \;=\; n\log(2\pi\sigma^2) + \frac{1}{\sigma^2}\sum_{i=1}^n (y_i - \mu_i)^2 \]
\(\sigma^2\) 를 알든 모르든 \(\mu\) 에 대한 최대화는 잔차제곱합 최소화와 동치.
\[ \max_{\boldsymbol\beta}\ell \;\iff\; \min_{\boldsymbol\beta}\sum(y_i - \mathbf{x}_i^\top\boldsymbol\beta)^2 \]
2.2 1차 조건
\(\partial (\text{SS})/\partial\beta_j = 0\) 을 풀면
\[ \sum_{i=1}^n x_{ij}(y_i - \hat\mu_i) \;=\; 0,\quad j=1,\dots,p \]
행렬로
\[ \mathbf{X}^\top(\mathbf{y} - \hat{\boldsymbol\mu}) \;=\; \mathbf{0} \]
2.3 “직교” 라는 관점
위 식을 언어로 풀면 다음과 같다.
잔차 벡터 \(\mathbf{y} - \hat{\boldsymbol\mu}\) 는 설계 행렬 \(\mathbf{X}\) 의 모든 열과 직교한다.
이 한 줄이 선형회귀의 본질이다. 적합을 잘 했다는 것은 “잔차가 어느 공변량과도 내적 0” 이라는 의미다.
2.4 주변 합 (marginal total) 해석
\(\mathbf{X}\) 가 2원 분류의 더미 행렬이면 \(\mathbf{X}^\top\mathbf{y}\) 는 행별·열별 관측 합. MLE 조건 \(\mathbf{X}^\top\hat{\boldsymbol\mu} = \mathbf{X}^\top\mathbf{y}\) 는 “적합값의 주변 합 = 관측값의 주변 합” 을 요구한다.
즉 ANOVA 주효과 모형의 MLE 는 “모형을 만족하면서 관측 주변 합을 재현하는 \(\hat{\boldsymbol\mu}\)” 이다. 이 관점은 나중에 로그선형 모형 (Poisson GLM) 에서도 그대로 유지된다.
직관: “관측과 적합이 집계 수준에서 일치” — 이것이 정규방정식의 의미다. 개별 관측은 어긋나도, 합·평균 같은 집계에서는 맞아야 한다.
3 기하학적 해석 — 최소 거리와 정사영 (§3.6.2)
3.1 해 궤적 (solution locus)
\(\mathbf{y}\) 는 \(\mathbb R^n\) 안의 고정된 한 점. 반면 \(\boldsymbol\mu = \mathbf{X}\boldsymbol\beta\) 는 \(\boldsymbol\beta\) 가 움직이면서 \(\mathbf{X}\) 의 열공간 을 훑는다. 이 \(p\)-차원 초평면을 해 궤적 이라 한다.
3.2 적합값 = 정사영
대부분의 경우 \(\mathbf{y}\) 는 해 궤적 위에 있지 않다 (모형이 완벽 적합이 아니라는 뜻). 그래서 가장 가까운 점 \(\hat{\boldsymbol\mu}\) 를 찾는다.
\[ \hat{\boldsymbol\mu} \;=\; \underset{\boldsymbol\mu \in \text{col}(\mathbf{X})}{\arg\min}\;\|\mathbf{y} - \boldsymbol\mu\|^2 \]
기하적 답: \(\mathbf{y}\) 에서 해 궤적으로 수선을 내린 발. 이것이 정사영 (orthogonal projection).
\[ \hat{\boldsymbol\mu} \;=\; \mathbf{H}\mathbf{y},\qquad \mathbf{H} \;=\; \mathbf{X}(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top \]
\(\mathbf{H}\) 는 hat matrix (사영 행렬).
3.3 1차원 예시
단일 공변량 모형 \(\eta_i = \beta x_i\) 에서 해 궤적은 “원점을 지나는 \(\mathbf{x}\) 방향 직선”. \(\mathbf{y}\) 에서 수선을 내리면 수직 조건
\[ \mathbf{x}^\top(\mathbf{y} - \hat\beta\mathbf{x}) = 0 \;\implies\; \hat\beta = \frac{\mathbf{x}^\top\mathbf{y}}{\mathbf{x}^\top\mathbf{x}} \]
“공변량과 반응의 내적 / 공변량의 노름 제곱”. 1차원 사영의 표준 공식.
3.4 왜 정사영이 가장 가까운가
피타고라스: 해 궤적 위의 임의의 점 \(P'\) 에 대해
\[ \|\mathbf{y} - P'\|^2 \;=\; \|\mathbf{y} - \hat{\boldsymbol\mu}\|^2 + \|\hat{\boldsymbol\mu} - P'\|^2 \]
우변의 두 항이 모두 \(\ge 0\) 이고 첫 항은 \(P'\) 와 무관. 따라서 두 번째 항이 0 이 되는 \(P' = \hat{\boldsymbol\mu}\) 에서 최소. 이것이 “정사영이 최소거리” 의 피타고라스 증명.
직관: OLS 는 특정 최적화 문제가 아니라 가장 자연스러운 기하 연산이다. 고차원의 “그림자를 떨어뜨리는” 행위가 곧 회귀.
4 정보 (Fisher Information) — 포물선의 곡률 (§3.6.3)
4.1 이탈도를 \(\beta\) 의 함수로
해 궤적 위의 임의의 점 \(\mathbf{x}\beta\) 에 대해
\[ \|\mathbf{y} - \mathbf{x}\beta\|^2 \;=\; \underbrace{\|\mathbf{y} - \mathbf{x}\hat\beta\|^2}_{D_{\min}} + (\hat\beta - \beta)^2\,\mathbf{x}^\top\mathbf{x} \]
이탈도를 \(\beta\) 의 함수로 그리면 \(\hat\beta\) 를 최소점으로 하는 포물선.
4.2 Fisher 정보
2차 도함수
\[ \frac{d^2}{d\beta^2}\left\{\frac{\|\mathbf{y}-\mathbf{x}\beta\|^2}{\sigma^2}\right\} \;=\; \frac{2\,\mathbf{x}^\top\mathbf{x}}{\sigma^2} \]
이 Fisher 정보 \(I(\beta) = \mathbf{x}^\top\mathbf{x}/\sigma^2\) (상수 배 무시).
4.3 정보의 의미
- 정보가 크면 포물선이 가파름 → \(\beta\) 가 \(\hat\beta\) 에서 조금만 벗어나도 이탈도가 급증 → \(\beta\) 가 잘 결정됨.
- 정보가 작으면 포물선이 평평 → \(\hat\beta\) 주변에서 이탈도가 느리게 변함 → \(\beta\) 가 덜 결정됨.
공식으로: 샘플링 분산
\[ \mathrm{Var}(\hat\beta) \;=\; \frac{\sigma^2}{\mathbf{x}^\top\mathbf{x}} \;=\; \frac{1}{I(\beta)} \]
4.4 정보 = 분자 × 분모 분해
\[ I(\beta) \;=\; \underbrace{\mathbf{x}^\top\mathbf{x}}_{\text{공변량 정보}} / \underbrace{\sigma^2}_{\text{오차 척도}} \]
- 분자: 공변량 값들의 분포. “\(\mathbf{x}\) 가 얼마나 넓게 퍼졌는가”. 데이터 설계로 조작 가능.
- 분모: 오차 분산. 측정 정밀도로 결정.
설계 실무: 정보를 키우려면 (a) 공변량 값의 분산을 키우거나, (b) 측정 노이즈를 줄인다. 실험 설계의 두 기둥이 여기서 나온다.
4.5 \(\sigma^2\) 의 추정
\(\sigma^2\) 는 보통 미지. 표준 불편 추정
\[ \hat\sigma^2 \;=\; s^2 \;=\; \frac{D_{\min}}{n-p} \]
잔차제곱합을 잔차 자유도로 나눔. 이 \(s^2\) 를 정보 공식에 대입해 표준오차 계산.
직관: “정보” 는 글자 그대로의 의미다. 더 많은 정보 = 더 정확한 추정. 그리고 정보는 공변량 설계와 측정 정밀도의 곱으로 나뉜다 — 두 축을 각각 공략할 수 있다.
5 2 공변량 모형의 기하 (§3.6.4)
단일 공변량에서 2 공변량으로 가면 기하가 극적으로 풍부해진다. 이 절이 전통 통계의 “조정된 제곱합 (adjusted SS)” 의 기하적 원형이다.
5.1 세 사영
공변량 벡터 \(\mathbf{x}_1, \mathbf{x}_2\) 에 대해 세 점을 정의.
- \(P_1\): \(\mathbf{y}\) 를 \(\mathbf{x}_1\) 축 으로 사영한 발.
- \(P_2\): \(\mathbf{y}\) 를 \(\mathbf{x}_2\) 축 으로 사영한 발.
- \(P_{12}\): \(\mathbf{y}\) 를 \((\mathbf{x}_1, \mathbf{x}_2)\) 평면 으로 사영한 발.
5.2 두 개의 피타고라스 분해
\(P_{12}\) 를 두 방향에서 분해 가능.
\[ \|OP_{12}\|^2 \;=\; \|OP_1\|^2 + \|P_1 P_{12}\|^2 \;=\; \|OP_2\|^2 + \|P_2 P_{12}\|^2 \]
각 항의 의미 (제곱 노름):
| 양 | 의미 |
|---|---|
| \(\|OP_1\|^2\) | \(\mathbf{x}_2\) 무시한 \(\mathbf{x}_1\) 의 SS |
| \(\|OP_2\|^2\) | \(\mathbf{x}_1\) 무시한 \(\mathbf{x}_2\) 의 SS |
| \(\|OP_{12}\|^2\) | 두 공변량의 결합 SS |
| \(\|P_1 P_{12}\|^2\) | \(\mathbf{x}_1\) 조정 후 \(\mathbf{x}_2\) 의 SS |
| \(\|P_2 P_{12}\|^2\) | \(\mathbf{x}_2\) 조정 후 \(\mathbf{x}_1\) 의 SS |
| \(\|OY\|^2\) | 총 SS |
| \(\|YP_{12}\|^2\) | 잔차 SS |
“before/after” 또는 “ignoring/eliminating” 이라는 전통 ANOVA 용어가 이 기하에서 온다.
5.3 두 가지 순서의 ANOVA
공변량 추가 순서에 따라 두 분해가 존재한다.
\[ \begin{aligned} \|OY\|^2 &= \|OP_1\|^2 + \|P_1 P_{12}\|^2 + \|YP_{12}\|^2 \\ &= (\mathbf{x}_1\text{ before }\mathbf{x}_2) + (\mathbf{x}_2\text{ after }\mathbf{x}_1) + \text{residual} \end{aligned} \]
\[ \begin{aligned} \|OY\|^2 &= \|OP_2\|^2 + \|P_2 P_{12}\|^2 + \|YP_{12}\|^2 \\ &= (\mathbf{x}_2\text{ before }\mathbf{x}_1) + (\mathbf{x}_1\text{ after }\mathbf{x}_2) + \text{residual} \end{aligned} \]
일반적으로 두 분해의 중간 항들이 다르다 — Type I (sequential) SS 의 순서 의존성의 기원.
5.4 세 특수 경우
(1) \(\mathbf{y}\) 가 \((\mathbf{x}_1, \mathbf{x}_2)\) 평면 위: 완벽 적합. 잔차 0, \(P_{12} = Y\).
(2) \(\mathbf{x}_1 \perp \mathbf{x}_2\) (직교 설계): - \(OP_1 P_{12} P_2\) 가 직사각형. - \(\|OP_1\| = \|P_2 P_{12}\|\), \(\|OP_2\| = \|P_1 P_{12}\|\). - “before == after” — 순서 무관. - 개별 단일 변수 모형의 계수 \(b_1, b_2\) 가 결합 모형의 \(\hat\beta_1, \hat\beta_2\) 와 동일.
직교 설계의 핵심 장점: 계수 해석이 변수 간 독립적. 실험 설계의 orthogonal factorial 이 선호되는 이유.
(3) \(\mathbf{y} \perp \mathbf{x}_1\) (y 가 \(\mathbf{x}_1\) 과 무상관): - 단일 변수 모형에서 \(b_1 = 0\) (예상대로). - 그러나 결합 모형에서 \(\hat\beta_1 \ne 0\) (일반적). \(\mathbf{x}_2\) 와의 조정을 통해 \(\mathbf{x}_1\) 의 기여가 드러남.
이 사실이 “혼란변수 통제” 의 기하적 근거다. 단변량으로는 보이지 않던 관계가 다변량에서는 드러날 수 있다.
직관: 두 공변량 기하는 회귀의 대부분의 실무 이슈 (순서 의존 SS, 직교 설계의 장점, 혼란변수 통제) 를 한 그림으로 설명한다. \(\mathbf{x}_1, \mathbf{x}_2\) 의 각도가 이 모든 것을 결정한다.
6 정보 표면 (Information Surface) (§3.6.5)
2 모수 모형에서 이탈도는 \((\beta_1, \beta_2)\) 의 2차 함수.
\[ \|\mathbf{y} - \mathbf{x}_1\beta_1 - \mathbf{x}_2\beta_2\|^2 \;=\; D_{\min} \;+\; \text{quadratic in }(\beta_1-\hat\beta_1, \beta_2-\hat\beta_2) \]
2차항을 펼치면
\[ (\hat\beta_1-\beta_1)^2 \mathbf{x}_1^\top\mathbf{x}_1 \;+\; 2(\hat\beta_1-\beta_1)(\hat\beta_2-\beta_2)\mathbf{x}_1^\top\mathbf{x}_2 \;+\; (\hat\beta_2-\beta_2)^2 \mathbf{x}_2^\top\mathbf{x}_2 \]
6.1 Fisher 정보 행렬
2차 도함수 행렬 (상수 \(\sigma^2/2\) 빼고)
\[ \mathbf{I}(\boldsymbol\beta) \;=\; \frac{1}{\sigma^2}\begin{pmatrix}\mathbf{x}_1^\top\mathbf{x}_1 & \mathbf{x}_1^\top\mathbf{x}_2 \\ \mathbf{x}_1^\top\mathbf{x}_2 & \mathbf{x}_2^\top\mathbf{x}_2\end{pmatrix} \;=\; \frac{\mathbf{X}^\top\mathbf{X}}{\sigma^2} \]
일반화: \(p\) 모수에서 \(\mathbf{I}(\boldsymbol\beta) = \mathbf{X}^\top\mathbf{X}/\sigma^2\).
6.2 이탈도 contour = 타원
\((\beta_1, \beta_2)\) 평면에서 이탈도 등고선은 \((\hat\beta_1, \hat\beta_2)\) 을 중심으로 한 동심 타원들. 타원의 모양은 Fisher 정보 행렬의 고유값·고유벡터로 결정된다.
- 고유값이 같고 크면: 원형, 급경사. 모든 방향으로 잘 결정됨.
- 고유값이 작으면: 평평한 타원. 그 방향으로 덜 결정됨.
- 고유값이 극단적으로 다르면: 긴 타원 (매우 가늘고 길게). 한 방향은 정보 많고 다른 방향은 적음.
직관: 타원이 공 모양에 가까울수록 추정이 모든 방향에서 안정. 타원이 길어질수록 특정 선형 결합이 잘 안 결정됨 — 다중공선성의 기하적 얼굴.
7 안정성과 다중공선성 (§3.6.6)
7.1 각도가 좁으면 무슨 일이 벌어지는가
\(\mathbf{x}_1, \mathbf{x}_2\) 사이의 각도 \(\theta\) 가 작으면 (두 벡터가 거의 같은 방향) 기하가 극적으로 변한다.
- \(P_{12}\) 의 위치는 여전히 \(\mathbf{y}\) 와 평면 \((\mathbf{x}_1, \mathbf{x}_2)\) 만으로 결정 — 정사영은 안정.
- 그러나 \(P_{12} = \hat\beta_1 \mathbf{x}_1 + \hat\beta_2 \mathbf{x}_2\) 분해의 계수 \((\hat\beta_1, \hat\beta_2)\) 는 불안정.
왜? 각도가 좁은 두 벡터에 같은 점을 표현하는 계수는 매우 민감. 데이터가 조금만 움직이면 \(\hat\beta_1\) 이 크게 증가하고 \(\hat\beta_2\) 가 크게 감소하는 식의 보상이 일어난다 (또는 반대).
7.2 정보 행렬의 행렬식
\(\mathbf{X}^\top\mathbf{X}\) 의 행렬식:
\[ |\mathbf{X}^\top\mathbf{X}| \;=\; \|\mathbf{x}_1\|^2 \|\mathbf{x}_2\|^2 \sin^2\theta \]
- \(\theta \to 0\) → \(\sin\theta \to 0\) → 행렬식 → 0 → 역행렬이 폭발.
- \(\mathrm{Var}(\hat{\boldsymbol\beta}) = \sigma^2(\mathbf{X}^\top\mathbf{X})^{-1}\) 가 매우 커짐.
7.3 이탈도 타원의 장축
이 경우 로그우도 등고선 타원은 한 축이 매우 길고 다른 축이 짧다. 주축 길이 비율은 \(1/\sin^2\theta\) 로 증가. 장축 방향으로는 \(\beta_1, \beta_2\) 가 크게 변해도 이탈도가 거의 변하지 않음 — 그 선형 결합이 잘 결정되지 않음.
7.4 실무 증상
- 표준오차 폭증.
- 계수 부호가 도메인 지식과 반대로 나옴.
- 변수 하나를 넣고 빼는 것만으로 다른 계수가 크게 변동.
- \(R^2\) 은 높은데 각 계수는 유의하지 않음.
이 모든 것이 “공변량 벡터들이 거의 같은 방향이라 계수 분해가 불안정” 의 증상이다.
7.5 처방
- 중심화 (centering): 상수 공변량을 빼면 다중공선성이 완화되기도 함 (특히 다항에서).
- 직교 변수 구성: PCA 로 공변량을 주성분으로 변환.
- 변수 선택: 둘 중 하나 제거.
- 정규화 (Ridge/Lasso): 정보 행렬에 \(\lambda I\) 를 더해 조건수 개선.
- 설계 개선: 실험이라면 직교 설계로 수집 단계에서 해결.
직관: 다중공선성은 “데이터의 질문 방식” 문제다. 두 공변량이 거의 같은 방향이면 “이 둘의 기여를 어떻게 나눌 것인가” 라는 질문에 데이터가 답을 주지 못한다. 처방은 “같은 방향” 을 데이터·변수·정규화 중 하나로 깨는 것.
8 코드 예시
8.1 Step 1: MLE = 정사영, 잔차의 직교성
import numpy as np
rng = np.random.default_rng(0)
n, p = 100, 3
X = rng.normal(size=(n, p))
X = np.column_stack([np.ones(n), X])
beta_true = np.array([1.0, 0.5, -0.3, 0.8])
y = X @ beta_true + rng.normal(scale=0.5, size=n)
# MLE = OLS
beta_hat = np.linalg.solve(X.T @ X, X.T @ y)
mu_hat = X @ beta_hat
resid = y - mu_hat
# 잔차 vs 공변량 직교성 검증: X^T r = 0
print(f"X^T r = {X.T @ resid}") # 모든 성분이 기계 정밀도 0
# Hat matrix 의 흔적 = p
H = X @ np.linalg.inv(X.T @ X) @ X.T
print(f"trace(H) = {H.trace():.2f} (p = {X.shape[1]})")
# 피타고라스: ||y||^2 = ||mu_hat||^2 + ||resid||^2
lhs = (y @ y)
rhs = (mu_hat @ mu_hat) + (resid @ resid)
print(f"||y||^2 = {lhs:.3f}, ||mu||^2 + ||r||^2 = {rhs:.3f}")세 가지 기하 사실 — 직교 조건, 사영 차원 = \(p\), 피타고라스 — 가 동시에 성립함을 수치 확인.
8.2 Step 2: 정보 곡선 (단일 공변량)
x = np.linspace(0, 10, 50)
y_1d = 2 + 0.5 * x + rng.normal(scale=1.0, size=50)
# beta 의 함수로서 SS
beta_grid = np.linspace(-0.5, 1.5, 200)
SS = [np.sum((y_1d - b * x) ** 2) for b in beta_grid]
beta_hat_1d = (x @ y_1d) / (x @ x)
info = (x @ x) # Fisher 정보 (σ^2=1 기준)
sigma2_hat = np.sum((y_1d - beta_hat_1d * x) ** 2) / (len(x) - 1)
se_hat = np.sqrt(sigma2_hat / info)
print(f"beta_hat = {beta_hat_1d:.4f}")
print(f"Fisher info x'x = {info:.2f}")
print(f"SE = {se_hat:.4f} (= sqrt(sigma2/info))")포물선의 최소점이 \(\hat\beta\), 2차 미분이 Fisher 정보, 표준오차가 그 역수의 제곱근. 세 개념이 한 곡선에서 읽힌다.
8.3 Step 3: 각도와 다중공선성
# 두 공변량의 각도를 조절하며 SE 관찰
for angle_deg in [90, 60, 30, 10, 5, 2]:
theta = np.deg2rad(angle_deg)
x1 = np.array([1, 0]) # 2D 단순화
x2 = np.array([np.cos(theta), np.sin(theta)])
# 많은 관측으로 확장 (각도 유지)
X_small = np.tile(np.column_stack([x1, x2]), (50, 1))
X_small = X_small + rng.normal(scale=0.01, size=X_small.shape)
XtX = X_small.T @ X_small
cov_scale = np.linalg.inv(XtX)
det = np.linalg.det(XtX)
se_ratio = np.sqrt(cov_scale[0, 0])
print(f"각도 {angle_deg:3d}° | det(X'X) = {det:8.2f} | SE(beta_1) ∝ {se_ratio:6.3f}")각도가 좁아질수록 행렬식이 급격히 감소, 표준오차가 폭발. \(1/\sin^2\theta\) 의존성을 수치로 확인.
8.4 Step 4: Orthogonal vs Non-orthogonal Type I SS
import pandas as pd
import statsmodels.api as sm
# 직교 공변량
x1_orth = rng.normal(size=200)
x2_orth = rng.normal(size=200) # 독립
y_orth = 1.5 * x1_orth + 0.8 * x2_orth + rng.normal(scale=1, size=200)
# 상관 공변량
x1_corr = rng.normal(size=200)
x2_corr = 0.9 * x1_corr + 0.436 * rng.normal(size=200) # 높은 상관
y_corr = 1.5 * x1_corr + 0.8 * x2_corr + rng.normal(scale=1, size=200)
def type1_ss(y, X):
m = sm.OLS(y, X).fit()
return np.sum((m.fittedvalues - y.mean())**2)
for label, (y_, x1_, x2_) in [("직교", (y_orth, x1_orth, x2_orth)),
("상관", (y_corr, x1_corr, x2_corr))]:
X1 = sm.add_constant(x1_)
X12 = sm.add_constant(np.column_stack([x1_, x2_]))
X21 = sm.add_constant(np.column_stack([x2_, x1_]))
ss_1_first = type1_ss(y_, X12) - type1_ss(y_, X1) # x2 after x1
ss_2_first = type1_ss(y_, X21) - type1_ss(y_, sm.add_constant(x2_)) # x1 after x2
print(f"{label}: x2 after x1 = {ss_1_first:6.2f} | x1 after x2 = {ss_2_first:6.2f}")직교에서는 순서 무관, 상관에서는 순서 의존 — Type I SS 의 실무 차이를 수치로 확인.
9 흔한 실수
| 실수 | 처방 |
|---|---|
| “잔차가 0” 을 “적합이 완벽” 으로 해석 | 잔차가 \(\mathbf{X}\) 와 직교일 뿐, 크기는 적합도 별도 지표 |
| 다중공선성 있을 때 개별 계수 해석 | 계수 분해가 불안정. Contrast 또는 조건부 해석 |
| 단변량 유의성으로 변수 선택 | 다변량에서 혼란변수가 드러날 수 있음 (예 3 의 기하) |
| \(R^2\) 높으면 “좋은 모형” | 정보 표면이 평평해도 \(R^2\) 은 높을 수 있음. SE 와 cond(X’X) 봐야 |
| Type I SS 를 “최종 답” 으로 보고 | 공변량 상관 있으면 순서에 의존. Type III 또는 partial F 고려 |
| \(\sigma^2\) 를 known 으로 가정 | 거의 항상 미지. \(s^2 = D_{\min}/(n-p)\) 로 추정 |
10 요약
- MLE 방정식 \(\mathbf{X}^\top(\mathbf{y}-\hat{\boldsymbol\mu}) = \mathbf{0}\): 잔차가 공변량과 직교.
- 기하 해석: 적합 = \(\mathbf{X}\) 열공간으로의 정사영. 피타고라스로 최소거리 증명.
- Fisher 정보: 이탈도 포물선의 2차 도함수. \(I = \mathbf{X}^\top\mathbf{X}/\sigma^2\). 분자는 설계, 분모는 측정.
- 표준오차 \(= \sigma/\sqrt{\mathbf{x}^\top\mathbf{x}}\): 정보의 역수의 제곱근.
- 2 공변량 기하: 세 사영 \(P_1, P_2, P_{12}\). “before/after” SS 의 피타고라스 분해. 직교 설계에서는 순서 무관.
- 정보 표면: \((\beta_1,\beta_2)\) 평면의 타원 등고선. 고유값이 “모든 방향의 정보량”.
- 각도와 다중공선성: \(|\mathbf{X}^\top\mathbf{X}| = \|\mathbf{x}_1\|^2\|\mathbf{x}_2\|^2\sin^2\theta\). 각도가 좁으면 SE 폭증, 계수 불안정.
한 줄 요약: §3.6 은 회귀의 대수를 기하로 번역한다. 정사영·포물선·타원·각도 네 그림을 내재화하면 MLE·SE·정보·다중공선성의 모든 계산이 하나의 그림에서 읽히며, GLM 의 IRLS 가 “매 스텝마다 가중 내적으로의 정사영” 이라는 확장이 자연스러워진다.
11 관련 주제
선행 지식
- 선형 예측자의 구성 — Systematic Component
- Aliasing — 식별불가의 두 얼굴 — 정보 행렬이 특이행렬인 경우
관련 개념
- GLM 적합 알고리즘 — IRLS 완전 유도 — 본 절의 기하를 가중 OLS 로 일반화
- 다중 선형회귀
- 분산분석 개요 — before/after SS 의 전통 해석
후속 주제
- Tables as data (McCullagh §3.7) — 주변 합 맞춤의 실무
- Algorithms for least squares (McCullagh §3.8) — QR·Cholesky 수치 구현
- Ridge 회귀 — 정보 행렬 특이성 완화