1 왜 이항 우도를 따로 다루는가
우도 이론의 일반 결과 (Ch.2) 는 모든 GLM 에 적용된다. 그런데 이항 자료에는 고유한 병리 가 있다.
- 정준 링크 (logit) 에서의 구조적 단순성: \(\mathbf{X}^\top\mathbf{y}\) 가 \(\boldsymbol\beta\) 의 충분통계량. 스코어 방정식이 “moments matching” 으로 환원.
- 희소성 (sparseness): \(m_i = 1\) 인 개체-수준 이진 자료에서 이탈도 \(D\) 가 \(\hat{\boldsymbol\beta}\) 의 함수로 퇴화 — 적합도 검정 불가.
- \(\chi^2\) 근사의 범위: \(D \sim \chi^2_{n-p}\) 근사는 \(m_i \to \infty\) 에서만 성립. 실무에서 자주 위반.
- 편향의 비대칭: 로짓 모형의 \(\hat\beta\) 편향이 왜도 cumulant 구조로 드러남.
- 외삽의 위험: 관측 범위 내에서 거의 같은 적합 확률을 주는 네 링크가 외삽에서 \(10^{20}\) 배 이상 차이.
§4.4 는 이런 이항 특유의 문제들을 하나씩 다룬다.
직관: 이항 GLM 은 단순하지만 자료 구조 (\(m_i\) 가 크다·작다) 에 따라 통계적 성질이 극적으로 달라진다. 같은 우도 이론이 “큰 \(m_i\)” 에선 잘 작동하다가 “작은 \(m_i\)” 에선 기본 가정이 무너진다. §4.4 의 교훈은 “\(m_i\) 가 작을 때는 다르게 생각하라” 는 것.
2 로그우도와 충분통계량 (§4.4.1)
2.1 \(\pi\) 의 함수로서의 로그우도
\(Y_i \sim \mathrm{Bin}(m_i, \pi_i)\) 의 로그우도 (상수 \(\log\binom{m_i}{y_i}\) 제외):
\[ \ell(\boldsymbol\pi; \mathbf{y}) \;=\; \sum_{i=1}^n\left\{y_i\log\frac{\pi_i}{1-\pi_i} + m_i\log(1-\pi_i)\right\} \]
이 표현은 두 부분으로 깔끔하게 나뉜다.
- \(y_i\log\{\pi_i/(1-\pi_i)\}\): 관측값 \(y_i\) 와 로짓의 곱.
- \(m_i\log(1-\pi_i)\): \(m_i\) 와 정규화 항의 곱.
2.2 로짓 링크의 특수한 대수적 단순성
\(\text{logit}(\pi_i) = \eta_i = \mathbf{x}_i^\top\boldsymbol\beta\) 대입:
\[ \ell(\boldsymbol\beta; \mathbf{y}) \;=\; \sum_i \sum_j y_i x_{ij}\beta_j \;-\; \sum_i m_i\log\left(1 + \exp\sum_j x_{ij}\beta_j\right) \]
핵심 관찰: 로그우도가 \(\mathbf{y}\) 에 대해 \(\mathbf{X}^\top\mathbf{y}\) 만을 통해 의존.
이 \(p\) 개 선형 결합 \(\mathbf{X}^\top\mathbf{y}\) 가 \(\boldsymbol\beta\) 의 충분통계량. 지수족 정준 링크의 일반 결과 (§2.2) 가 이항-logit 에서 구체화된 모습.
2.3 충분통계량의 실무 결과
- 스코어 방정식의 단순성: \(\mathbf{X}^\top\mathbf{y} = \mathbf{X}^\top\hat{\boldsymbol{\mu}}\) — Moments matching 으로 직접 해석.
- 로그우도의 오목성: \(\beta\) 에 대해 엄격 오목 → MLE 유일.
- Fisher 정보 = 관측 정보: 정준 링크의 특성. Newton-Raphson = Fisher scoring.
2.4 로그우도를 \(\boldsymbol\pi\) 와 \(\boldsymbol\beta\) 로 분리
McCullagh 의 실용적 조언: “\(\ell(\boldsymbol\pi; \mathbf{y})\) 형태를 유지하고 필요할 때만 \(\boldsymbol\beta\) 로 대입”. 이유:
- 모형 비교 시 공변량 집합이 바뀌지만 \(\ell(\boldsymbol\pi; \mathbf{y})\) 는 불변.
- \(\boldsymbol\pi\) 가 “관찰 가능한 양” 에 가까워 해석 편의.
- 제약 최대화·profile likelihood 계산에 유리.
직관: 로지스틱 회귀의 “단순함” 은 정준 링크가 주는 충분통계량 구조에서 나온다. 선형 예측자·moment matching·충분성이 하나로 묶이는 것이 이항 GLM 의 수학적 아름다움.
3 MLE 추정 — IRLS 의 구체화 (§4.4.2)
3.1 스코어 함수 유도
\(\ell(\boldsymbol\pi; \mathbf{y})\) 를 \(\pi_i\) 에 대해 미분.
\[ \frac{\partial \ell}{\partial \pi_i} \;=\; \frac{y_i - m_i\pi_i}{\pi_i(1-\pi_i)} \]
체인룰:
\[ \frac{\partial \ell}{\partial \beta_r} \;=\; \sum_i \frac{y_i - m_i\pi_i}{\pi_i(1-\pi_i)}\cdot\frac{d\pi_i}{d\eta_i}\cdot x_{ir} \]
3.2 Fisher 정보 행렬
\(-E[\partial^2\ell/\partial\beta_r\partial\beta_s]\) 계산하면
\[ \{\mathbf{X}^\top\mathbf{W}\mathbf{X}\}_{rs},\qquad \mathbf{W} = \mathrm{diag}\left\{m_i\frac{(d\pi_i/d\eta_i)^2}{\pi_i(1-\pi_i)}\right\} \]
이 \(\mathbf{W}\) 는 “링크에 따라 달라지는 가중치”.
3.3 링크별 가중치
| 링크 | \(d\pi/d\eta\) | \(W_{ii}\) |
|---|---|---|
| Logit | \(\pi(1-\pi)\) | \(m_i\,\pi_i(1-\pi_i)\) |
| Probit | \(\phi(\eta)\) | \(m_i\,\phi(\eta_i)^2/\{\pi_i(1-\pi_i)\}\) |
| Cloglog | \((1-\pi)\{-\log(1-\pi)\}\) | \(m_i\,\{-\log(1-\pi_i)\}^2(1-\pi_i)/\pi_i\) |
로짓에서 \(\mathbf{W}\) 가 가장 단순한 이항 분산 \(m_i\pi_i(1-\pi_i)\) — 정준 링크의 또 다른 이점.
3.4 IRLS 업데이트
작업 반응 (adjusted dependent variate)
\[ z_i \;=\; \hat\eta_i + \frac{y_i - m_i\hat\pi_i}{m_i}\cdot\frac{d\eta_i}{d\pi_i} \]
새 추정치
\[ \hat{\boldsymbol\beta}_1 \;=\; (\mathbf{X}^\top\hat{\mathbf{W}}\mathbf{X})^{-1}\mathbf{X}^\top\hat{\mathbf{W}}\mathbf{z} \]
(§2.5 의 일반 IRLS 를 이항에 대입.)
3.5 수렴과 완전 분리
일반적으로 빠른 수렴 — 5–10 회.
예외 — 완전 분리 (complete separation): - 어떤 공변량 선형 결합이 \(y\) 를 완벽히 분리. - 적합된 확률 \(\hat\pi_i\) 가 0 또는 1 로 가는 방향. - \(|\hat\beta_j| \to \infty\), 수렴 실패. - 그러나 \(\hat\pi_i\) 자체는 빠르게 수렴 — 이탈도는 유한값으로 근접.
이 비대칭이 McCullagh 의 실무 경고: 두 수렴 기준 병행. 1. 이탈도 변화 (주 기준): 적합된 확률의 변화. 2. 계수 / 선형 예측자 변화 (보조 기준): 발산 감지.
이탈도만 보면 “수렴한 것처럼 보이지만” 계수는 \(\pm\infty\) 로 발산 중.
3.6 존재·유일성 조건
Wedderburn (1976), Haberman (1977):
- 링크 함수가 log-concave (4.3 의 네 링크 모두 해당).
- 모든 \(i\) 에서 \(0 < y_i < m_i\) (경계값 아님).
두 조건 만족 시 MLE 유한하고 유일.
경계값 (\(y_i = 0\) 또는 \(m_i\)) 이 있으면 MLE 가 무한으로 발산 가능. 이때 Firth 벌점 이나 Jeffreys 사전분포 로 정규화 필요.
3.7 시작값 선택
표준 선택: \(\tilde\mu_i = (y_i + 0.5)/(m_i + 1)\).
이는 Laplace 평활 — 경계 회피 + 약한 shrinkage. 발산 방지에 도움.
직관: IRLS 는 빠르고 안정적이지만 “경계 병리” 에 취약. 특히 희귀 결과 (drugs with 0% response) 또는 우위 결과 (100% infected) 에서는 수렴 기준과 시작값을 신중히 설정.
4 이탈도 함수 (§4.4.3)
4.1 정의
포화 모형 (각 \(\pi_i = y_i/m_i\)) 의 로그우도에서 현재 모형 로그우도를 뺀 양의 2 배.
\[ D(\mathbf{y}; \hat{\boldsymbol\pi}) \;=\; 2\sum_i\left\{y_i\log\frac{y_i}{\hat\mu_i} + (m_i - y_i)\log\frac{m_i - y_i}{m_i - \hat\mu_i}\right\} \]
(\(y_i = 0\) 또는 \(m_i\) 인 항은 극한 0.) 분포 자유 (dispersion-free), 모형 복잡도 증가 시 감소.
4.2 두 가지 용도
용도 1 — 절대 적합도 (\(D \sim \chi^2_{n-p}\) 근사 활용):
가정: 1. 관측 독립 이항 (과산포 없음). 2. \(m_i \to \infty\) 모든 \(i\) 에 대해, 특히 \(m_i\pi_i(1-\pi_i) \to \infty\).
이 극한에서 \(D\) 는 \(\hat{\boldsymbol\pi}\) 와 근사 독립이고 \(\chi^2_{n-p}\) 분포.
용도 2 — 모형 비교 (LRT):
\[ D(\mathbf{y}; \hat{\boldsymbol\mu}_0) - D(\mathbf{y}; \hat{\boldsymbol\mu}_A) \;=\; 2\ell(\hat{\boldsymbol\mu}_A; \mathbf{y}) - 2\ell(\hat{\boldsymbol\mu}_0; \mathbf{y}) \]
이탈도 차이 = 우도비 검정 통계량. \(\chi^2_{p_A - p_0}\) 근사가 훨씬 약한 가정 하에서 성립 (\(n\) 크면 충분).
4.3 핵심 구분
- \(D\) 자체의 \(\chi^2\) 근사: \(m_i \to \infty\) 필요. 희소 자료에서 깨짐.
- \(\Delta D\) 의 \(\chi^2\) 근사: \(n \to \infty\) 만으로 OK. 널리 유효.
실무 규칙: - 절대 적합도 검정에서 \(D\) 를 직접 쓰는 것은 위험. - 중첩 모형 비교에서는 \(\Delta D\) 신뢰 가능.
4.4 \(D\) vs Pearson \(X^2\)
둘 다 동일한 \(\chi^2_{n-p}\) 극한 분포 (큰 \(m\) 가정), 하지만:
- \(D\): 모형 비교에 최적 (\(\Delta D\) = LRT).
- \(X^2\): 과산포 진단에 표준 (\(X^2/(n-p) \approx \phi\)).
직관: 이탈도는 “차이” 에 강하고 “절대값” 에는 약하다. 공통 편향이 차이에서 상쇄되기 때문. 모형 비교는 믿고, 적합도 판정은 조심.
5 편향과 정밀도 (§4.4.4)
5.1 1차 근사 결과
대표본에서 MLE 는
\[ E(\hat{\boldsymbol\beta} - \boldsymbol\beta) \;=\; O(n^{-1}) \]
\[ \mathrm{cov}(\hat{\boldsymbol\beta}) \;=\; (\mathbf{X}^\top\mathbf{W}\mathbf{X})^{-1}\{1 + O(n^{-1})\} \]
점근 정규 + 점근 불편. 표준 결과.
5.2 편향의 3차 cumulant 공식 (로짓)
\(O(n^{-1})\) 편향의 구체 형태:
\[ \kappa_{r,s,t} \;=\; \sum_i x_{ir}x_{is}x_{it}\cdot m_i\pi_i(1-\pi_i)(1-2\pi_i) \]
이것이 스코어의 왜도 3차 배열 (skewness array).
편향 추정:
\[ \mathrm{bias}(\hat\beta_r) \;\approx\; -\frac12\sum_{i,j,k}\kappa^{r,i}\kappa^{j,k}\kappa_{i,j,k} \]
(\(\kappa^{r,s}\) 는 정보 행렬의 역행렬 원소.)
5.3 \((1 - 2\pi)\) 인자의 의미
\(\pi = 0.5\) 에서 \((1 - 2\pi) = 0\) → 대칭 자료는 편향 0.
\(\pi\) 가 0 이나 1 에 가까우면 \((1-2\pi)\) 가 크고, 편향도 커짐. 극단 확률에서 편향이 심해지는 것.
5.4 왜도 (skewness)
\(\hat{\boldsymbol\beta}\) 의 3차 cumulant:
\[ \mathrm{cum}(\hat\beta_r, \hat\beta_s, \hat\beta_t) \;\approx\; -2\sum_{i,j,k}\kappa^{r,i}\kappa^{s,j}\kappa^{t,k}\kappa_{i,j,k} \]
편향과 동일 구조의 \(\kappa_{i,j,k}\) 를 공유.
5.5 Edgeworth 보정
정규 근사를 \(\kappa_{r,s,t}\) 로 보정 — 고차 근사. 소표본에서 신뢰구간 정확도 개선.
5.6 Firth 벌점의 원리
Firth (1993) 는 \(O(n^{-1})\) 편향을 완전히 제거하는 벌점
\[ \ell^*(\boldsymbol\beta) \;=\; \ell(\boldsymbol\beta) + \tfrac12\log|\mathcal I(\boldsymbol\beta)| \]
이것이 Jeffreys 사전 분포 + MAP 해석. 이항 로지스틱에서 완전 분리에서도 유한 해 보장. 현대 로지스틱 회귀의 표준 대안.
직관: 편향 공식의 \((1-2\pi)\) 인자가 “극단 확률 → 큰 편향” 의 패턴을 정확히 설명한다. Firth 벌점은 이 편향을 자료 한 점을 반 씩 추가 한 것과 같은 효과로 상쇄 — 매우 작은 정규화의 우아한 형태.
6 희소성의 치명적 효과 (§4.4.5)
6.1 극한 사례 — \(m_i = 1\) (개체별 이진)
모든 \(y_i \in \{0, 1\}\) 이므로 \(y\log y = (1-y)\log(1-y) = 0\) (극한). 이탈도 대수 전개:
\[ D \;=\; -2\hat{\boldsymbol\beta}^\top\mathbf{X}^\top\mathbf{y} - 2\sum_i\log(1-\hat\pi_i) \]
스코어 방정식 \(\mathbf{X}^\top\mathbf{y} = \mathbf{X}^\top\hat{\boldsymbol\mu}\) 대입하면
\[ D \;=\; -2\hat{\boldsymbol\eta}^\top\hat{\boldsymbol\pi} - 2\sum_i\log(1-\hat\pi_i) \]
6.2 치명적 결과
\(D\) 가 오직 \(\hat{\boldsymbol\beta}\) 의 함수! 관측 \(\mathbf{y}\) 의 정보가 사라짐. 즉
\[ D \mid \hat{\boldsymbol\beta} \;=\; \text{상수} \]
조건부로 퇴화 (degenerate). 적합도 검정에 쓸 수 없다.
6.3 직관적 이유
이진 자료 (\(m_i = 1\)) 에서 각 관측은 단일 비트. 모든 비트를 “로짓 모형” 이 완벽 적합하지 않더라도, 로짓 모수로 정확히 같은 예측값을 주는 모든 자료 세트는 같은 \(D\) 를 낸다. 즉 \(D\) 가 자료의 “세부 패턴” 을 보지 못함.
6.4 Pearson \(X^2\) 도 마찬가지
공통 \(\pi\) 모형 (\(Y_i \sim \mathrm{Bern}(\pi)\), \(\hat\pi = \bar y\)) 에서
\[ X^2 \;=\; \sum\frac{(y_i - \bar y)^2}{\bar y(1-\bar y)} \;=\; n \]
표본 크기 \(n\) 이 곧 통계량. 적합도 정보 0.
6.5 실무 처방
- 집계 (grouping): 공변량을 구간화해 covariate class 만들기. 각 클래스 \(m_i\) 가 커지면 \(\chi^2\) 근사 복원.
- Hosmer-Lemeshow 검정: 적합 확률을 10 분위로 구간화. 구간별 관측 vs 기대 비교.
- Residual 진단 플롯: 숫자 검정 대신 시각 진단 (Deviance residual vs fitted, Q-Q).
- 조건부 moments: 소수 \(m_i\) 에서는 McCullagh (1985) 의 조건부 평균·분산 근사 사용.
6.6 조건부 평균·분산 (McCullagh 1985)
\[ E(X^2 \mid \hat{\boldsymbol\beta}) \;\approx\; n - p - \tfrac12\sum_i\{1 - 6\hat\pi_i(1-\hat\pi_i)\}\hat V_{ii} + \cdots \]
\(\hat V_{ii}\) 는 hat matrix 의 대각 (leverage). 중급 희소 (\(m_i\) 작지만 \(> 1\)) 에서 근사 가능.
직관: 이진 자료의 “적합도 검정 불가” 는 응용 통계의 알려진 함정. “로지스틱 회귀를 돌렸더니 deviance 통계량이 나오네” 하고 믿으면 안 된다. \(m_i = 1\) 이면 의미 없는 숫자. 반드시 집계 후 재검정이거나 Hosmer-Lemeshow 등 대안 사용.
7 외삽의 위험 — 링크 함수의 압도적 영향 (§4.4.6)
7.1 문제 설정
독성학 실험: 고농도에서 반응 관찰 후 저농도에서 안전 여유 추정. 실험실에서는 농도를 높여 반응률을 키우고, 실무에서는 훨씬 낮은 노출의 최대 허용 용량 (maximum safe dose) 을 외삽.
7.2 교재 예시 (Table 4.3, 4.4)
관측 구간 \(x \in \{0, 1, 2\}\) (log 용량) 에서 네 링크 모두 거의 같은 적합.
| 용량 | 관측 \(y/m\) | Logit | Probit | Cloglog | Loglog |
|---|---|---|---|---|---|
| \(x = 0\) | 3/10 | 0.280 | 0.281 | 0.288 | 0.278 |
| \(x = 1\) | 5/10 | 0.540 | 0.540 | 0.519 | 0.558 |
| \(x = 2\) | 8/10 | 0.780 | 0.782 | 0.793 | 0.766 |
관측 구간 내에서는 적합값 차이 < 0.01 — 링크 선택이 거의 무의미해 보임.
7.3 외삽 결과 (Table 4.4)
\(x_0 = -3.912\) (용량 \(1/50\)) 로 외삽:
| 링크 | \(\hat\pi(x_0)\) |
|---|---|
| Logit | \(5.13 \times 10^{-3}\) |
| Probit | \(6.10 \times 10^{-4}\) |
| Cloglog | \(1.68 \times 10^{-2}\) |
| Loglog | \(1.1 \times 10^{-12}\) |
약 \(10^{10}\) 배 차이. 더 극단 외삽 (\(x_0 = -4.605\)) 에서는 \(10^{21}\) 배까지 벌어진다.
7.4 왜 이렇게 차이 나는가
각 링크의 꼬리 감소 속도가 다르다.
- Logit: \(\log\pi\) 로 감쇠 → 꼬리 느림.
- Probit: Gaussian 꼬리 → 더 빠름.
- Cloglog: \(e^\eta\) 로 감쇠 → 중간.
- Loglog: \(e^{-\eta}\) 로 이중 지수 감쇠 → 가장 빠름.
관측 구간에서 선형에 가까운 부분을 공유하지만, 외삽은 꼬리 모양에 의존 — 데이터로 결정 불가능.
7.5 Fieller 신뢰구간
용량 \(x_0\) 에서 특정 반응률 \(\pi_0\) 을 얻는 신뢰구간. 선형 결합
\[ \hat\beta_0 + \hat\beta_1 x_0 - g(\pi_0) \]
이 근사 정규. 분산
\[ v^2(x_0) \;=\; \mathrm{var}(\hat\beta_0) + 2x_0\,\mathrm{cov}(\hat\beta_0,\hat\beta_1) + x_0^2\,\mathrm{var}(\hat\beta_1) \]
신뢰구간
\[ \left|\frac{\hat\beta_0 + \hat\beta_1 x_0 - g(\pi_0)}{v(x_0)}\right| < k_{\alpha/2}^* \]
7.6 실무 권장
McCullagh 의 명시적 경고:
여러 링크에서 일치된 결과만 신뢰. 불일치하면 외삽의 본질적 불확실성을 보고에 명시.
단일 링크의 “점 추정” 은 과학적 증거가 되지 못한다. 특히 용량-반응 안전성·희귀 사건 확률 예측에서.
직관: “데이터가 본 적 없는 영역” 에서 확률을 말하려면 링크의 꼬리 모양이 결정적. 관측 구간 내 AIC 가 비슷해 보여도 외삽은 완전히 다른 세계. 극단값 예측은 통계가 아닌 모형 가정의 문제.
8 코드 예시
8.1 Step 1: 충분통계량 검증
import numpy as np
import statsmodels.api as sm
rng = np.random.default_rng(0)
n = 200
X = np.column_stack([np.ones(n), rng.normal(size=n), rng.normal(size=n)])
beta_true = np.array([-0.3, 1.0, 0.5])
eta = X @ beta_true
pi = 1 / (1 + np.exp(-eta))
y = rng.binomial(1, pi)
# 로짓 적합
m = sm.GLM(y, X, family=sm.families.Binomial()).fit()
# 스코어 방정식: X' y == X' mu_hat
lhs = X.T @ y
rhs = X.T @ m.fittedvalues
print(f"X' y - X' μ̂ 최대 차이: {np.abs(lhs - rhs).max():.2e}")
# 0 에 가까우면 moment matching 검증로짓에서 \(\mathbf{X}^\top\mathbf{y} = \mathbf{X}^\top\hat{\boldsymbol\mu}\) 가 스코어 방정식의 내용. 기계 정밀도 내 성립.
8.2 Step 2: 이탈도 vs \(\Delta D\) 의 \(\chi^2\) 근사 품질
from scipy import stats
# 큰 m (집계된 자료)
n_sim = 2000
D_samples = []
for _ in range(n_sim):
m_i = 20
n_obs = 15
X_sim = np.column_stack([np.ones(n_obs), rng.normal(size=n_obs)])
beta_sim = np.array([0.0, 0.5])
pi_sim = 1 / (1 + np.exp(-(X_sim @ beta_sim)))
y_sim = rng.binomial(m_i, pi_sim)
ym = np.column_stack([y_sim, m_i - y_sim])
try:
fit = sm.GLM(ym, X_sim, family=sm.families.Binomial()).fit(disp=0)
D_samples.append(fit.deviance)
except:
pass
D_samples = np.array(D_samples)
df_resid = n_obs - 2
print(f"큰 m (m_i=20, n_obs=15) 에서 D 의 분포")
print(f" 평균: {D_samples.mean():.2f} (이론 χ²_{df_resid} 평균: {df_resid})")
print(f" 분산: {D_samples.var():.2f} (이론 χ²_{df_resid} 분산: {2*df_resid})")큰 \(m\) 에서 이탈도가 \(\chi^2\) 이론값에 가깝다. 이진 자료 (\(m=1\)) 에서는 이 비교가 무너진다 (다음 Step).
8.3 Step 3: 이진 자료에서 이탈도의 퇴화
# m = 1 인 이진 자료
n = 200
X_bin = np.column_stack([np.ones(n), rng.normal(size=n)])
beta_true = np.array([0.0, 0.8])
y_bin = rng.binomial(1, 1/(1+np.exp(-(X_bin @ beta_true))))
fit_bin = sm.GLM(y_bin, X_bin, family=sm.families.Binomial()).fit(disp=0)
D_bin = fit_bin.deviance
# 이탈도를 공식 -2 eta' pi - 2 sum log(1-pi) 로 재계산
eta_hat = X_bin @ fit_bin.params
pi_hat = 1 / (1 + np.exp(-eta_hat))
D_formula = -2 * (eta_hat @ pi_hat) - 2 * np.sum(np.log(1 - pi_hat))
print(f"statsmodels 이탈도: {D_bin:.4f}")
print(f"공식 계산 이탈도: {D_formula:.4f}")
print(f"→ 이탈도가 β̂, π̂ 만의 함수 (y 에 무관) — 적합도 검정 불가")
# 같은 β 를 주는 다른 y 로도 같은 D? — 불가능하지만 D 의 예측력 없음 확인
from scipy.stats import chi2
p_value = 1 - chi2.cdf(D_bin, df=n - 2)
print(f"\n(잘못된) χ² 검정 p-value: {p_value:.4f}")
print("이 p-value 는 의미 없음 (이탈도가 자료 정보를 담지 않음)")\(m=1\) 이진 자료에서 이탈도가 “유도된 공식” 으로만 결정되어 자료 세부와 무관. \(\chi^2\) 검정은 무의미.
8.4 Step 4: Hosmer-Lemeshow 적합도 검정
import pandas as pd
def hosmer_lemeshow(y, pi_hat, groups=10):
"""HL 검정 — 적합 확률 분위수로 구간 후 관측 vs 기대"""
df = pd.DataFrame({"y": y, "pi": pi_hat})
df["decile"] = pd.qcut(df["pi"], q=groups, duplicates="drop", labels=False)
obs = df.groupby("decile")["y"].agg(["sum", "count"])
exp = df.groupby("decile")["pi"].sum()
# HL 통계
stat = ((obs["sum"] - exp) ** 2 / (exp * (1 - exp/obs["count"]))).sum()
df_hl = groups - 2
p = 1 - chi2.cdf(stat, df_hl)
return stat, p, df_hl
stat, p, df_hl = hosmer_lemeshow(y_bin, pi_hat)
print(f"Hosmer-Lemeshow 통계: {stat:.3f}, df={df_hl}, p={p:.4f}")
print("→ 이 검정은 m=1 자료에서도 유효한 적합도 진단")HL 검정은 구간화로 \(\chi^2\) 근사를 복원 — 이진 자료의 \(D\) 퇴화를 우회.
8.5 Step 5: 네 링크에서 외삽의 극단 차이
# McCullagh Table 4.3 의 교재 자료 재현
x_obs = np.array([0, 1, 2])
y_obs = np.array([3, 5, 8])
m_obs = np.array([10, 10, 10])
X_obs = np.column_stack([np.ones(3), x_obs])
Y_obs = np.column_stack([y_obs, m_obs - y_obs])
# 네 링크 적합
links = {
"logit": sm.families.links.Logit(),
"probit": sm.families.links.Probit(),
"cloglog": sm.families.links.CLogLog(),
}
print("관측 구간 내 적합값:")
for name, link in links.items():
m = sm.GLM(Y_obs, X_obs, family=sm.families.Binomial(link)).fit()
eta = X_obs @ m.params
pi_fit = link.inverse(eta)
print(f" {name:8s}: {pi_fit}")
# 외삽: x = -3.912 (용량 1/50)
print(f"\n외삽 π̂ at x = -3.912:")
for name, link in links.items():
m = sm.GLM(Y_obs, X_obs, family=sm.families.Binomial(link)).fit()
eta_extra = m.params[0] + m.params[1] * (-3.912)
pi_extra = link.inverse(np.array([eta_extra]))[0]
print(f" {name:8s}: {pi_extra:.3e}")관측 구간 내 <0.01 차이가 외삽에서 \(10^5 \sim 10^{10}\) 배로 확대.
9 흔한 실수
| 실수 | 처방 |
|---|---|
| \(m=1\) 자료에서 이탈도 \(\chi^2\) 검정으로 적합도 판정 | 퇴화 — 무의미. Hosmer-Lemeshow 등 대안 사용 |
| 절대 이탈도 값 검정과 이탈도 차이 검정을 같이 취급 | 전자는 큰 \(m\) 필요, 후자는 큰 \(n\) 만 필요 |
| 완전 분리 자료에서 계수 그대로 보고 | Firth 또는 Jeffreys 정규화로 유한 해 |
| 극단 확률 예측 외삽을 단일 링크로 | 복수 링크 병행. 불일치 시 외삽 신뢰구간 확장 |
| 편향 보정 없이 소표본 로지스틱 보고 | Firth 기본값 또는 bias-corrected 추정 |
| 희귀 결과 로지스틱에서 MLE 시작값 \(\pi = 0\) | \(\tilde\mu = (y+0.5)/(m+1)\) 로 경계 회피 |
10 요약
- 로그우도 구조: \(\ell(\boldsymbol\pi; \mathbf{y})\) 형태 유지 권장. 로짓에서 \(\mathbf{X}^\top\mathbf{y}\) 가 충분통계량, 스코어 방정식 = moment matching.
- MLE 계산: IRLS. 가중치 \(\mathbf{W}\) 는 링크 의존 (로짓은 \(m_i\pi_i(1-\pi_i)\)). 완전 분리 시 수렴 기준 이원화.
- 이탈도의 두 용도: (1) 절대 적합도 — 큰 \(m_i\) 필요. (2) 모형 비교 \(\Delta D\) — \(n\) 크면 OK, 훨씬 견고.
- 편향 구조: \(\hat\beta\) 편향이 \(\kappa_{r,s,t} \propto (1-2\pi)\) 에 비례. \(\pi\) 극단에서 악화. Firth 벌점이 \(O(n^{-1})\) 편향 제거.
- 희소성의 치명성: \(m_i = 1\) 에서 이탈도가 \(\hat\beta\) 의 함수로 퇴화. 적합도 검정 불가. 집계·HL·잔차 진단으로 대응.
- 외삽의 위험: 관측 내 유사 적합의 네 링크가 외삽에서 \(10^{10}\) 배 이상 차이. 복수 링크 점검 필수.
- Fieller 신뢰구간: 목표 확률을 주는 공변량 값의 신뢰집합. 선형 결합의 분산 공식 사용.
한 줄 요약: §4.4 는 이항 우도의 일반 성질 + 고유 병리 를 모두 정리한다. 이론적 단순성 (충분통계량·moment matching) 의 이면에 실무 함정 (희소성·외삽·완전 분리) 이 공존한다. “로지스틱 회귀는 쉽다” 는 일반 인식이 어떻게 무너지는지 — 그리고 어떻게 지켜야 하는지 — 가 이 절의 핵심 가르침이다.
11 관련 주제
선행 지식
- 이항 자료 GLM 개관 — Ch.4 전체 지도
- 이항분포 — 지수족 구조와 정준 모수
- 이항 반응 모형 — 링크 함수 — 네 링크 비교
- GLM 적합 알고리즘 — IRLS
- GLM 적합도 측정 — Deviance·Pearson
관련 개념
- Logistic Regression: Estimation — Newton-Raphson 심화
- GLM 잔차 3종 — 진단용 잔차
후속 주제
- Over-dispersion (McCullagh §4.5) — \(\phi > 1\) 처리
- Firth logistic — 완전 분리 대응
- Hosmer-Lemeshow 검정 — 희소 자료 적합도
- Model checking (Ch.12) — 잔차 진단 플롯