감마 분포

오류 제보
통계 시뮬레이션 마지막 수정: 2026-10-24 04:38:26

○ 공개 검수 대기 AI 보조 작성 표시 기준 보기

1. 개요

감마 분포
Gamma Distribution
밀도f(x)=xk−1e−x/θ/(Γ(k)θk)f(x) = x^{k-1}e^{-x/\theta}/(\Gamma(k)\theta^k), x>0x > 0
모수형상 k>0k > 0, 척도 θ>0\theta > 0 (또는 비율 β=1/θ\beta = 1/\theta)
평균·분산kθk\theta, kθ2k\theta^2
왜도2/k2/\sqrt{k}
특수한 경우지수 (k=1k=1), 얼랑 (정수 kk), 카이제곱 (k=ν/2k=\nu/2, θ=2\theta=2)
누적분포정칙화 하불완전 감마 P(k,x/θ)P(k, x/\theta)
켤레 관계포아송 비율·정규 정밀도의 켤레사전분포

「사건 kk 번이 일어날 때까지 기다린 시간」 의 분포. 그리고 양수이면서 오른쪽으로 꼬리가 긴 데이터에 일단 맞춰 보는 국룰 분포.

감마 분포(gamma distribution)는 양의 실수 위에서 확률밀도

f(x; k,θ)=xk−1e−x/θΓ(k) θk,x>0f(x;\,k,\theta) = \frac{x^{k-1}e^{-x/\theta}}{\Gamma(k)\,\theta^k},\qquad x > 0

를 갖는 연속 확률분포다. kk 는 모양을 정하는 형상 모수, θ\theta 는 단위를 정하는 척도 모수이고, 정규화 상수가 감마 함수라서 이 이름이 붙었다. 통계·베이지안 쪽은 비율 β=1/θ\beta = 1/\theta 로 쓰는 경우가 많아서, 라이브러리마다 두 번째 인자가 척도인지 비율인지 확인하는 것이 첫 단계다(NumPy gamma(shape, scale), SciPy gamma(a, scale=), Stan gamma(alpha, beta) 는 비율이다)1.

시뮬레이션에서 감마 분포는 세 가지 얼굴로 나온다. 대기 시간(포아송 과정에서 kk 번째 사건까지의 시간), 양수 데이터의 경험적 모형(강수량·빗방울 크기·고장 시간·보험 청구액), 그리고 베이지안 계산의 부품(포아송 비율과 정규 정밀도의 켤레사전분포)이다. 이 문서는 이 셋과 모수 추정·난수 생성의 실무 요점을 정리한다.

2. 성질

  • 평균·분산·최빈값. 평균 kθk\theta, 분산 kθ2k\theta^2, k≥1k \ge 1 이면 최빈값 (k−1)θ(k-1)\theta. 변동계수가 1/k1/\sqrt{k} 라서 kk 하나가 「상대적 퍼짐」 을 정한다.
  • 모양. k<1k < 1 이면 밀도가 x=0x = 0 에서 무한대로 발산하는 J 자, k=1k = 1 이면 지수분포, k>1k > 1 이면 0 에서 시작하는 종 모양이다. 왜도 2/k2/\sqrt{k} 가 k→∞k \to \infty 에서 0 으로 가며 정규분포에 다가간다(중심극한정리).
  • 가법성. 척도가 같은 독립 감마 변수의 합은 다시 감마다: ∑iGamma(ki,θ)=Gamma(∑iki,θ)\sum_i\mathrm{Gamma}(k_i, \theta) = \mathrm{Gamma}(\sum_i k_i, \theta). 척도 변환 cX∼Gamma(k,cθ)cX \sim \mathrm{Gamma}(k, c\theta).
  • 지수족. 충분통계량이 (x,ln⁡x)(x, \ln x) 인 지수족이다. 그래서 MLE 가 표본평균과 로그 표본평균만으로 정해지고, E[ln⁡X]=ψ(k)+ln⁡θE[\ln X] = \psi(k) + \ln\theta 처럼 디감마 함수가 끼어든다.
  • 누적분포. F(x)=P(k,x/θ)=γ(k,x/θ)/Γ(k)F(x) = P(k, x/\theta) = \gamma(k, x/\theta)/\Gamma(k) (정칙화 하불완전 감마 함수). 작은 인자에서는 급수, 큰 인자에서는 상불완전 감마의 연분수로 계산하는 것이 표준이다(DLMF 8 장).

3. 친척 분포들

분포감마로 쓰면의미
지수분포Gamma(1,θ)\mathrm{Gamma}(1, \theta)포아송 과정의 사건 간격
얼랑 분포Gamma(k,θ)\mathrm{Gamma}(k, \theta), kk 정수지수 간격 kk 개의 합 = kk 번째 사건까지 시간
카이제곱 χν2\chi^2_\nuGamma(ν/2, 2)\mathrm{Gamma}(\nu/2,\ 2)표준정규 ν\nu 개 제곱합
베타X/(X+Y)X/(X+Y), X,YX, Y 감마(같은 척도)비율
디리클레감마 변수들을 합으로 나눈 벡터확률 벡터
음이항비율이 감마인 포아송의 혼합과대산포 계수

얼랑과 포아송의 쌍대성. 비율 λ\lambda 인 포아송 과정에서 「tt 까지 사건이 kk 번 이상 일어난다」 와 「kk 번째 사건이 tt 이전에 일어난다」 는 같은 사건이므로

P(Gamma(k,1/λ)≤t)=P(Poisson(λt)≥k)P\bigl(\mathrm{Gamma}(k, 1/\lambda) \le t\bigr) = P\bigl(\mathrm{Poisson}(\lambda t) \ge k\bigr)

이다. 얼랑이 처음 나온 곳이 전화 교환기 설계였고, 지금도 대기행렬 이론의 서비스 시간 모형(M/Ek_k/1)과 이산 사건 시뮬레이션의 기본 부품이다.

감마-포아송 혼합 = 음이항. 비율 λ∼Gamma(k,θ)\lambda \sim \mathrm{Gamma}(k, \theta) 를 먼저 뽑고 N∣λ∼Poisson(λ)N \mid \lambda \sim \mathrm{Poisson}(\lambda) 를 뽑으면 NN 은 음이항 분포를 따르고, 평균 μ=kθ\mu = k\theta, 분산 μ+μ2/k\mu + \mu^2/k 다. 포아송은 분산 = 평균이라는 강한 제약이 있는데, 실제 계수 데이터(유전자 발현 리드 수, 사고 건수, 결함 수)는 거의 언제나 분산이 더 크다. 그 초과분을 「개체마다 비율이 감마로 다르다」 로 설명하는 것이 이 혼합이고, 1/k1/k 가 과대산포 계수다.

4. 모수 추정

적률법. k^=xˉ2/s2\hat k = \bar x^2/s^2, θ^=s2/xˉ\hat\theta = s^2/\bar x. 한 줄이지만 비효율적이고 이상치에 약하다.

최대우도. 로그우도를 θ\theta 에 대해 먼저 최대화하면 θ^=xˉ/k\hat\theta = \bar x/k 가 나오고, 남은 kk 에 대한 방정식은

ln⁡k−ψ(k)=ln⁡xˉ−ln⁡x‾≡s\ln k - \psi(k) = \ln\bar x - \overline{\ln x} \equiv s

다. 좌변이 단조감소라 해가 유일하고(젠센 부등식으로 s>0s > 0 이 보장된다), 민카(2002)의 초기값 k0=(3−s+(s−3)2+24s)/(12s)k_0 = (3 - s + \sqrt{(s-3)^2 + 24s})/(12s) 에서 뉴턴-랩슨법을 2~3번 돌리면 기계 정밀도로 끝난다. k=2.5k = 2.5, θ=2\theta = 2 표본 1000개에서 MLE 는 k^=2.60056\hat k = 2.60056, θ^=1.90276\hat\theta = 1.90276, 적률법은 k^=2.608\hat k = 2.608 이었다. 반복 과정과 트라이감마 도함수는 디감마 함수 문서에 있다.

주의할 점은 ln⁡x‾\overline{\ln x} 다. 0 이 섞인 데이터(비가 안 온 날의 강수량)에 그대로 맞추면 ln⁡0=−∞\ln 0 = -\infty 로 터진다. 강수 분석에서는 0 의 비율을 따로 추정하고 양수 부분에만 감마를 맞추는 혼합 모형을 쓴다. 가뭄 지수 SPI(표준강수지수)가 정확히 이 절차 — 누적 강수에 감마를 맞추고 그 누적확률을 표준정규 분위수로 바꾼다 — 로 계산된다2.

5. 난수 생성

  • 정수 kk (얼랑). −θ∑i=1kln⁡Ui=−θln⁡∏Ui-\theta\sum_{i=1}^{k}\ln U_i = -\theta\ln\prod U_i. O(k)O(k) 라 kk 가 크면 느리고, 곱을 그대로 하면 언더플로하니 로그를 더한다.
  • 일반 kk. 마르살리아-창(2000) 기각 표본추출이 표준이다(절차와 수락률은 감마 함수 문서에 있다). k<1k < 1 은 Gamma(k+1)\mathrm{Gamma}(k+1) 을 뽑아 U1/kU^{1/k} 를 곱한다.
  • 거기서 파생. 카이제곱·베타·디리클레 난수를 전부 감마 난수로 만든다. 디리클레 Dir(α)\mathrm{Dir}(\boldsymbol\alpha) 는 Yi∼Gamma(αi,1)Y_i \sim \mathrm{Gamma}(\alpha_i, 1) 을 뽑고 합으로 나눈다. αi\alpha_i 가 아주 작으면 YiY_i 가 배정밀도에서 0 으로 떨어져 0/0 이 나오므로, 그 구간은 로그 공간에서 뽑는다.

윌슨-힐퍼티 근사. (X/kθ)1/3(X/k\theta)^{1/3} 이 평균 1−1/(9k)1 - 1/(9k), 분산 1/(9k)1/(9k) 인 정규분포에 가깝다는 근사(1931)다. χ102\chi^2_{10} 의 99% 분위수를 이것으로 구하면 23.239, 정확값은 23.209 로 0.13% 차이다. 역 누적분포 계산의 초기값이나, 감마 분위수를 대량으로 빨리 뽑아야 할 때 쓴다.

6. 시뮬레이션에서 만나는 자리

  • 구름 미세물리. 수치예보·기후 모형의 미세물리 체계는 빗방울·얼음 입자 크기 분포를 N(D)=N0Dμe−ΛDN(D) = N_0 D^\mu e^{-\Lambda D} 꼴로 둔다. 울브리치(1983)가 정리한 이 「감마 크기 분포」 는 μ=0\mu = 0 이면 고전적인 마셜-파머 지수 분포다. 이중 모멘트 체계는 수농도와 질량 혼합비 두 모멘트를 예측하고 μ\mu 는 고정하거나 진단한다. 모멘트가 전부 감마 함수 비로 닫힌꼴이라 계산이 싸다.
  • 신뢰성·수명. 충격이 포아송으로 쌓여 kk 번째에 고장 나는 부품의 수명은 얼랑이다. 실무에서는 와이블 분포와 경쟁하는데, 고장률이 시간에 따라 극한값으로 수렴(감마)하는지 거듭제곱으로 계속 변하는지(와이블)로 갈린다.
  • 베이지안 계층 모형. 포아송 비율에 Gamma(α,β)\mathrm{Gamma}(\alpha, \beta) 사전을 두면 관측 x1,…,xnx_1, \dots, x_n 후 사후가 Gamma(α+∑xi, β+n)\mathrm{Gamma}(\alpha + \sum x_i,\ \beta + n) (비율 모수)으로 닫힌다(켤레사전분포). 정규 모형의 정밀도 1/σ21/\sigma^2 도 같다. 깁스 샘플링의 조건부 갱신이 감마 난수 한 번으로 끝나는 이유다3.

7. 관련 문서

8. Footnotes

  1. 척도·비율을 헷갈려서 평균이 kθk\theta 가 아니라 k/θk/\theta 로 나온 시뮬레이션이 몇 달 돌았다는 이야기는 연구실마다 하나씩 있다. 단위 검사 한 줄이면 막을 수 있었다. ↩

  2. 세계기상기구가 가뭄 감시 표준 지표로 권하는 SPI 의 정체가 「감마 분포 맞추고 정규 분위수로 바꾸기」 라는 걸 알면 기후 뉴스가 조금 다르게 들린다. ↩

  3. 켤레 관계 덕에 사후분포를 손으로 쓸 수 있던 시절의 유산. 요즘은 해밀토니안 몬테카를로가 다 해 주지만, 해밀토니안 몬테카를로도 결국 감마 사전을 많이 쓴다. ↩

검증 자료

이 문서의 주요 출처

  1. NIST Digital Library of Mathematical Functions, Chapter 8 Incomplete Gamma and Related Functions
  2. T. P. Minka (2002), Estimating a Gamma distribution, Technical report, Microsoft Research
  3. G. Marsaglia & W. W. Tsang (2000), A simple method for generating gamma variables, ACM Trans. Math. Softw. 26(3), 363-372
  4. C. W. Ulbrich (1983), Natural variations in the analytical form of the raindrop size distribution, J. Climate Appl. Meteor. 22, 1764-1775
  5. E. B. Wilson & M. M. Hilferty (1931), The distribution of chi-square, PNAS 17(12), 684-688
이 문서가 문제를 푸는 데 도움이 됐나요? 한 번의 클릭이 다음 검수 순서를 정합니다.

의견을 반영할게요. 감사합니다.

다음으로 읽기 몬테카를로 방법 약 5분 더 탐색 →