1 왜 다시 “다항분포”인가
다범주 반응 모형(Ch.5) 의 거의 모든 우도·검정·분산 계산은 다항분포(multinomial distribution) 에서 직접 유도된다. 기준 범주 로짓, 비례 오즈, 점수 기반 로그선형 — 이 모든 모형은 “같은 다항 우도에 서로 다른 \(\pi_j\) 파라미터화를 얹은 것” 으로 이해할 수 있다.
따라서 다항분포의 성질을 정리해 두지 않으면:
- Pearson \(X^2\) 이 왜 \(k-1\) 자유도를 갖는지 직관이 없다
- 공분산 행렬이 특이(singular) 라는 사실이 추정·검정에 미치는 영향을 놓친다
- 누적 벡터 \(Z\) 를 쓰면 왜 계산이 간단해지는지 보이지 않는다
- 계층 모형(§5.2.5) 이 왜 수학적으로 타당한 분해인지 설명할 수 없다
이 포스트는 McCullagh & Nelder (1989, §5.3) 의 다섯 소절(생성, 모멘트, 일반화역행렬, 이차형식, 주변·조건부)을 순서대로 따라가며 수식 뒤의 직관을 함께 전개한다.
2 §5.3.1 다항분포의 생성 — 두 가지 유도
2.1 정의
\(k\) 개의 상호 배타적 속성 \(A_1, \ldots, A_k\) 가 있는 무한 모집단에서 확률 \(\pi_j = \Pr(A_j)\) 로 단순 무작위 추출 로 \(m\) 개를 표집한다. 속성 \(A_j\) 를 가진 개체 수를 \(Y_j\) 로 쓰면 결합분포는
\[ \Pr(Y_1 = y_1, \ldots, Y_k = y_k;\, m, \boldsymbol{\pi}) = \binom{m}{\mathbf{y}} \pi_1^{y_1} \pi_2^{y_2} \cdots \pi_k^{y_k} \tag{5.11} \]
이며 여기서
\[ \binom{m}{\mathbf{y}} = \frac{m!}{y_1!\, y_2!\, \cdots\, y_k!}, \qquad \sum_j y_j = m, \quad \sum_j \pi_j = 1. \]
이를 \(\mathbf{Y} \sim \text{Mult}(m, \boldsymbol{\pi})\) 로 표기한다.
\(k = 2\) 이면 이항(binomial)으로 환원된다. 즉 다항은 이항의 범주 수 확장이다.
2.2 표본공간의 기하 — 삼각격자 위의 단체
\(\mathbf{y}\) 의 가능한 값은 \(0 \le y_j \le m\), \(\sum_j y_j = m\) 을 만족하는 정수 격자점이며, 총 \(\binom{m+k-1}{k-1}\) 개이다. 기하학적으로 이것은 정단체(regular simplex) 의 경계 위 격자점 — \(k=3\) 이면 삼각형 위의 점들, \(k=4\) 이면 사면체 위의 점들이다.
왜 중요한가: 표본공간이 \(k-1\) 차원 이라는 사실이 시각적으로 드러난다. \(k\) 개 성분이 있어 보이지만, \(\sum y_j = m\) 제약 때문에 자유도는 \(k-1\). 이것이 나중에 공분산 행렬의 rank 가 \(k-1\) 이 되는 근본 원인이다.
2.3 두 번째 유도 — 포아송의 조건부
독립 포아송 \(Y_j \sim \text{Poisson}(\mu_j)\) 들의 총합 \(Y_\bullet = \sum_j Y_j\) 가 \(m\) 으로 고정(조건)되면, 결합분포는 정확히 식 (5.11) 로 \(\pi_j = \mu_j / \mu_\bullet\) 에 대응한다.
직관 — 왜 조건이 다항을 만드는가:
포아송 과정은 “각 셀에 독립적으로 사건이 떨어진다”는 성질을 갖는다. 총합을 고정하면 “\(m\) 개 사건을 확률 \(\pi_j\) 에 비례해 \(k\) 개 셀로 나누는” 배분 문제로 바뀐다. 이 배분 자체가 다항이다.
왜 이 관계가 유용한가:
- 로그선형 모형(Ch.6) 과 다항 반응 모형(Ch.5) 의 동치: 같은 데이터를 포아송으로 보든 조건부 다항으로 보든 모수추정·검정이 동일하다. 계산 편의에 따라 골라 쓴다
- 조건부 우도 접근법: 장해 모수를 총합 조건으로 소거할 때 핵심 도구
- 시뮬레이션: 다항 난수를 만들 때 독립 포아송 생성 후 조건화하는 방식이 가능
\(\pi_j = 1/k\) 인 경우를 균일 다항분포(uniform multinomial) 라 부르며, \(\chi^2\) 근사의 기준 케이스로 자주 등장한다.
3 §5.3.2 모멘트와 누적률 — 특이성의 원천
3.1 적률생성함수와 누적생성함수
다항분포의 적률생성함수(MGF)는
\[ M_Y(\mathbf{t}) = \mathrm{E}\!\left[\exp\!\Big(\sum_j t_j Y_j\Big)\right] = \left\{\sum_j \pi_j \exp(t_j)\right\}^{m} \]
이고 누적생성함수(CGF)는
\[ K_Y(\mathbf{t}) = m \log\!\left\{\sum_j \pi_j \exp(t_j)\right\}. \]
핵심 관찰: 모든 누적률이 m × (π 의 다항식) 형태. \(m\) 이 커지면 누적률이 선형으로 커지며, 표준화(평균 0, 분산 1)하면 중심극한정리(CLT) 가 자연스럽게 따라온다. 즉 \(m\) 이 크면 다항은 다변량 정규로 수렴한다.
3.2 1·2차 누적률 — 식 (5.12)
\[ \mathrm{E}(Y_r) = m \pi_r, \qquad \mathrm{cov}(Y_r, Y_s) = \begin{cases} m \pi_r (1 - \pi_r) & r = s \\ - m \pi_r \pi_s & r \ne s \end{cases} \tag{5.12} \]
행렬 형태:
\[ \boldsymbol{\Sigma}_Y = m\,\{\mathrm{diag}(\boldsymbol{\pi}) - \boldsymbol{\pi}\boldsymbol{\pi}^\top\}. \]
음의 공분산의 의미: 한 범주의 도수가 많아지면 다른 범주의 도수는 반드시 줄어든다. 이는 \(\sum_j Y_j = m\) 제약의 자동적 결과 이다. 이항에서 \(\mathrm{Cov}(Y, m-Y) = -\mathrm{Var}(Y)\) 인 것과 같은 원리가 여러 범주로 일반화된 것.
직관적 비유: 고정된 예산으로 \(k\) 개 항목에 분배한다. 한 항목에 더 쓰면 다른 항목에는 덜 쓸 수밖에 없다. 완전히 독립이라는 것은 불가능.
3.3 왜 공분산 행렬이 특이(singular)인가
\(\boldsymbol{\Sigma}_Y \mathbf{1} = m \boldsymbol{\pi} - m \boldsymbol{\pi}(\boldsymbol{\pi}^\top \mathbf{1}) = m \boldsymbol{\pi} - m \boldsymbol{\pi} = \mathbf{0}\)
이므로 상수 벡터 \(\mathbf{1}\) 이 영공간(null space)에 속한다. 따라서 \(\text{rank}(\boldsymbol{\Sigma}_Y) \le k - 1\). \(\pi_j\) 가 모두 양수이면 rank 가 정확히 \(k-1\).
실무적 함의: \(\boldsymbol{\Sigma}_Y\) 는 역행렬을 취할 수 없다. 추정·검정에는 일반화역행렬(generalized inverse) 이 필요하거나, 한 범주를 제거하고 \(k-1\) 차원으로 축소해야 한다.
3.4 누적 벡터의 모멘트 — 식 (5.13)
누적 벡터 \(Z_r = Y_1 + \cdots + Y_r\) 를 생각하자. \(\mathbf{Z} = \mathbf{L}\mathbf{Y}\) 로 \(\mathbf{L}\) 이 하삼각 단위행렬일 때, 다음이 성립한다.
\[ \mathrm{E}(Z_r) = m \gamma_r, \qquad \mathrm{cov}(Z_r, Z_s) = m\, \gamma_r (1 - \gamma_s) \quad (r \le s) \tag{5.13} \]
왜 누적이 더 간단한가: 원래 벡터 \(\mathbf{Y}\) 의 공분산은 2차식이지만 누적 벡터 \(\mathbf{Z}\) 의 공분산은 1차식(단순 곱) 으로 표현된다. 이것은 \(Z_r \sim \text{Bin}(m, \gamma_r)\) 의 주변분포와 중첩된 상관 구조로부터 오는 결과이다.
중요한 부산물 — 조건부 독립성(Markov 성질): \(r < s < t\) 일 때 \(Z_s\) 를 주면 \(Z_r, Z_t\) 가 조건부 독립이며
\[ Z_r \mid Z_s = z_s \;\sim\; \text{Bin}(z_s,\, \gamma_r / \gamma_s), \qquad Z_t - z_s \mid Z_s = z_s \;\sim\; \text{Bin}(m - z_s,\, (\gamma_t - \gamma_s)/(1 - \gamma_s)). \]
이 성질이 순서형 반응의 계층 분해 (§5.2.5 의 단계별 이항) 를 정당화한다. 누적 벡터 \(\mathbf{Z}\) 는 Markov 연쇄처럼 행동한다.
3.5 선형 조합의 누적률 — 점수 모형의 기반
점수 모형(§5.2.3, 식 5.7)에서 자주 등장하는 \(S = \sum_j s_j Y_j\) 의 모멘트는 “\(m = 1\) 일 때 \(S\) 는 \(s_1, \ldots, s_k\) 를 확률 \(\pi_1, \ldots, \pi_k\) 로 취한다” 는 관찰에서 바로 나온다. 일반 \(m\) 에 대해
\[ \mathrm{E}(S) = m \sum_j \pi_j s_j = m \mu_s, \qquad \mathrm{Var}(S) = m\!\left\{\sum_j \pi_j s_j^2 - \Big(\sum_j \pi_j s_j\Big)^2\right\}. \]
왜 중요한가: Yates–Armitage 추세 검정(§5.2.3) 의 분모에 나타나는 분산이 바로 이것이다. 점수 모형에서 “평균 점수”의 검정 통계량을 만들 때 이 식을 그대로 쓴다.
4 §5.3.3 일반화역행렬 — 특이성을 다루는 기술
4.1 왜 필요한가
공분산 \(\boldsymbol{\Sigma}_Y\) 가 특이이므로 \(\boldsymbol{\Sigma}_Y^{-1}\) 은 존재하지 않는다. 그러나 통계 계산에는 “역행렬 역할을 하는 무언가” 가 필요하다. 이것이 일반화역행렬 (generalized inverse, g-inverse) 이다.
행렬 \(\boldsymbol{\Sigma}\) 에 대해
\[ \boldsymbol{\Sigma}\, \boldsymbol{\Sigma}^- \boldsymbol{\Sigma} = \boldsymbol{\Sigma} \]
를 만족하는 \(\boldsymbol{\Sigma}^-\) 를 일반화역행렬 이라 한다. 일반적으로 유일하지 않다. Moore–Penrose 역행렬은 추가 조건(대칭·극소성)을 만족하는 유일한 특수 사례.
4.2 가장 단순한 선택
다항 공분산에 대해 가장 단순한 일반화역행렬은
\[ \boldsymbol{\Sigma}_Y^{-} = \mathrm{diag}\!\left\{\frac{1}{m \pi_j}\right\}, \qquad j = 1, \ldots, k \]
이며 rank 가 \(k\) (원래 행렬 rank 는 \(k-1\)). Moore–Penrose 는 아니지만 대부분의 통계 계산에서는 어떤 g-inverse 를 쓰든 결과가 같다 — 이차형식에 \(\sum R_j = 0\) 인 잔차를 대입하기 때문.
일반해: 모든 일반화역행렬은 \(\boldsymbol{\Sigma}_Y^{-} - c\,\mathbf{1}\mathbf{1}^\top\) 형태이며, \(c = 1/(m k^2)\) 이 Moore–Penrose.
4.3 누적 벡터의 g-inverse — 삼중대각 Jacobi 행렬
누적 공분산 \(\boldsymbol{\Gamma} = \{\gamma_{rs}\}\) 는 Green 행렬 의 특수 사례이며, 그 Moore–Penrose 역은 삼중대각 Jacobi 행렬 이다. \(k = 5\) 인 경우
\[ \boldsymbol{\Gamma}^{-} = \frac{1}{m} \begin{pmatrix} \pi_1^{-1} + \pi_2^{-1} & -\pi_2^{-1} & 0 & 0 \\ -\pi_2^{-1} & \pi_2^{-1} + \pi_3^{-1} & -\pi_3^{-1} & 0 \\ 0 & -\pi_3^{-1} & \pi_3^{-1} + \pi_4^{-1} & -\pi_4^{-1} \\ 0 & 0 & -\pi_4^{-1} & \pi_4^{-1} + \pi_5^{-1} \end{pmatrix}. \]
직관 — 왜 삼중대각인가: 누적 벡터의 Markov 성질 덕분이다. \(Z_r\) 과 \(Z_t\) 는 (\(|r - t| \ge 2\)) \(Z_s\) 를 주면 조건부 독립이므로, 정밀도 행렬(precision matrix, 공분산의 역) 에서 먼 성분 간 성분은 정확히 0 이 된다. 이것은 가우시안 Markov random field 의 핵심 성질과 정확히 같은 원리이다.
5 §5.3.4 이차형식과 Pearson \(X^2\)
5.1 단순 귀무가설 검정
\(H_0: \boldsymbol{\pi} = \boldsymbol{\pi}^{(0)}\) 을 검정하려면 잔차 \(R_j = Y_j - m\pi_j^{(0)}\) 을 기반으로 이차형식을 만든다.
\[ X^2 = \mathbf{R}^\top \boldsymbol{\Sigma}_Y^{-} \mathbf{R} \]
중요한 사실: \(\sum_j R_j = 0\) 이므로 일반화역행렬 선택에 무관 하게 \(X^2\) 가 동일하다. 어떤 g-inverse 를 쓰든 답이 같다 — 이차형식이 상수 벡터 방향 정보를 무시하기 때문.
단순 g-inverse \(\mathrm{diag}\{1/(m\pi_j)\}\) 를 대입하면
\[ X^2 = \sum_j \frac{R_j^2}{m \pi_j^{(0)}} = \sum_j \frac{(Y_j - \mu_j^{(0)})^2}{\mu_j^{(0)}} \]
가 되며, 이것이 바로 Pearson (1900) 의 카이제곱 검정통계량이다.
5.2 왜 \(k-1\) 자유도인가
\(X^2\) 의 귀무 하 첫 세 누적률:
\[ \mathrm{E}(X^2) = k - 1, \quad \mathrm{Var}(X^2) = 2(k-1)\frac{m-1}{m} + \frac{S_{-1} - k^2}{m}, \;\ldots \]
여기서 \(S_r = \sum_j \pi_j^r\). \(m \to \infty\) 극한에서 \(X^2 \xrightarrow{d} \chi^2_{k-1}\).
직관 — 왜 \(k\) 가 아니라 \(k-1\) 인가: 공분산 행렬의 rank 가 \(k-1\) 이기 때문이다. 원래 이차형식은 “독립 정규 제곱의 합 = \(\chi^2\)” 인데, 제약 \(\sum R_j = 0\) 이 하나 있으므로 독립 자유도는 \(k-1\).
유한 표본 보정: 위 누적률 공식은 \(m\) 이 작을 때 \(\chi^2\) 근사의 오차를 직접 측정할 수 있게 해 준다. 특히 분산에서 \((m-1)/m\) 의 Bessel-유사 보정항과 \((S_{-1} - k^2)/m\) 의 비균일성 항이 \(\chi^2\) 극한과의 차이를 설명한다. 균일 다항(\(\pi_j = 1/k\))이면 \(S_{-1} = k^2\) 이라 두 번째 항이 소거된다 — 균일한 경우 \(\chi^2\) 근사가 가장 깔끔하다.
5.3 누적 벡터로 쓴 \(X^2\)
누적 벡터와 그에 대응하는 g-inverse 를 쓰면
\[ \sum_{j=1}^{k-1} \frac{(Z_j - m\gamma_j)^2}{m}\!\left(\frac{1}{\pi_j} + \frac{1}{\pi_{j+1}}\right) - 2 \sum_{j=1}^{k-2} \frac{(Z_j - m\gamma_j)(Z_{j+1} - m\gamma_{j+1})}{m \pi_{j+1}} \]
가 되고, 이 식은 앞의 Pearson \(X^2\) 와 정확히 같다. 이차형식은 비특이 선형 변환에 불변이라는 일반 원리의 귀결이다.
왜 두 가지 표현을 모두 알아야 하는가: 모형에 따라 자연스러운 파라미터화가 다르다. 명목형 로그선형은 \(\boldsymbol{\pi}\) 로 쓰는 것이, 순서형 비례 오즈는 \(\boldsymbol{\gamma}\) 로 쓰는 것이 계산에 유리하다. 같은 검정통계량이라도 어느 쪽 표현이 빠른지는 모형이 정한다.
6 §5.3.5 주변분포와 조건부분포
6.1 주변분포 — 이항으로의 환원
다항의 각 성분은 주변적으로 이항이다.
\[ Y_j \;\sim\; \text{Bin}(m, \pi_j) \]
왜 이것이 중요한가: 다항 반응 모형의 부분 결과는 언제나 이항 결과로 해석 가능하다는 보장을 준다. “범주 \(j\) 에 들어올 확률” 만 놓고 보면 단순한 이항 회귀이며, 여러 범주를 동시에 다루기 위한 도구가 다항 모형이다.
성분을 그룹화하면 다시 다항이 된다 — 예컨대 \((Y_1, Y_2, m - Y_1 - Y_2)\) 는 세 범주 다항 \(\text{Mult}(m, (\pi_1, \pi_2, 1 - \pi_1 - \pi_2))\) 이다.
실무 응용: 범주를 병합할 때(예: {매우좋음, 좋음} → 좋음) 모형이 자동으로 축소된 다항 모형으로 변환된다 — 이것이 바로 순서형 모형에서 강조한 범주 통합 불변성 의 확률론적 기반이다.
6.2 조건부분포 — 범주 제거
한 성분을 조건화하면 남은 벡터는 축소된 인덱스와 재정규화된 확률 로 다시 다항이 된다.
\[ \mathbf{Y}_{-i} \mid Y_i = y_i \;\sim\; \text{Mult}\!\left(m - y_i,\, \left\{\frac{\pi_j}{1 - \pi_i}\right\}_{j \ne i}\right). \]
직관: “범주 \(i\) 에 들어간 사람들은 제외하고, 나머지만 보자” 는 상황. 남은 사람 수는 \(m - y_i\), 확률은 전체 조건부로 재정규화된다.
6.3 누적 벡터의 조건부 — Markov 성질
누적 벡터 \(\mathbf{Z}\) 는 Markov 성질을 갖는다.
\[ Z_i \mid Z_j = z_j \;\sim\; \text{Bin}(z_j, \gamma_i / \gamma_j) \quad (i < j), \] \[ Y_{j+1} \mid Z_j = z_j \;\sim\; \text{Bin}(m - z_j,\, \pi_{j+1} / (1 - \gamma_j)). \]
두 번째 식이 결정적이다. 이것이 계층 분해 (§5.2.5) 의 확률적 토대이다.
6.4 다항을 이항의 곱으로 분해
위의 Markov 성질로부터 다항분포는 \(k-1\) 개의 조건부 이항의 곱 으로 정확히 분해된다.
\[ \Pr(\mathbf{Y} = \mathbf{y}) = \prod_{j=1}^{k-1} p(y_j \mid z_{j-1}), \]
여기서
\[ p(y_j \mid z_{j-1}) = \binom{m - z_{j-1}}{y_j} \!\left(\frac{\pi_j}{1 - \gamma_{j-1}}\right)^{y_j} \!\left(\frac{1 - \gamma_j}{1 - \gamma_{j-1}}\right)^{m - z_{j-1} - y_j} \]
이고 \(z_0 = \gamma_0 = 0\).
이 분해의 파급 효과:
- 우도 분해: 다항 우도가 \(k-1\) 개 이항 우도의 곱으로 나뉜다 → 각 단계를 독립적으로 다른 공변량·다른 링크로 모형화 가능 (젖소 실험, 방사선 사망 예제)
- 계산 간소화: 다항을 직접 다루지 않고 \(k-1\) 개 이항 GLM 을 적합하면 된다
- 생존분석과의 동형: 연속비율 모형 = 이산시간 해저드
직관적 비유 — 토너먼트: \(m\) 명의 선수 중 (1) 첫 라운드에서 탈락하는 수 (2) 1라운드를 통과했으나 2라운드에서 탈락하는 수 (3) … 각 라운드는 앞 라운드 통과자만 참여하므로 조건부 이항. 전체 토너먼트 결과의 확률은 라운드별 이항들의 곱.
7 응용 — 어디서 어떻게 쓰이는가
| 상황 | 다항분포의 역할 |
|---|---|
| 다항 로지스틱(명목) 우도 | \(\prod_i \prod_j \pi_{ij}^{y_{ij}}\) 직접 사용 |
| 비례 오즈(순서) 우도 | \(\pi_{ij} = \gamma_{ij} - \gamma_{i,j-1}\) 로 치환 후 다항 우도 |
| Pearson \(\chi^2\) 적합도 | 공분산 rank \(k-1\) → 자유도 \(k-1\) |
| 연속비율·계층 모형 | \(k-1\) 개 조건부 이항 곱 분해 |
| 분할표 로그선형(Ch.6) | 포아송-다항 조건부 동치성 사용 |
| 베이지안 범주 분석 | 켤레사전 Dirichlet, \(\text{Dir} \to \text{Mult}\) |
| 토픽 모델(LDA) | 단어 카운트 ~ 다항, 토픽 ~ Dirichlet |
| 유전학 앨릴 빈도 | Hardy–Weinberg 비율로 다항 적합 |
8 코드 예시
8.1 Step 1: 순수 Python — 다항 난수, 공분산 특이성, Pearson \(X^2\)
import numpy as np
rng = np.random.default_rng(1)
k, m, n_rep = 4, 200, 5000
pi = np.array([0.4, 0.3, 0.2, 0.1])
# 1) 포아송 조건부로 다항 난수 생성 — §5.3.1 의 두 번째 유도
lam = m * pi # 포아송 평균을 기대도수로
pois = rng.poisson(lam, size=(n_rep, k))
mask = pois.sum(axis=1) == m # 조건 만족만 채택
Y_cond = pois[mask]
print(f"포아송 조건부로 얻은 표본 수: {Y_cond.shape[0]}")
# 2) 직접 다항 샘플링과 비교
Y_direct = rng.multinomial(m, pi, size=n_rep)
print(f"직접 샘플 평균 = {Y_direct.mean(0).round(2)} (이론 = {m*pi})")
print(f"직접 샘플 분산 = {Y_direct.var(0).round(2)} (이론 = {m*pi*(1-pi)})")
# 3) 공분산 행렬의 특이성 확인
Sigma = m * (np.diag(pi) - np.outer(pi, pi))
rank = np.linalg.matrix_rank(Sigma)
print(f"Sigma rank = {rank} (이론 = k-1 = {k-1})")
print(f"null space 방향 Sigma @ 1 = {(Sigma @ np.ones(k)).round(6)}")
# 4) Pearson X^2 — 각 반복에서 계산 후 분포 확인
R = Y_direct - m * pi
X2 = (R**2 / (m * pi)).sum(axis=1)
print(f"E(X^2) 추정 = {X2.mean():.2f} (이론 = k-1 = {k-1})")
print(f"Var(X^2) 추정 = {X2.var():.2f} (이론 ≈ 2(k-1) = {2*(k-1)})")위 코드는 세 가지를 확인한다. (a) 포아송 조건부와 직접 다항 샘플링이 같은 결과를 준다, (b) 공분산 행렬이 정확히 rank \(k-1\) 이며 \(\mathbf{1}\) 이 영공간에 있다, (c) Pearson \(X^2\) 의 평균이 \(k-1\), 분산이 약 \(2(k-1)\) 로 \(\chi^2_{k-1}\) 에 수렴한다.
8.2 Step 2: scipy — 다항 검정과 카이제곱
import numpy as np
from scipy import stats
# 관측 도수와 가설 확률
observed = np.array([80, 55, 45, 20])
m = observed.sum()
pi_null = np.array([0.4, 0.3, 0.2, 0.1])
expected = m * pi_null
# scipy.stats.chisquare — Pearson X^2 및 p-value
chi2, p = stats.chisquare(f_obs=observed, f_exp=expected)
print(f"X^2 = {chi2:.3f}, p = {p:.4f}, df = {len(observed) - 1}")
# 다항 pmf 직접 평가
logpmf = stats.multinomial(m, pi_null).logpmf(observed)
print(f"log-pmf of observation = {logpmf:.3f}")
# 계층 분해 확인 — 다항 pmf = 이항 곱
log_mult = 0.0
cum_gamma = 0.0
cum_z = 0
for j in range(len(observed) - 1):
gamma_prev = cum_gamma
pi_j = pi_null[j]
n_remaining = m - cum_z
cond_p = pi_j / (1 - gamma_prev) if gamma_prev < 1 else 0.0
log_mult += stats.binom(n_remaining, cond_p).logpmf(observed[j])
cum_gamma += pi_j
cum_z += observed[j]
print(f"이항 곱으로 재구성한 log-pmf = {log_mult:.3f}")이항 곱으로 재구성한 로그 확률이 다항 로그 pmf 와 정확히 일치함을 확인할 수 있다. 이것이 §5.3.5 의 이항 분해 를 수치적으로 검증한 것이다.
R 에서는 dmultinom(), rmultinom(), chisq.test() 가 같은 역할을 한다.
9 자주 걸리는 함정
| 함정 | 증상 | 처방 |
|---|---|---|
| 공분산 역행렬 직접 시도 | LinAlgError: Singular matrix |
g-inverse 쓰거나 \(k-1\) 차원 축소 |
| 자유도를 \(k\) 로 설정 | \(\chi^2\) p-value 보수적 | 제약 하나 반영해 \(k - 1\) |
| 범주별 이항으로 독립 가정 | 표준오차 과대평가 | 다항 공분산의 음 상관 반영 |
| 기대도수가 작은 셀(\(m\pi_j < 5\)) | \(\chi^2\) 근사 붕괴 | 범주 병합 또는 정확검정 (Fisher, Monte Carlo) |
| 비례 오즈 우도에 이항 분해 잘못 대입 | 우도 일치하지 않음 | \(\pi_j = \gamma_j - \gamma_{j-1}\) 관계 준수 |
| 균일 다항에 \(S_{-1} - k^2\) 보정 중복 | 분산 과대평가 | 균일 case 에서는 이 항이 0 임을 확인 |
10 관련 주제
선행 지식
후속 주제 (placeholder)
관련 개념
- 로그선형 모형 (Ch.6) — 포아송-다항 조건부 동치
- Pearson \(\chi^2\) 와 이탈도 — 일반 GLM 적합도
- 이산시간 해저드와 생존분석 — 이항 분해의 생존 버전
- 가우시안 Markov Random Field — 삼중대각 정밀도 행렬과 공통 구조
11 참고문헌
- McCullagh, P. & Nelder, J. A. (1989). Generalized Linear Models (2nd ed.), §5.3. Chapman & Hall.
- Pearson, K. (1900). On the criterion that a given system of deviations… Philosophical Magazine, 50, 157–175.
- Rao, C. R. (1973). Linear Statistical Inference and Its Applications (2nd ed.). Wiley. — 일반화역행렬 체계
- Kruskal, W. (1975). The geometry of generalized inverses. JRSS B, 37, 272–283.
- Stone, M. (1987). Coordinate-Free Multivariable Statistics. Oxford.
- Agresti, A. (2013). Categorical Data Analysis (3rd ed.). Wiley.