이산 분포 (Discrete Distributions)

Casella & Berger Ch.3.2 — 이산균등, 초기하, 이항, 포아송, 음이항, 기하 분포의 이론과 실무

카운트 데이터와 이진 결과를 모형화하는 6가지 핵심 이산 분포를 체계적으로 정리한다. PMF, 평균, 분산, MGF의 수학적 도출과 함께, 분포 간 극한 관계(이항→포아송, 기하⊂음이항)를 증명하고 데이터 사이언스 실무에서의 분포 선택 기준을 제시한다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 28일

1 이산 분포란 무엇인가

확률변수 \(X\) 가 이산 분포(discrete distribution)를 따른다는 것은 \(X\) 의 표본공간(range)이 가산(countable)이라는 뜻이다. 대부분의 경우 \(X\) 는 정수값을 취한다. 이산 분포는 “몇 번 발생했는가?” 또는 “몇 번째에 처음 성공했는가?”와 같은 카운트 기반 질문에 답한다.

이산 분포가 필요한 실무 상황
  • A/B 테스트에서 전환(1) vs. 비전환(0) 집계 → 이항 분포
  • 시간당 장애 발생 건수 모니터링 → 포아송 분포
  • 품질 검사에서 불량품 수 파악 (비복원 추출, 유한 모집단) → 초기하 분포
  • 신약 임상에서 \(r\) 번째 유해반응까지 필요한 관찰 수 → 음이항 분포
  • 첫 번째 성공(클릭, 결제)까지의 시행 수 → 기하 분포

분포 선택 오류는 신뢰구간 과소 추정과 잘못된 유의성 판단으로 이어진다. 어떤 분포를 선택하느냐가 추론의 신뢰성을 결정한다.

이 포스트는 Casella & Berger (2002) Ch.3.2의 체계를 따르며, 6가지 이산 분포를 정의 → 평균·분산·MGF → 직관적 해석 → 분포 간 관계 → 코드 예시의 흐름으로 전개한다.


2 이산균등 분포 (Discrete Uniform Distribution)

정의: 이산균등 분포

확률변수 \(X\) 가 이산균등 \((1, N)\) 분포를 따르면, PMF는 다음과 같다:

\[ P(X = x \mid N) = \frac{1}{N}, \quad x = 1, 2, \ldots, N \]

\(N\) 은 지정된 양의 정수이며, 모든 결과에 동일한 확률 질량을 할당한다.

평균과 분산: 등차급수 항등식 \(\sum_{i=1}^{k} i = k(k+1)/2\)\(\sum_{i=1}^{k} i^2 = k(k+1)(2k+1)/6\) 을 이용하면,

\[ E[X] = \sum_{x=1}^{N} x \cdot \frac{1}{N} = \frac{N+1}{2} \]

\[ \text{Var}(X) = E[X^2] - (E[X])^2 = \frac{(N+1)(2N+1)}{6} - \left(\frac{N+1}{2}\right)^2 = \frac{(N+1)(N-1)}{12} \]

직관: 평균이 \(1\)\(N\) 의 중간값이고, 분산은 \(N\) 이 커질수록 단조 증가한다. 주사위 \((N=6)\) 라면 \(E[X] = 3.5\) , \(\text{Var}(X) = 35/12 \approx 2.92\) 이다.

응용: 무작위 배정(randomization), 암호화 난수 생성, 순위 기반 방법에서 기준 분포로 활용한다.


3 초기하 분포 (Hypergeometric Distribution)

정의: 초기하 분포

\(N\) 개 중 \(M\) 개는 “관심 범주”(예: 불량품), \(N-M\) 개는 “그 외”인 유한 모집단에서 \(K\) 개를 비복원 추출할 때, 관심 범주의 개수 \(X\) 는 다음 PMF를 따른다:

\[ P(X = x \mid N, M, K) = \frac{\binom{M}{x}\binom{N-M}{K-x}}{\binom{N}{K}}, \quad x = 0, 1, \ldots, K \]

단, \(x\) 의 실제 범위는 \(\max(0,\, M-(N-K)) \leq x \leq \min(M, K)\) 이다.

평균과 분산: 초기하 분포의 평균 유도는 항등식 \(x\binom{M}{x} = M\binom{M-1}{x-1}\) 을 이용한다. 합산 변수 치환 \(y = x - 1\) 을 적용하면, 나머지 합이 다시 초기하 \((N-1, M-1, K-1)\) 의 확률 전체 합 = 1임을 인식할 수 있다. 결과는:

\[ E[X] = \frac{KM}{N} \]

\[ \text{Var}(X) = \frac{KM}{N} \cdot \frac{(N-M)(N-K)}{N(N-1)} \]

이항 분포와의 차이: 이항 분포는 복원 추출(각 시행이 독립)을 가정하지만, 초기하 분포는 비복원 추출(유한 모집단, 시행 간 의존성)을 다룬다. 분산 표현에서 유한 모집단 교정인자(finite population correction) \(\frac{N-K}{N-1}\) 가 나타나며, 이는 \(N \to \infty\) 이면 1에 수렴하여 이항으로 근사된다.

예시: 품질 검사 (수용 표본 추출)

로트 25개 부품 중 6개가 불량이다. 10개를 무작위로 추출하여 불량이 없을 확률은?

\[ P(X = 0) = \frac{\binom{6}{0}\binom{19}{10}}{\binom{25}{10}} = \frac{1 \cdot 92378}{3268760} \approx 0.028 \]

불량이 6개 이상 있을 때 표본에 불량이 없을 확률은 약 2.8%에 불과하다. 이 드문 사건이 실제로 관찰됐다면, 로트가 사실상 결함이 없다는 강한 증거로 해석한다.


4 베르누이 분포와 이항 분포 (Bernoulli and Binomial Distribution)

4.1 베르누이 분포

베르누이 시행(Bernoulli trial)은 결과가 성공(1) 또는 실패(0) 두 가지뿐인 실험이다. 확률변수 \(X \sim \text{Bernoulli}(p)\) 의 PMF는:

\[ P(X = x) = p^x (1-p)^{1-x}, \quad x \in \{0, 1\} \]

\(E[X] = p\) , \(\text{Var}(X) = p(1-p)\) 이다.

4.2 이항 분포

정의: 이항 분포

\(n\) 번의 독립적인 베르누이 \((p)\) 시행에서 성공 횟수 \(Y = \sum_{i=1}^{n} X_i\) 는 이항 \((n, p)\) 분포를 따르며:

\[ P(Y = y \mid n, p) = \binom{n}{y} p^y (1-p)^{n-y}, \quad y = 0, 1, \ldots, n \]

직관: 이항 PMF \(\binom{n}{y} p^y (1-p)^{n-y}\) 의 각 항

\(\binom{n}{y}\): \(n\) 번 시도 중 성공이 정확히 \(y\) 번 나오는 순서 배열의 수. 성공의 위치만 다를 뿐 각 배열의 확률은 동등하다. 예를 들어 3번 중 2번 성공이면 (성공, 성공, 실패), (성공, 실패, 성공), (실패, 성공, 성공)으로 \(\binom{3}{2} = 3\) 가지이다.

\(p^y\): 성공이 \(y\) 번 일어날 확률. 각 시행이 독립이므로 개별 성공 확률을 \(y\) 번 곱한다.

\((1-p)^{n-y}\): 실패가 \(n-y\) 번 일어날 확률. 역시 독립 시행이므로 개별 실패 확률을 \(n-y\) 번 곱한다.

세 항의 곱 = “이 배열이 정확히 일어날 확률”. 이 항이 없으면 어떻게 되는가: \(\binom{n}{y}\) 만 있으면 배열 수만 세고 실제 확률을 무시하게 된다. \(p^y\) 만 있으면 실패의 기여를 빠뜨려 확률의 합이 1을 초과한다.

정규화 검증: 이항 정리(Binomial Theorem) \((x+y)^n = \sum_{i=0}^n \binom{n}{i} x^i y^{n-i}\) 에서 \(x = p\) , \(y = 1-p\) 로 놓으면 \((p + (1-p))^n = 1 = \sum_{y=0}^n P(Y=y)\) 가 성립한다.

평균과 분산: 각 \(X_i\) 가 독립이므로 선형성에 의해:

\[ E[Y] = np, \qquad \text{Var}(Y) = np(1-p) \]

MGF:

\[ M_Y(t) = \left[ pe^t + (1-p) \right]^n \]

직관: \(n\) 번 시도 중 평균 \(np\) 번 성공한다. 분산은 \(p = 0.5\) 일 때 최대 \((np \cdot 0.5)\) 이고, \(p \to 0\) 또는 \(p \to 1\) 이면 감소한다. 성공 확률이 극단적일수록 결과의 불확실성이 낮아진다는 직관과 일치한다.

예시: 파스칼의 도박 문제

공정한 주사위를 4번 굴려 6이 적어도 한 번 나올 확률:

\[ P(Y > 0) = 1 - P(Y=0) = 1 - \left(\frac{5}{6}\right)^4 \approx 0.518 \]

한 쌍의 주사위를 24번 굴려 더블 6이 적어도 한 번 나올 확률 \((p = 1/36)\):

\[ P(Y > 0) = 1 - \left(\frac{35}{36}\right)^{24} \approx 0.491 \]

두 사건의 확률이 비슷해 보여도 실제로 다르다. 파스칼은 이 계산을 통해 도박사 드 메레의 직관이 틀렸음을 수학적으로 증명했다.


5 포아송 분포 (Poisson Distribution)

정의: 포아송 분포

확률변수 \(X\) 가 포아송 \((\lambda)\) 분포를 따르면:

\[ P(X = x \mid \lambda) = \frac{e^{-\lambda} \lambda^x}{x!}, \quad x = 0, 1, 2, \ldots \]

\(\lambda > 0\) 은 단위 시간(또는 공간)당 평균 발생 횟수인 강도 모수(intensity parameter)이다.

직관: 포아송 PMF \(\frac{e^{-\lambda}\lambda^x}{x!}\) 의 각 항

\(\lambda^x\): 평균 \(\lambda\) 인 사건이 \(x\) 번 발생하는 “빈도 기여”. \(\lambda\) 가 크거나 \(x\)\(\lambda\) 에 가까울수록 이 항이 크다.

\(x!\): \(x\) 번 사건의 순서 중복을 제거한다. 사건 건수를 셀 때 순서는 의미가 없으므로 나눈다.

\(e^{-\lambda}\): 정규화 상수. 테일러 급수 \(\sum_{x=0}^\infty \lambda^x / x! = e^\lambda\) 이므로, 전체 합이 1이 되도록 \(e^{-\lambda}\) 를 곱한다.

이항 분포와의 연결: 포아송은 이항 \((n, \lambda/n)\) 에서 \(n \to \infty\) 극한이다. “매우 많은 독립 기회 중 각각에서 아주 낮은 확률로 발생하는 사건의 총 건수”를 모형화한다. 이 항이 없으면: \(e^{-\lambda}\) 가 없으면 확률의 합이 \(e^\lambda > 1\) 이 되어 유효한 분포가 아니다.

정규화 검증: 테일러 급수 \(e^\lambda = \sum_{x=0}^\infty \lambda^x / x!\) 에 의해 \(\sum_{x=0}^\infty P(X=x) = e^{-\lambda} e^\lambda = 1\) 이 성립한다.

평균과 분산: 합산 변수 치환 \(y = x - 1\) 을 이용하면:

\[ E[X] = \lambda e^{-\lambda} \sum_{y=0}^\infty \frac{\lambda^y}{y!} = \lambda \]

비슷한 방식으로 \(\text{Var}(X) = \lambda\) 를 유도한다. 즉, 포아송 분포는 평균과 분산이 동일하다. 이를 등산포(equidispersion)라 한다.

MGF:

\[ M_X(t) = e^{\lambda(e^t - 1)} \]

재귀 관계: \(P(X = x) = \frac{\lambda}{x} P(X = x-1)\) 이 성립하며, 이를 이용하면 순차적으로 확률을 빠르게 계산할 수 있다.

직관: 포아송 분포는 “단위 시간에 평균 \(\lambda\) 번 발생하는 희귀 사건의 건수”를 모형화한다. 핵심 가정은 (1) 짧은 시간 구간에서 발생 확률이 구간 길이에 비례하고, (2) 두 사건이 동시에 발생하지 않으며, (3) 서로 다른 구간의 발생이 독립적이라는 것이다.

예시: 대기 시간 모형

전화 교환원이 평균 3분에 5번 전화를 처리한다면, 1분당 \(\lambda = 5/3\) 이다.

\[ P(\text{다음 1분 동안 전화 없음}) = P(X=0) = e^{-5/3} \approx 0.189 \]

\[ P(\text{최소 2번 전화}) = 1 - P(X=0) - P(X=1) = 1 - e^{-5/3}\left(1 + \frac{5}{3}\right) \approx 0.496 \]


6 음이항 분포 (Negative Binomial Distribution)

이항 분포가 “고정된 \(n\) 번 시행에서 성공 횟수”를 다룬다면, 음이항 분포는 \(r\) 번째 성공까지 필요한 실패 횟수”를 다룬다.

정의: 음이항 분포

\(r\) 번째 성공이 나오기 전의 실패 횟수 \(Y\) 에 대해:

\[ P(Y = y \mid r, p) = \binom{r+y-1}{y} p^r (1-p)^y, \quad y = 0, 1, 2, \ldots \]

직관: 음이항 PMF \(\binom{r+y-1}{y} p^r (1-p)^y\) 의 각 항

\(p^r\): \(r\) 번의 성공이 발생할 확률의 기여. 각 성공 확률이 독립이므로 곱한다.

\((1-p)^y\): \(y\) 번의 실패가 발생할 확률의 기여.

\(\binom{r+y-1}{y}\): 총 \(r+y\) 번 시행 중 마지막 시행을 성공으로 고정했을 때, 앞의 \(r+y-1\) 번 시행에서 실패 \(y\) 번의 위치를 배열하는 수.

핵심 제약: 마지막(\(r+y\) 번째) 시행은 반드시 성공이어야 한다. 이 조건이 없으면 “\(r\) 번째 성공 이후”에도 계속 시행하는 상황을 허용하여 PMF의 합이 1을 초과한다. 이 고정 조건 때문에 앞 \(r+y-1\) 번만 순서를 세면 된다.

이항과의 비교: 이항은 시행 수 \(n\) 이 고정, 성공 수가 변동한다. 음이항은 성공 수 \(r\) 이 고정, 시행 수(= \(r+y\))가 변동한다.

유도: \(r\) 번째 성공이 정확히 \(x = r + y\) 번째 시행에서 발생한다는 것은 처음 \(x-1\) 번 시행 중 \(r-1\) 번 성공하고 \(x\) 번째 시행에서 성공함을 의미한다. 이 두 확률을 곱하면 PMF가 도출된다.

명칭의 기원: \(\binom{r+y-1}{y} = (-1)^y \binom{-r}{y}\) 관계에서 음의 이항계수가 나타나기 때문에 “음이항”이라 불린다.

평균과 분산: 합산 변수 치환 \(z = y - 1\) 과 음이항 \((r+1, p)\) 확률 합 = 1 성질을 이용하면:

\[ E[Y] = \frac{r(1-p)}{p}, \qquad \text{Var}(Y) = \frac{r(1-p)}{p^2} \]

평균 재모수화: \(\mu = r(1-p)/p\) 로 정의하면 \(\text{Var}(Y) = \mu + \mu^2/r\) 이다. 분산이 평균의 이차 함수이므로 과산포(overdispersion) 를 자연스럽게 표현한다. \(r \to \infty\) 이면 \(\text{Var}(Y) \to \mu\) 로 수렴하여 포아송의 등산포가 극한으로 나타난다.

예시: 역이항 표본 추출

과실파리 집단에서 특정 유전형질을 가진 개체가 차지하는 비율이 \(p\) 이다. \(r = 100\) 마리가 발견될 때까지 검사하는 경우, 검사한 총 개체 수는 음이항 분포를 따른다. 이 설계는 표본 크기가 사전에 고정되지 않고 원하는 성공 수에 따라 결정되는 역이항 표본 추출(inverse binomial sampling)이다.


7 기하 분포 (Geometric Distribution)

정의: 기하 분포

첫 번째 성공이 발생하는 시행 번호 \(X\) 의 PMF:

\[ P(X = x \mid p) = p(1-p)^{x-1}, \quad x = 1, 2, \ldots \]

이는 \(r = 1\) 인 음이항 분포의 특수한 경우이다.

\(P(X = x)\) 의 합 = 1은 등비급수 \(\sum_{x=1}^\infty (1-p)^{x-1} = 1/(1-\cdot(1-p)) = 1/p\)\(p\) 를 곱하여 확인한다.

평균과 분산: 음이항 공식에서 \(r = 1\) , \(Y = X - 1\) 의 관계를 사용하면:

\[ E[X] = \frac{1}{p}, \qquad \text{Var}(X) = \frac{1-p}{p^2} \]

7.1 무기억성 (Memoryless Property)

기하 분포의 가장 중요한 성질은 무기억성(memoryless property)이다. 임의의 양의 정수 \(s > t\) 에 대해:

\[ P(X > s \mid X > t) = P(X > s - t) \]

증명: 임의의 양의 정수 \(n\) 에 대해 \(P(X > n) = (1-p)^n\) (처음 \(n\) 번 모두 실패)이다. 따라서:

\[ P(X > s \mid X > t) = \frac{P(X > s)}{P(X > t)} = \frac{(1-p)^s}{(1-p)^t} = (1-p)^{s-t} = P(X > s - t) \]

직관: \(t\) 번 실패했다는 사실이 앞으로의 대기 시간 분포에 아무 영향을 미치지 않는다. “이미 \(t\) 번이나 실패했으니 이번엔 성공할 것”이라는 도박사의 오류(gambler’s fallacy)가 수학적으로 틀린 이유이다.

무기억성은 기하 분포를 이산 지수 분포로 만든다. 연속 지수 분포도 동일한 성질을 가지며, 이산과 연속 세계에서 각각 유일하게 무기억성을 만족하는 분포이다.


8 분포 간 관계 (Relationships Among Distributions)

이산 분포들은 독립적으로 존재하지 않고 극한 관계와 포함 관계로 연결된다.

8.1 이항 → 포아송 근사

\(n \to \infty\) , \(p \to 0\) , \(np = \lambda\) 고정 시, 이항 \((n, p)\) 이 포아송 \((\lambda)\) 에 수렴한다.

재귀 관계를 통한 증명: 이항의 재귀식 \(P(Y=y) = \frac{(n-y+1)}{y} \frac{p}{1-p} P(Y=y-1)\) 에서 \(p\) 가 작으면:

\[ \frac{(n-y+1)}{y} \cdot \frac{p}{1-p} \approx \frac{np}{y} = \frac{\lambda}{y} \]

이는 포아송의 재귀식 \(P(X=x) = \frac{\lambda}{x} P(X=x-1)\) 과 일치한다. \(P(Y=0) = (1 - \lambda/n)^n \to e^{-\lambda}\) 이므로 초기값도 수렴하여 근사가 완성된다.

실무적 의의: \(n\) 이 크고 \(p\) 가 작을 때 이항 계수 계산이 불필요해진다. 예를 들어 1500단어에서 오타가 평균 3개 발생하는 경우 \(P(X \leq 2) \approx e^{-3}(1 + 3 + 4.5) \approx 0.423\) 로 간단히 계산된다.

8.2 초기하 → 이항 근사

모집단 \(N \to \infty\) , \(M/N \to p\) 고정 시, 초기하 \((N, M, K)\) 가 이항 \((K, p)\) 에 수렴한다. 유한 모집단 교정인자 \((N-K)/(N-1) \to 1\) 이기 때문이다. “모집단이 충분히 크면 비복원 추출을 복원 추출로 근사해도 된다”는 실무 규칙의 수학적 근거이다.

8.3 음이항 → 포아송 극한

\(r \to \infty\) , \(p \to 1\) , \(r(1-p) = \lambda\) 고정 시:

\[ E[Y] = \frac{r(1-p)}{p} \to \lambda, \qquad \text{Var}(Y) = \frac{r(1-p)}{p^2} \to \lambda \]

평균과 분산이 같아지며 포아송에 수렴한다.

8.4 기하 ⊂ 음이항

\(r = 1\) 인 음이항이 기하 분포이다. 기하 분포는 음이항의 가장 단순한 특수한 경우이다.

극한/관계 조건 결과 DS 실무 의미
이항 → 포아송 \(n \to \infty\), \(p \to 0\), \(np = \lambda\) 이항 ≈ 포아송 희귀 사건 근사, 계산 단순화
초기하 → 이항 \(N \to \infty\), \(M/N \to p\) 초기하 ≈ 이항 대규모 모집단에서 비복원 → 복원
음이항 → 포아송 \(r \to \infty\), \(p \to 1\), \(r(1-p) = \lambda\) 음이항 ≈ 포아송 과산포 모형의 포아송 수렴
기하 = 음이항 \((r=1)\) \(r = 1\) 기하는 특수 경우 첫 번째 성공 = 1번의 성공

9 분포 선택 기준

데이터 특성 권장 분포 근거
이진 결과 (0/1), 단일 시행 베르누이 \((p)\) 성공 확률 모형
이진 결과, \(n\) 번 시행 합산 이항 \((n, p)\) 독립 베르누이 합
비복원 추출, 유한 모집단 초기하 \((N, M, K)\) 모집단 구성 변화
카운트, \(\text{Var} \approx E\) 포아송 \((\lambda)\) 등산포 가정
카운트, \(\text{Var} > E\) 음이항 \((r, p)\) 과산포 처리
첫 성공까지 시행 수 기하 \((p)\) 무기억성 대기 시간
과산포 무시의 위험성

카운트 데이터에 포아송을 무조건 적용하면 안 된다. 과산포 데이터에 포아송을 강제하면 표준오차가 과소 추정되어 유의하지 않은 효과를 유의하다고 판단하는 제1종 오류가 증가한다. 실무에서는 분산이 평균의 몇 배인지 먼저 확인하고(과산포 검정, LRT), 유의미한 과산포가 있으면 음이항 회귀 또는 quasi-Poisson을 사용한다.


10 코드 예시

10.1 Step 1: 순수 Python 구현 (원리 이해)

import math

# ----- 이산균등 분포 -----
def discrete_uniform_mean(N): return (N + 1) / 2
def discrete_uniform_var(N): return (N + 1) * (N - 1) / 12

# ----- 초기하 분포 PMF -----
def hypergeom_pmf(x, N, M, K):
    def comb(n, r):
        if r < 0 or r > n: return 0
        return math.comb(n, r)
    return comb(M, x) * comb(N - M, K - x) / comb(N, K)

# ----- 이항 분포 PMF -----
def binom_pmf(y, n, p):
    return math.comb(n, y) * p**y * (1 - p)**(n - y)

# ----- 포아송 분포 PMF -----
def poisson_pmf(x, lam):
    return math.exp(-lam) * lam**x / math.factorial(x)

# ----- 이항 → 포아송 근사 비교 (n=1000, p=0.005, λ=5) -----
n, p, lam = 1000, 0.005, 5.0
print("x  | Binomial(1000, 0.005) | Poisson(5)    | 차이")
print("-" * 55)
for x in range(11):
    b = binom_pmf(x, n, p)
    poi = poisson_pmf(x, lam)
    print(f"{x:2d} | {b:.7f}           | {poi:.7f} | {abs(b-poi):.2e}")

# ----- 기하 분포 무기억성 검증 -----
def geom_pmf(x, p): return p * (1 - p)**(x - 1)
def geom_cdf(n, p):  return 1 - (1 - p)**n

p_geom = 0.3
t, s = 3, 7  # P(X > s | X > t) = P(X > s-t)
lhs = (1 - geom_cdf(s, p_geom)) / (1 - geom_cdf(t, p_geom))
rhs = 1 - geom_cdf(s - t, p_geom)
print(f"\n기하 분포 무기억성 검증 (p=0.3, t={t}, s={s}):")
print(f"  P(X > {s} | X > {t}) = {lhs:.6f}")
print(f"  P(X > {s-t})        = {rhs:.6f}")
print(f"  일치 여부: {abs(lhs - rhs) < 1e-10}")

10.2 Step 2: scipy 구현 (실무 활용)

import numpy as np
from scipy import stats

# ----- 6가지 분포 요약 통계 비교 -----
distributions = {
    "Discrete Uniform(N=10)": (stats.randint(1, 11), None),   # loc=1, high=11
    "Hypergeometric(N=50,M=10,K=5)": (stats.hypergeom(50, 10, 5), None),
    "Binomial(n=20, p=0.3)": (stats.binom(20, 0.3), None),
    "Poisson(lambda=4)": (stats.poisson(4), None),
    "Negative Binomial(r=3, p=0.5)": (stats.nbinom(3, 0.5), None),
    "Geometric(p=0.2)": (stats.geom(0.2), None),
}

print(f"{'분포':<35} {'E[X]':>6}  {'Var(X)':>8}")
print("-" * 55)
for name, (dist, _) in distributions.items():
    m, v = dist.mean(), dist.var()
    print(f"{name:<35} {m:>6.3f}  {v:>8.3f}")

# ----- 음이항 과산포 확인 -----
# 포아송(λ=5)과 음이항(r=5, p=0.5, E=5) 비교
lam = 5
r, p_nb = 5, 0.5  # E[Y] = r(1-p)/p = 5

poi_var = lam
nb_var = r * (1 - p_nb) / p_nb**2  # = 10

print(f"\n포아송(λ=5):             E={lam}, Var={poi_var} (등산포)")
print(f"음이항(r=5, p=0.5):      E={r*(1-p_nb)/p_nb:.1f}, Var={nb_var:.1f} (과산포, Var/E={nb_var/lam:.1f})")

# ----- 과산포 탐지 예시 -----
np.random.seed(42)
# 음이항에서 데이터 생성 (실제 과산포 상황 모의)
overdispersed_data = stats.nbinom.rvs(r, p_nb, size=500)
sample_mean = overdispersed_data.mean()
sample_var = overdispersed_data.var()
print(f"\n음이항 시뮬레이션 데이터 (n=500):")
print(f"  표본 평균: {sample_mean:.3f}, 표본 분산: {sample_var:.3f}")
print(f"  Var/Mean 비율: {sample_var/sample_mean:.3f}  (1이면 포아송, >1이면 과산포)")

11 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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