Adjustments of the Estimating Equations — 첨도·자유도 보정과 \(Q_M^+\) (McCullagh §10.5)
이중 GLM 산포 추정식의 2³=8 변종·\((1+\rho_4/2)^{-1}\)·REML 유비
\(Q^+\) 로 유도된 산포 추정식은 \(d_i \sim \phi_i \chi_1^2\) 를 암묵적으로 가정한다. 실제 자료는 첨도 \(\rho_4\) 와 평균 모형에 적합된 \(p\) 개 모수 때문에 \(d_i\) 의 평균·분산이 표준 감마 가정에서 벗어난다. §10.5 는 두 보정 — 사전 가중 \((1+\rho_4/2)^{-1}\) 과 자유도 계수 \(\nu/n\) — 을 통해 \(Q_M^+\) 를 정의하고, \(r_P^2\)/\(r_D^2\) · 가중/무가중 · df-보정/무보정의 2³=8 조합을 체계화한다.
Statistics
GLM
저자
Kwangmin Kim
공개
2026년 04월 19일
1 개요
§10.4 에서 확장 준-가능도 \(Q^+\) 로부터 산포 추정식 (10.5) 를 유도했다. 이 식은 표면적으로 깔끔하지만, 두 가지 기본 가정을 내포한다.
산포 응답변수 \(d_i\) 의 분산이 \(2\phi_i^2\) 이다 (즉 \(d_i \sim \phi_i \chi_1^2\), 감마족의 표준 형태).
평균 모형을 적합하기 전의 “이상적 잔차”를 본다 (즉 \(p\) 개 모수 적합으로 인한 자유도 소비를 무시한다).
두 가정은 모두 실제 자료에서 깨진다.
첨도 편차: 정규 외 분포는 \(\text{var}(d_i) = 2\phi_i^2(1+\rho_4/2)\) 로, \(\rho_4 > 0\) 이면 과산포, \(\rho_4 < 0\) 이면 과밀집이다.
자유도 손실: \(\beta\) 를 \(p\) 차원 추정하면 \(d_i\) 의 평균이 대략 \(\phi_i \cdot (n-p)/n\) 로 축소된다.
§10.5 는 이 두 편차를 보정하기 위한 체계적 방법을 제시한다. 결과는 \(Q^+ \to Q_M^+\) 로의 수정, 그리고 “어떤 산포 응답을 쓸지, 가중을 줄지, 자유도를 보정할지”의 \(2^3=8\) 가지 변종이다.
왜 이 절을 따로 다루는가
§10.4 의 \(Q^+\) 는 “이중 GLM 을 하나의 목적함수로 표현할 수 있다”는 이론적 승리다. 그러나 실무에서는 그 단일 목적함수가 편향된 산포 추정을 낳는다. §10.5 는 이 이론-실무 간극을 명시적으로 드러내고, 추정식 수준에서 수정하는 일관된 처방을 제공한다. Prentice (1988, 과산포 이항), Smyth (1989, double GLM), Nelder & Lee 의 후속 연구가 모두 이 절의 보정식 위에 서 있다.
여기서 \(b = b(\phi,\mu) = (5\rho_3^2 - 3\rho_4)/12\) 는 보통 작은 보정이다. Table 10.1 의 마지막 열이 이 \(b\) 값이다.
왜 deviance 가 “작은” 보정으로 끝나는가? Deviance 는 이미 saddlepoint 근사와 연결되어 \(\chi^2\) 에 가깝도록 설계되었기 때문이다. \(r_D^2\) 는 정규성을 따라가도록 “미리 변환된” 응답이라, Pearson 처럼 원척도 4차 누율이 직접 누적되지 않는다.
이는 “\(d_i\) 의 실제 분산이 \(2\phi_i^2(1+\rho_4/2)\) 니까, 역수 가중으로 표준화하자”는 Weighted Least Squares 논리다. \(\rho_4\) 가 \(\phi, \mu\) 에 의존하면 \(\hat\rho_{4,i}\) 도 반복적으로 갱신되어야 한다.
실무 팁
Prentice (1988) 은 과산포 이항 자료에서 이 보정이 \(\beta\)-binomial 적합 결과를 상당히 개선함을 보였다. 특히 \(\pi\) 가 0 이나 1 에 가까운 상황 — 분모 \(\pi(1-\pi)\) 가 작아 \(1 + \rho_4/2\) 가 폭발 — 에서 보정 없이는 산포 효과가 과장된다.
4 §10.5.2 자유도 보정 (Degrees-of-Freedom Adjustment)
4.1 문제 진단
\(Q^+\) 로 유도된 산포 추정식은 평균 모형이 관측치로부터 \(p\) 개 모수를 흡수했다는 사실을 반영하지 않는다. 결과는 정규 선형모형의 편향된 MLE 와 유사하다.
정규 선형모형에서 \(\hat\sigma_{ML}^2 = RSS/n\) 은 \(E(\hat\sigma_{ML}^2) = \sigma^2 (n-p)/n\) 로 편향된다. 비편향 추정량은 \(s^2 = RSS/(n-p)\) 이다. GLM 의 이중 모형에서도 동일한 현상이 벌어진다 — \(d_i = (y_i-\hat\mu_i)^2/V(\hat\mu_i)\) 의 평균이 \(\phi_i\) 가 아니라 \(\phi_i(n-p)/n\) 에 가깝다.
직관: “평균 모형이 잔차를 먹는다”
\(y_i\) 의 변동을 \(\hat\mu_i\) 가 부분적으로 설명하면, 남는 변동 \(y_i - \hat\mu_i\) 는 체계적으로 작아진다. 산포 추정이 이를 모르고 \(d_i\) 를 \(\phi_i\) 의 표본으로 다루면, \(\phi_i\) 가 과소 추정된다. 과소 추정된 \(\phi_i\) 는 \(\beta\) 의 가중 IRLS 에서 가중치 \(1/\phi_i\) 를 과대 평가하게 만들고, 결국 \(\beta\) 의 표준오차가 체계적으로 작아진다 — 즉 다시 type I error 증가.
4.2\(Q_M^+\) 의 정의
\(Q^+\) 의 두 번째 항 \(\sum_i \log(\phi_i V(y_i))\) 에 \(\nu/n\) 을 곱하여 수정된 기준을 정의한다.
자유도 보정 \(\nu/n\) 의 효과는 제한 최대우도 (Restricted Maximum Likelihood, REML) 추정과 점근적으로 동등하다. REML 은 \(\beta\) 에 직교하는 방향으로 우도를 사영한 후 산포 모수만 추정하여, \(\beta\) 의 불확실성이 \(\phi\) 추정에 오염되지 않도록 만든다. §7.2 조건부 우도 접근과 같은 뿌리다.
실무에서 \(\text{lme4}\) (선형 혼합모형), \(\text{dglm}\) (이중 GLM), \(\text{geepack}\) 등이 기본 옵션으로 REML 혹은 df-조정 추정을 쓰는 이유가 바로 이것이다. ML 의 편향은 샘플 크기가 작거나 \(p\) 가 상대적으로 클 때 심각해진다.
자유도 보정은 \((\nu/n)\sum_i \log\phi_i\) 에만 영향을 미치고, 이는 절편 \(\gamma_0\) 만을 이동시킨다. 즉 산포에 대한 공변량 효과 \(\gamma_1, \gamma_2, \ldots\) 의 추정치는 변하지 않는다.
해석: 로그 연결 하에서 “산포가 어떤 공변량에 얼마나 반응하는가” 는 df 보정과 무관하다. 오직 “기저 산포 수준이 얼마인가” 만 보정된다. 공정 최적화 관점에서 대부분의 관심은 \(\gamma_0\) 가 아닌 \(\gamma_j\) (\(j \geq 1\)) 에 있으므로, 로그 연결 이중 GLM 에서는 df 보정의 영향이 종종 제한적이다.
4.5 중요 예외: beta-binomial
베타-이항 모형에서 산포 인자는
\[
\phi_i = 1 + \theta(m_i - 1)
\]
이다. 여기서 \(\theta\) 는 군집 내 상관 모수, \(m_i\) 는 군집 크기다. 이 경우 \(\phi_i\) 가 \(\log\) 선형이 아니므로 df 보정이 \(\theta\) 추정치 자체에 영향을 준다. 작은 \(m_i\) 에서 \(Q^+\) 와 \(Q_M^+\) 가 실질적으로 다른 \(\hat\theta\) 를 내놓는다.
교훈
산포 연결이 \(\log\) 가 아니거나, 산포 모수가 제약된 형태(\(\phi_i = 1 + \theta(m_i-1)\) 처럼)를 가질 때는 df 보정이 단순한 절편 이동이 아니다. 이 경우 \(Q_M^+\) 를 반드시 사용한다.
5 §10.5.3 2³=8 변종과 선택 지침
이중 GLM 산포 추정식은 세 가지 독립적 선택이 맞물린다.
선택
옵션 A
옵션 B
산포 응답
\(d = r_P^2 = (y-\mu)^2/V(\mu)\)
\(d = r_D^2\) (deviance)
사전 가중
1 (무가중)
\((1+\rho_4/2)^{-1}\) (첨도 보정)
자유도 보정
미적용 (\(Q^+\))
적용 (\(Q_M^+\), \(\nu/n\) 계수)
총 \(2^3 = 8\) 가지 조합이 가능하다.
5.1 각 조합의 성격
#
응답
가중
df 보정
비고
1
\(r_P^2\)
무
무
순수 \(Q^+\) (§10.4 기본형)
2
\(r_P^2\)
무
유
\(Q_M^+\) — 가장 자주 쓰는 실용형
3
\(r_P^2\)
유
무
Prentice (1988) 과산포 이항
4
\(r_P^2\)
유
유
풀 보정 Pearson
5
\(r_D^2\)
무
무
Deviance \(Q^+\)
6
\(r_D^2\)
무
유
Deviance \(Q_M^+\)
7
\(r_D^2\)
유
무
Deviance + 첨도
8
\(r_D^2\)
유
유
풀 보정 deviance
5.2 McCullagh 의 권고
교재는 다음과 같이 정리한다.
자유도 보정은 하는 편이 낫다 — REML 유비에 따라 산포 추정 편향을 줄인다.
첨도 보정은 \(\rho_4\) 를 합리적으로 추정할 수 있을 때 권장된다. \(\rho_4\) 를 자료에서 추정하는 것은 노이즈가 크므로, 분포 형태가 명확할 때(포아송·이항·감마)만 유용하다.
\(r_P^2\) vs \(r_D^2\) 선택은 명확한 결론이 없다. Deviance 잔차가 점근적 \(\chi^2\) 에 더 가까우나, Pearson 잔차가 계산과 해석이 직관적이다.
\(Q^+\) 기준과 최적 추정 이론의 경계
8 가지 변종 중 \(Q^+\) 가 최적화 기준이 되는 경우는 오직 두 가지 — (1) 와 (2) — 이다. 나머지 6 가지 조합은 단일 스칼라 기준이 아니라 추정식 집합으로만 정의된다. 이때는 §9.4 의 최적 추정함수 이론(Godambe-Thompson, §10.6)이 직접 적합성을 평가한다.
import numpy as npfrom scipy.stats import gammarng = np.random.default_rng(42)n =60X = np.column_stack([np.ones(n), rng.normal(size=n)])U = np.column_stack([np.ones(n), rng.normal(size=n)])beta_true = np.array([2.0, 0.5])gamma_true = np.array([-1.0, 0.4])mu_true = X @ beta_truephi_true = np.exp(U @ gamma_true)y = rng.gamma(shape=1/phi_true, scale=mu_true*phi_true) # Gamma GLMdef V(mu): return mu**2# Gamma variance functiondef Vp(mu): return2*mudef Vpp(mu): return2*np.ones_like(mu)def fit_mean(y, X, phi):"""Weighted IRLS stub for log link (identity here for brevity).""" W = np.diag(1/phi) beta = np.linalg.solve(X.T @ W @ X, X.T @ W @ y)return betadef fit_dispersion(d, U, weights=None, df_factor=1.0):"""log-link gamma GLM for d_i on U, with prior weights and df scaling."""if weights isNone: weights = np.ones_like(d) log_d = np.log(np.maximum(d, 1e-10))# df_factor scales the log-link normalization implicitly via variance effective_w = weights * df_factor W = np.diag(effective_w) gamma_hat = np.linalg.solve(U.T @ W @ U, U.T @ W @ log_d)return gamma_hatbeta_hat = fit_mean(y, X, phi=np.ones(n))mu_hat = X @ beta_hatrP2 = (y - mu_hat)**2/ V(mu_hat)p = X.shape[1]nu = n - pdf_factor = nu / nphi_naive = np.exp(U @ gamma_true)rho3 = np.sqrt(phi_naive) * Vp(mu_hat) / np.sqrt(V(mu_hat))rho4 = phi_naive * Vpp(mu_hat) + rho3**2kurt_weight =1.0/ (1.0+ rho4/2.0)combos = {"#1 Q+ (rP2, no-w, no-df)": fit_dispersion(rP2, U),"#2 Q_M+ (rP2, no-w, df)": fit_dispersion(rP2, U, df_factor=df_factor),"#3 Prentice (rP2, w, no-df)": fit_dispersion(rP2, U, weights=kurt_weight),"#4 Full (rP2, w, df)": fit_dispersion(rP2, U, weights=kurt_weight, df_factor=df_factor),}print(f"true gamma = {gamma_true}")for name, gh in combos.items():print(f"{name:42s} -> gamma_hat = {gh.round(3)}")
출력을 보면 df 보정을 적용한 조합이 true \(\gamma_0\) 에 더 가까이, 첨도 보정을 적용한 조합이 \(\gamma_1\) 의 표준오차(위 코드에는 미계산) 측면에서 더 신뢰할 만한 값을 낸다.
9 R 구현 예시 — dglm 패키지
코드
library(dglm)set.seed(42)n <-60x <-rnorm(n); u <-rnorm(n)mu <-2+0.5* xphi <-exp(-1+0.4* u)y <-rgamma(n, shape =1/phi, scale = mu * phi)# dglm 은 자동으로 자유도 보정 (method="reml") 또는 ML 중 선택fit_ml <-dglm(y ~ x, ~ u, family =Gamma(link="log"), method ="ml")fit_reml <-dglm(y ~ x, ~ u, family =Gamma(link="log"), method ="reml")summary(fit_ml)$dispersion.summary # Q+ 에 해당summary(fit_reml)$dispersion.summary # Q_M+ 에 해당 (df 보정)# 첨도 보정은 dglm 에 직접 옵션이 없고, 가중을 수동으로 넣어 fit 함rho4_hat <- phi *2# Gamma 의 경우 phi * V''(mu) / V(mu) = 2*phiw_kurt <-1/ (1+ rho4_hat/2)fit_kurt <-dglm(y ~ x, ~ u, family =Gamma(link="log"),weights = w_kurt, method ="reml")
dglm 동작 요약
method="ml": \(Q^+\) 기반. 조합 #1 / #5 에 해당.
method="reml": \(Q_M^+\) 기반. 조합 #2 / #6 에 해당.
weights 인자로 첨도 보정 수동 투입: 조합 #3·#4·#7·#8 로 확장.
로그 연결이 기본이라, 대부분의 경우 method 선택의 차이는 산포 절편에 국한된다. 하지만 공변량 효과가 의심스럽게 약하거나 강할 때 두 방법 비교가 진단 도구가 된다.
즉 정규 이론의 비편향 분산 추정량이 자동으로 나온다. \(Q^+\) 를 쓰면 \(\hat\phi = \sum d_i/n\) 로 편향된다 — 고전 MLE.
일관성 확인
이 예시는 \(Q_M^+\) 가 정규 이론의 \(s^2\) 을 일반화한 것임을 명시한다. 지수족 전반에서 동일한 논리 — “평균 모형 적합으로 잃은 자유도를 산포 추정식에서 되돌려주기” — 가 작동한다.
11 진단 체크리스트
체크
질문
조치
분포 형태
평균 척도 대비 \(\phi\) 가 크거나, 카운트가 희박한가
첨도 보정 고려
자유도
\(p/n > 0.1\) 또는 \(n-p < 30\)
df 보정 필수
산포 연결
\(\log\) 가 아닌 연결 혹은 제약형 \(\phi_i\)
df 보정이 공변량 효과에도 영향 → \(Q_M^+\) 사용
잔차 분포
\(r_P^2\) 의 히스토그램이 \(\chi_1^2\) 에서 크게 벗어남
\(r_D^2\) 로 대체 검토
추정치 변동
\(Q^+\) 와 \(Q_M^+\) 추정이 10% 이상 차이
두 결과 모두 보고
12 한계와 이후 단계
§10.5 의 보정은 두 가지 부분적 해결책이다.
\(\rho_4\) 추정의 신뢰성: 분포 형태를 안다고 가정한 Table 10.1 은 이상적이다. 실제로는 \(\rho_4\) 를 자료로부터 추정해야 하며, 표본이 작으면 노이즈가 크다.
\(Q^+\) 자체의 한계: \(Q^+\) 는 수정 가능한 단일 기준이지만, 산포 추정이 평균 추정에 미치는 역영향(가중 IRLS 의 weights 가 \(\hat\phi\) 에 의존)을 이론적으로 완전히 조정하지 않는다.
이 한계를 넘어서는 방향이 §10.6 공동 최적 추정 방정식(Joint optimum estimating equations) 이다. Godambe & Thompson (1988) 의 접근은 \((g_{1i}, g_{2i}) = (Y_i - \mu_i,\, (Y_i-\mu_i)^2 - \phi_i V(\mu_i))\) 의 공분산 구조를 명시적으로 사용하여 \((\beta, \gamma)\) 를 동시에 최적화한다. §10.5 의 보정들이 “부분 수정” 이라면, §10.6 은 “구조적 재설계” 다.