Model Specification for Joint Mean-Dispersion — 평균-산포 이중 GLM 의 모듈 설계

McCullagh & Nelder §10.2 — 평균 방정식·산포 방정식·연결·분산함수·상호 의존 알고리즘의 해부

Joint mean-dispersion 모형을 “한 쌍의 GLM” 으로 명시적으로 분해한다. \(\phi_i V(\mu_i)\) 의 승법 구조, 산포 응답 \(d_i\) 의 두 선택지 (\(r_P^2\) vs \(r_D^2\)), 산포 연결함수 (identity vs log), 산포 분산함수 \(V_D(\phi)\) 선택, 그리고 두 모형의 상호 의존성에서 교대 IRLS 가 자연스럽게 도출되는 원리를 상세히 다룬다.

Statistics
GLM
저자

Kwangmin Kim

공개

2026년 04월 19일

1 개요 — 두 모형을 어떻게 한 덩어리로 쓸 것인가

§10.1 에서 산포를 상수가 아닌 공변량의 함수로 모형화할 필요성을 논했다. 이제 그 포부를 구체적인 수학적 구조로 옮겨야 한다. §10.2 의 핵심 질문은 다음 네 가지다.

  1. 평균 모형의 분산 구조를 어떻게 쓰는가? — \(\mathrm{var}(Y_i) = \phi_i V(\mu_i)\) 의 승법 분해
  2. 산포 모형의 응답변수는 무엇인가? — \(r_P^2\) vs \(r_D^2\)
  3. 산포 GLM 의 분산함수 \(V_D\) 와 연결함수 \(h\) 는 어떻게 고르는가?
  4. 평균 모형과 산포 모형은 서로 어떻게 연결되는가? — 교대 적합 알고리즘

이 네 질문에 답하는 순간 이중 GLM 의 설계 도면이 완성된다. 이 포스트는 각 항목을 원리부터 실무 선택지까지 해부한다.

2 평균 방정식 — \(\phi_i V(\mu_i)\) 의 승법 분해

정의: 평균 부분 (Mean Sub-model)

\(n\) 개 독립 관측 \(Y_1, \ldots, Y_n\) 에 대해

\[ E(Y_i) = \mu_i, \qquad \eta_i = g(\mu_i) = \sum_j x_{ij} \beta_j, \qquad \mathrm{var}(Y_i) = \phi_i V(\mu_i) \tag{10.1} \]

여기서 \(V(\mu)\)기지의 분산함수, \(\phi_i\) 는 관측 \(i\)산포 모수, \(x_{ij}\) 는 공변량, \(\beta_j\) 는 회귀 계수다.

2.1\(\phi_i V(\mu_i)\) 인가 — 승법 분해의 두 층

식 (10.1) 의 분산은 두 층으로 나뉜다.

  • 층 1 (\(V(\mu_i)\)): 평균이 결정되면 분산이 얼마나 되어야 “표준”인지. 포아송이면 \(V(\mu) = \mu\), 이항이면 \(V(\pi) = \pi(1-\pi)/m\), 감마이면 \(V(\mu) = \mu^2\).
  • 층 2 (\(\phi_i\)): 그 표준으로부터 관측 \(i\) 가 얼마나 “이탈” 했는지. \(\phi_i = 1\) 이면 정확히 분포 가정 수준의 산포, \(\phi_i > 1\) 이면 과산포, \(\phi_i < 1\) 이면 저산포.

이 분리는 \(V(\mu)\) 의 함수형은 고정하고, \(\phi_i\) 만 공변량에 의존하게 한다는 선택이다. 예컨대 포아송 기반 모형에서 \(V(\mu) = \mu\) 는 유지하되, 관측 단위(병원·지역·배치)마다 다른 과산포 정도 \(\phi_i\) 를 허용한다. 분포 가족 자체를 바꾸지 않는다.

2.2 직관: 왜 \(V(\mu)\) 를 고정하고 \(\phi\) 만 바꾸는가

반사실 시나리오: 만약 \(V(\mu)\) 도 공변량 의존성을 가지면 어떤 일이 생기는가? 한 관측은 포아송처럼, 다른 관측은 감마처럼 분산 구조가 완전히 다른 잡탕 모형이 된다. 해석은 어려워지고, 준우도의 근거도 흔들린다. 반면 \(\phi_i\)눈금(scale) 에 해당하므로 이를 공변량으로 바꿔도 분산함수의 형태 는 보존된다. 이는 “분포 가족의 일관성”을 지키면서 이질성을 허용 하는 절충이다.

Variance function 자체에 미지 모수가 들어가는 경우(예: NB 의 \(k\), \(V(\mu) = \mu + \mu^2/k\))는 §11.2 에서 다룬다.

2.3 연결함수 \(g\) 의 역할

\(\eta_i = g(\mu_i)\) 는 일반 GLM 과 동일하다. 정규-항등, 이항-로짓, 포아송-로그, 감마-역수 등 정준 조합이 표준이지만, 연결함수 선택은 이 장의 중심 문제가 아니다 (§11.3 의 링크 모수 추정이 별도 주제). 여기서는 \(g\)고정된 기지 함수로 전제된다.

3 산포 방정식 — 산포를 또 하나의 GLM 으로

정의: 산포 부분 (Dispersion Sub-model)

산포 응답변수 \(d_i \equiv d_i(Y_i; \mu_i)\) 에 대해

\[ E(d_i) = \phi_i, \qquad \zeta_i = h(\phi_i) = \sum_j u_{ij} \gamma_j, \qquad \mathrm{var}(d_i) = \tau V_D(\phi_i) \tag{10.2} \]

여기서 \(h(\cdot)\)산포 연결함수, \(\zeta_i\)산포 선형예측자, \(V_D(\phi)\)산포 분산함수, \(\tau\) 는 산포 모형 자신의 scale factor, \(u_{ij}\) 는 산포 공변량이다.

3.1 왜 산포 공변량 \(u_i\) 는 보통 \(x_i\) 의 부분집합인가

실무에서 “온도가 평균에 영향을 주면 분산에도 영향을 줄 수 있다” 는 가설이 대부분이므로 \(u_i \subseteq x_i\) 가 자연스럽다. 그러나 이론상 완전히 다른 공변량 집합도 허용된다.

상황 \(u_i\) 구성
모든 공변량이 평균·산포 양쪽에 \(u_i = x_i\)
일부만 산포에 영향 \(u_i \subset x_i\)
산포에만 영향 주는 별도 요인 \(u_i \cap x_i = \emptyset\) 도 허용
산포 공변량이 평균보다 더 많은 경우 드물지만 가능 (예: 측정장비 ID)

3.2 핵심 직관: “평균 GLM 이 완성된 뒤, 잔차의 제곱을 또 다른 GLM 의 응답으로 삼는다”

이것이 이중 GLM 의 가장 직관적인 표현이다. 1차 GLM 은 \(Y\) 가 어디쯤 있을지 (평균) 를 예측하고, 2차 GLM 은 \((Y - \hat\mu)^2\) 이 얼마나 클지 (분산) 를 예측한다. 단 2차 GLM 의 응답변수로 어떤 통계량을 쓸지가 다음 소절의 주제다.

4 산포 응답 \(d_i\) — 두 선택지: \(r_P^2\) vs \(r_D^2\)

4.1 선택 1: 일반화 Pearson 기여 (\(r_P^2\))

\[ d_i = r_P^2 = \frac{(Y_i - \mu_i)^2}{V(\mu_i)} \]

\(V(\mu_i)\) 로 나누는가: 분산함수 \(V(\mu_i)\) 가 있어야 단위가 \(\phi\) 와 같아진다. \(\mathrm{var}(Y_i) = \phi_i V(\mu_i)\) 이므로

\[ E\!\left[\frac{(Y_i - \mu_i)^2}{V(\mu_i)}\right] = \frac{\phi_i V(\mu_i)}{V(\mu_i)} = \phi_i \]

\(r_P^2\)\(\mu\) 에서 평가하면 \(E(r_P^2) = \phi\) 가 정확히 성립 한다. 무편향 산포 응답변수다.

4.2 선택 2: 이탈도 기여 (\(r_D^2\))

\[ d_i = r_D^2 = 2 \int_{\mu_i}^{Y_i} \frac{Y_i - t}{V(t)} \, dt \]

왜 적분 형태인가: 이탈도(deviance) 는 준로그우도 \(Q\) 의 두 배 음수 차이

\[ r_D^2 = -2\left\{ Q(Y_i; Y_i) - Q(Y_i; \mu_i) \right\} \]

이고, \(Q\) 의 정의 (\(\partial Q/\partial \mu = (Y-\mu)/(\phi V(\mu))\)) 에서 위 적분식이 나온다. 직관적으로는 \(Y_i\) 근방에서 \(\mu\) 가 얼마나 떨어져 있는지 분산함수로 가중된 거리로 측정한다. Pearson 은 순간 제곱 거리, Deviance 는 경로 적분 거리라는 대비다.

4.3 두 선택지의 비교

항목 \(r_P^2\) (Pearson) \(r_D^2\) (Deviance)
정의 \((Y-\mu)^2/V(\mu)\) 경로 적분
\(E(\cdot) = \phi\) 정확 근사 (\(E(r_D^2) \simeq \phi\))
분산 \(2\phi^2(1 + \rho_4/2)\) \(2\phi^2(1+b)^2\), \(b = (5\rho_3^2-3\rho_4)/12\)
정규에서 \(r_P^2 = r_D^2\) 동일
비정규에서 편향 없음, 분산 큼 작은 편향, 분산 작음
계산 단순 분산함수별 적분 공식 필요

왜 정규에서만 둘이 같은가: 정규에서 \(V(\mu) = 1\) 이므로 \(r_P^2 = (Y-\mu)^2\) 이고, 적분 \(\int_\mu^Y (Y-t) \, dt = (Y-\mu)^2/2\) 에서 \(r_D^2 = (Y-\mu)^2\). 일치. 다른 분포에서는 \(V(t)\)\(t\) 에 따라 변하므로 두 값이 달라진다.

4.4 실무 선택 가이드

  • 데이터가 대체로 정규 → 둘 중 어느 쪽이든 무방
  • 과산포 포아송·이항\(r_P^2\) (편향 없음이 중요)
  • 감마·역가우시안\(r_D^2\) 이 분산이 작아 효율적일 수 있음
  • 소표본\(r_P^2\) 의 극단값 문제 주의 (run 1 의 \(s^2=0.0003\) 같은 이상치가 로그 스케일에서 폭발)

4.5 정규 이론에서 \(d_i\) 의 분포

\(Y \sim N(\mu, \phi)\) 이면 \((Y-\mu)^2/\phi \sim \chi_1^2\) 이므로 \(d_i = (Y_i - \mu_i)^2 \sim \phi_i \chi_1^2\). 카이제곱의 평균은 자유도, 분산은 자유도의 두 배이므로:

\[ E(d_i) = \phi_i, \qquad \mathrm{var}(d_i) = 2\phi_i^2 \]

산포 응답은 감마 분포로 근사 (shape = 1/2, scale = \(2\phi_i\)). 이 관찰이 다음 소절의 \(V_D(\phi)\) 선택을 이끈다.

5 산포 분산함수 \(V_D(\phi)\) — 왜 \(\phi^2\) 가 기본인가

정규에서 \(\mathrm{var}(d_i) = 2\phi_i^2\) 이므로 \(V_D(\phi) = 2\phi^2\) (또는 관용적으로 \(V_D(\phi) = \phi^2\)) 이 자연스럽다. 이는 감마 분포의 분산함수와 같다. 즉 산포 GLM 은 “감마 분포 가족의 GLM” 으로 적합된다.

5.1\(V_D(\phi) = \phi^2\) 인가 — Coefficient of Variation 고정

\(V_D(\phi) = \phi^2\)\(\mathrm{SD}(d_i)/E(d_i) = \sqrt{\tau}\) 가 상수라는 뜻이다 (coefficient of variation constancy). 이는 감마 가족의 특징으로, “분산이 평균의 제곱에 비례”라는 scale-invariant 성질을 반영한다.

직관: 산포 \(\phi\) 가 작을 때와 클 때의 상대적 변동이 같다. 이는 분산이 본질적으로 곱셈 스케일에서 움직인다는 가정이며, 이후 §10.3 의 로그 연결 선호로 이어진다.

5.2 비정규에서의 수정

\(Y\) 가 비정규면 \(\mathrm{var}(d_i)\)\(2\phi_i^2\) 와 다르다. §10.5 에서 첨도 보정 \((1 + \rho_4/2)\) 을 도입하여 \(V_D(\phi) = 2\phi^2 (1 + \rho_4/2)\) 로 쓰는 것이 정확하다. 하지만 기본 구조로는 여전히 \(\phi^2\) 에 비례하고, 보정은 단지 상수 배 가산이다. 이 때문에 \(V_D(\phi) = \phi^2\) 을 “첫 번째 근사”로 유지하고 필요 시 가중치로 조정하는 전략이 편리하다.

5.3 \(\tau\) 의 역할

\(\mathrm{var}(d_i) = \tau V_D(\phi_i)\) 에서 \(\tau\) 는 산포 모형 자체의 scale factor 이다.

  • 정규 \(Y\): \(\mathrm{var}(d_i) = 2\phi^2\) 이므로 \(V_D(\phi) = 2\phi^2\), \(\tau = 1\)
  • 정규 \(Y\) 에서 \(V_D(\phi) = \phi^2\) 관례로 쓰면 \(\tau = 2\)
  • 비정규에서 첨도 보정을 \(\tau\) 로 흡수하면 \(\tau = 2(1 + \rho_4/2)\) 같은 형태

어떤 관례를 쓰는지는 소프트웨어마다 다르다 (dglm\(\tau = 2\) 기본).

6 산포 연결함수 \(h(\phi)\) — 항등 vs 로그

6.1 항등 연결 \(\zeta = \phi\) — 가법 분산 성분

\[ \phi_i = \gamma_0 + \gamma_1 u_{i1} + \gamma_2 u_{i2} + \cdots \]

해석: \(u_1\) 이 1 단위 증가하면 분산이 \(\gamma_1 V(\mu_i)\) 만큼 더해진다. 가법 분산 성분 모형 (variance components ANOVA) 의 전통에 가깝다.

문제점: \(\phi > 0\) 제약. \(\hat\phi_i < 0\) 가 수치적으로 나올 수 있고, 적합이 경계에 막힌다. 또한 비율적 효과 (예: 요인 레벨당 분산이 2배씩) 를 자연스럽게 표현하지 못한다.

6.2 로그 연결 \(\zeta = \log\phi\) — 곱셈적 효과

\[ \log \phi_i = \gamma_0 + \gamma_1 u_{i1} + \cdots, \qquad \phi_i = e^{\gamma_0} \prod_j e^{\gamma_j u_{ij}} \]

해석: \(u_j\) 가 1 단위 증가하면 \(\phi_i\)\(e^{\gamma_j}\) 배로 곱해진다. 품질공학에서 “특정 요인이 분산을 k 배로 바꾼다” 라는 질문에 정확히 대응.

장점: - 자동 양수 제약 (\(e^\zeta > 0\)) - 감마 분포의 정준 연결 (\(g(\mu) = 1/\mu\))보다도 실무적으로 선호됨 — 해석이 간단 - \(V_D(\phi) = \phi^2\) 과 조합하면 CV 상수 감마 GLM의 로그 연결이 되어 해석이 곱셈 스케일에서 일관

§10.7 Leaf-spring 예제에서 \(\log\phi = \gamma_0 + B\cdot b + C\cdot c\) 로 적합, \(\hat b = 1.369\), \(\hat c = -1.092\) → 고온 \(B\) 에서 분산이 \(e^{1.369} \simeq 3.9\) 배, 가열시간 \(C\) 증가로 \(e^{-1.092} \simeq 0.34\) 배.

6.3 다른 연결의 가능성

연결 함수 사용 상황
항등 \(\zeta = \phi\) 분산 성분 분해, 전통 ANOVA
로그 \(\zeta = \log\phi\) 품질공학 표준, 곱셈 효과
역수 \(\zeta = 1/\phi\) 감마 정준 연결, 이론적 최적 IRLS 가중치 단순화
제곱근 \(\zeta = \sqrt{\phi}\) 드물게, 분산을 SD 로 모델링

실무에서는 로그 연결이 압도적으로 표준이다. 이후 소절과 §10.3–§10.7 모두 로그 연결 기준으로 전개된다.

7 두 모형의 상호 의존성 — 교대 IRLS 의 자연스러운 도출

7.1 의존 구조

모형 (10.1) 과 (10.2) 는 얽혀 있다.

  • 평균 모형\(\hat\phi_i\) 가 필요 — IRLS 가중치 \(w_i = 1/\hat\phi_i\) 에 들어간다. (분산 불균등 가중 최소제곱)
  • 산포 모형\(\hat\mu_i\) 가 필요 — 산포 응답 \(d_i = d_i(Y_i, \hat\mu_i)\)\(\hat\mu\) 에 의존.

7.2 자연스러운 교대 알고리즘

초기화: phi_i^{(0)} = 1  또는 전체 deviance 기반 상수

반복 k = 1, 2, ...:
  Step A (평균 적합):
    w_i = 1 / phi_i^{(k-1)}
    beta^{(k)} = IRLS 해 ( 가중 평균 GLM, 분산 phi_i V(mu_i) )
    mu_i^{(k)} = g^{-1}( sum_j x_ij beta_j^{(k)} )

  Step B (산포 적합):
    d_i = d_i( Y_i, mu_i^{(k)} )   # r_P^2 또는 r_D^2
    gamma^{(k)} = IRLS 해 ( 산포 GLM: 응답 d_i, 연결 h, 분산 V_D )
    phi_i^{(k)} = h^{-1}( sum_j u_ij gamma_j^{(k)} )

  수렴 확인: ||beta^{(k)} - beta^{(k-1)}|| + ||gamma^{(k)} - gamma^{(k-1)}|| < eps

7.3 직관: 왜 이것이 EM 과 닮았는가

이 구조는 EM 의 한 변형 으로 볼 수 있다. 완전 로그우도 (hypothetical) 를 \((\beta, \gamma)\) 에 대해 동시 최대화할 때, 한 블록을 고정하고 다른 블록을 극대화하는 coordinate ascent. \(Q^+\) (§9.6) 의 기대 Fisher 정보행렬이 블록대각 (Ex 10.4) 이라는 사실이 이 분리를 정당화한다.

7.4 수렴성

  • 정규 \(Y\), 로그 연결: 대부분의 실무 데이터에서 10–30 회 반복 내 수렴
  • 소표본 / 극단치 포함: \(d_i = 0\) 근처에서 로그 스케일이 폭발. Prentice (1988) 의 offset 또는 작은 positive constant 추가 필요
  • 평균 모형 오류: null 대조가 오염되면 산포 추정이 발산적 패턴 (품질 진단 플롯 필수)

7.5 Double GLM 으로서의 구현

Smyth (1989) 의 double GLM 이 이 구조를 표준 패키지로 구현. R dglm::dglm() 한 함수 호출로 두 IRLS 가 자동 교대된다.

library(dglm)
fit <- dglm(
  formula  = y ~ x1 + x2,      # 평균
  dformula = ~ u1 + u2,         # 산포 (공변량 다를 수 있음)
  family   = Gamma(link = "log"),
  dlink    = "log"
)

8 응용 분야

분야 활용 구체적 예시
산업 품질공학 평균 목표·분산 최소 동시 설계 Taguchi robust design, Leaf-spring (§10.7)
반도체 wafer level 수율 평균 + 편차 공정 조건이 평균 수율과 batch 간 편차에 미치는 영향
임상시험 약효 평균 + 반응 편차 혈압약의 평균 강하 + 환자 간 반응 편차
보험수리 claim 평균 + 분산 회귀 운전자 특성별 claim 평균과 과산포 \(\phi\)
실험생물학 처치별 평균 + 복제 편차 약물 농도별 반응 평균과 복제 안정성
센서·계측 측정 평균 + 측정 불확실도 장비별·조건별 측정 오차 분산 모형

9 예제 — 손으로 풀어보는 간단한 이중 GLM

정규 \(Y_{ij} \sim N(\mu_i, \phi_i)\), \(i = 1, 2\), \(j = 1, 2, 3\) (두 조건, 각 3회 복제).

데이터:

조건 1 (x=0): 9.8, 10.2, 10.0   → 평균 10.0, 분산 0.04
조건 2 (x=1): 11.5, 12.5, 13.0  → 평균 12.33, 분산 0.58

평균 모형: \(\mu_i = \beta_0 + \beta_1 x_i\), 항등 연결, \(V(\mu) = 1\).

초기 \(\phi_i = 1\) 가정하에 단순 OLS:

\[ \hat\beta_0 = 10.0, \quad \hat\beta_1 = 2.33 \]

산포 응답: \(d_i = s_i^2\) (각 조건의 표본분산을 응답으로). \(d_1 = 0.04\), \(d_2 = 0.58\).

산포 모형: \(\log\phi_i = \gamma_0 + \gamma_1 x_i\). 로그 변환 후 OLS:

\[ \log d_1 = -3.22, \quad \log d_2 = -0.545 \]

\[ \hat\gamma_0 = -3.22, \quad \hat\gamma_1 = 2.67 \]

해석: 조건 2 에서 분산이 \(e^{2.67} \simeq 14.4\) 배로 증가. 단순 데이터지만 “평균이 올라갈수록 분산도 크게 증가” 라는 이중 구조가 한 번의 적합으로 드러난다.

두 번째 반복: 갱신된 \(\hat\phi_1 = e^{-3.22} \simeq 0.04\), \(\hat\phi_2 = e^{-0.545} \simeq 0.58\) 를 IRLS 가중치로 써서 평균 재적합.

\[ w_1 = 1/0.04 = 25, \qquad w_2 = 1/0.58 = 1.72 \]

조건 1 이 훨씬 높은 가중치 → \(\hat\beta_0\) 이 조건 1 의 평균에 더 끌리게 됨. 이것이 분산 불균등 가중이 회귀계수를 어떻게 재조정하는지의 핵심 직관이다.

10 코드 예시 — 교대 IRLS 직접 구현

10.1 Step 1: 순수 Python — 교대 적합 루프

import numpy as np

np.random.seed(42)

# 데이터 생성: 평균 2 + x, 분산 exp(-1 + x) (분산이 x 에 따라 증가)
n_per_group = 30
x_levels = np.array([0.0, 1.0, 2.0])
X = np.repeat(x_levels, n_per_group)
mu_true = 2.0 + X
phi_true = np.exp(-1.0 + X)    # log 연결의 산포
Y = np.random.normal(mu_true, np.sqrt(phi_true))

# 설계행렬
X_design = np.column_stack([np.ones(len(Y)), X])   # 평균: β0 + β1*x
U_design = np.column_stack([np.ones(len(Y)), X])   # 산포: γ0 + γ1*x

# 초기화
phi = np.ones(len(Y))
for it in range(15):
    # Step A: 가중 OLS (정규, 항등연결)
    W = np.diag(1.0 / phi)
    beta = np.linalg.solve(X_design.T @ W @ X_design,
                           X_design.T @ W @ Y)
    mu_hat = X_design @ beta

    # Step B: 산포 모형 (d = (Y-mu)^2, 감마-로그 GLM)
    d = (Y - mu_hat) ** 2
    # 간이 로그-OLS 로 감마 GLM 근사 (실무에선 IRLS)
    log_d = np.log(d + 1e-8)
    gamma = np.linalg.solve(U_design.T @ U_design,
                            U_design.T @ log_d)
    phi = np.exp(U_design @ gamma)

print("beta (mean) :", beta.round(3),   "  true =", [2.0, 1.0])
print("gamma (log-phi):", gamma.round(3), "  true =", [-1.0, 1.0])

예상 출력: beta ≈ [2.0, 1.0], gamma ≈ [-1.0, 1.0] 근사 복원. 분산 구조의 정보가 평균 추정의 가중치를 바꾸고, 평균 추정이 다시 산포 응답을 재구성하는 피드백 루프를 볼 수 있다.

10.2 Step 2: R dglm — 표준 패키지 사용

library(dglm)
set.seed(42)

n <- 90
x <- rep(c(0, 1, 2), each = 30)
mu <- 2 + x
phi <- exp(-1 + x)
y <- rnorm(n, mu, sqrt(phi))

fit <- dglm(
  formula  = y ~ x,            # 평균 방정식 (10.1)
  dformula = ~ x,              # 산포 방정식 (10.2), 로그 연결
  family   = gaussian(link = "identity"),
  dlink    = "log"
)

summary(fit)                 # 평균 계수: beta0, beta1
summary(fit$dispersion.fit)  # 산포 계수: gamma0, gamma1

dglm 내부에서 정확히 위 교대 알고리즘이 돌아간다. fit$dispersion.fit 은 산포 GLM 자체의 적합 객체이며, deviance, residuals, fitted values 모두 접근 가능하다.

10.3 Step 3: \(r_P^2\) vs \(r_D^2\) 응답변수 비교

import numpy as np
from scipy.stats import gamma as gamma_dist

# 감마 분포 데이터: V(mu) = mu^2
np.random.seed(7)
n = 200
mu = 5.0
phi = 0.5  # CV^2
shape = 1 / phi
scale = mu / shape
Y = gamma_dist.rvs(a=shape, scale=scale, size=n)

# Pearson 기여: (Y-mu)^2 / V(mu) = (Y-mu)^2 / mu^2
r_P_sq = (Y - mu) ** 2 / mu ** 2

# Deviance 기여 (감마): 2 * ( (Y-mu)/mu - log(Y/mu) )
r_D_sq = 2 * ((Y - mu) / mu - np.log(Y / mu))

print(f"E(r_P^2) = {r_P_sq.mean():.4f}, 이론 phi = {phi}")
print(f"E(r_D^2) = {r_D_sq.mean():.4f}, 이론 phi = {phi}")
print(f"Var(r_P^2) = {r_P_sq.var():.4f}, 2*phi^2*(1+rho_4/2) = {2*phi**2*(1+3*phi):.4f}")
print(f"Var(r_D^2) = {r_D_sq.var():.4f}, 2*phi^2*(1+phi/6)^2 ≈ {2*phi**2*(1+phi/6)**2:.4f}")

예상 결과: E(r_P^2)\(\phi\) 에 정확히 가깝고, E(r_D^2) 은 소폭 차이. Var(r_D^2) < Var(r_P^2) — 이탈도가 효율적이지만 약간 편향.

11 실무 체크리스트 — 이중 GLM 설계 시 확인할 사항

  1. 평균 모형의 분산함수 \(V(\mu)\) 가 적절한가? 데이터 유형 (연속·이산), 양수 제약, 관측 범위를 보고 결정. 포아송·이항·감마·정규가 기본.
  2. 산포 응답 \(d_i\)\(r_P^2\) 인가 \(r_D^2\) 인가? 첨도 조정이 신경쓰이면 \(r_P^2\), 편향이 신경쓰이면 \(r_D^2\).
  3. 산포 연결 \(h\) 는 로그인가 항등인가? 대부분 로그. 예외는 가법 분산 성분 ANOVA 맥락.
  4. 산포 공변량 \(u_i\) 는 평균 공변량 \(x_i\) 의 부분집합인가? 대부분 그렇다. 이론 확장을 위해 다른 공변량도 허용.
  5. \(Q_M^+\) 로 자유도 보정을 할 것인가? 소표본이면 반드시. 대표본에서는 영향 작음. §10.5.2 참고.
  6. 초기값은 무엇을 쓸 것인가? \(\phi_i^{(0)} = 1\) 또는 전체 표본의 Pearson \(X^2/n\).
  7. 수렴 판정 기준은 무엇인가? \(|\Delta \beta| + |\Delta \gamma| < 10^{-6}\) 정도. 진동이 있으면 damping.

12 모형 진단 — 이중 GLM 특유의 플롯

진단 무엇을 확인
\(\log d_i\) vs \(\hat\phi_i\) 산점도 산포 GLM 의 적합도
산포 잔차 \((d_i - \hat\phi_i)/\hat\phi_i\) QQ-plot \(d_i\) 분포 가정 (감마)
\((Y_i - \hat\mu_i)^2\) vs \(\hat\mu_i\) \(V(\mu)\) 선택 타당성
평균 잔차 vs 공변량 평균 모형 누락 확인
Cook’s distance (양쪽) 영향 관측치

핵심 경고: 산포 응답 \(d_i\) 는 항상 양수이며 오른쪽 꼬리가 두텁다. 정규성·상수분산 기반 진단은 반드시 로그 스케일에서 수행한다.

13 정리

이 섹션은 joint mean-dispersion GLM 의 설계 도면이다. 핵심 포인트:

  1. 평균은 \(E(Y) = \mu, \mathrm{var}(Y) = \phi V(\mu)\) 로 분해. \(V\) 는 고정, \(\phi\) 만 이질적.
  2. 산포는 응답 \(d_i = r_P^2\) 또는 \(r_D^2\) 를 갖는 또 하나의 GLM. 연결은 보통 로그, 분산함수는 \(V_D(\phi) = \phi^2\) (감마 가족).
  3. 두 모형은 \(\hat\phi \to\) 가중치 \(\to \hat\mu\), \(\hat\mu \to\) 응답 \(d_i \to \hat\phi\) 의 피드백으로 얽혀 있다. 교대 IRLS (double GLM) 가 표준 해법.
  4. 모든 선택(V, d, h, \(V_D\)) 이 이후 장 (§10.3 상호작용, §10.4 \(Q^+\) 기준, §10.5 보정, §10.6 결합 최적 방정식, §10.7 실전 예제) 에서 구체화되는 기반이 된다.

이 모듈 구조 덕분에 평균 모델링은 그대로 둔 채 산포 모델링을 얹을 수 있고, 기존 GLM 인프라 (IRLS, 이탈도, 잔차) 를 그대로 재활용한다. 이것이 이중 GLM 이 Pregibon (1984) 이후 급속히 보급된 이유다.

14 관련 주제

선행 지식

후속 주제

  • Interaction between mean and dispersion effects — null 대조 vs replicate 대조 (McCullagh §10.3)
  • Extended quasi-likelihood as a criterion (McCullagh §10.4)
  • Adjustments of the estimating equations — 첨도·자유도 (McCullagh §10.5)

관련 개념

Subscribe

Enjoy this blog? Get notified of new posts by email: