ベータ分布
📂確率分布論ベータ分布
定義

α,β>0について、次のような確率密度関数をもつ連続確率分布Beta(α,β)をベータ分布beta distributionと言う。
f(x)=B(α,β)1xα−1(1−x)β−1,x∈[0,1]
基本性質
モーメント生成関数
- [1]: m(t)=1+k=1∑∞(r=0∏k−1α+β+rα+rk!tk),t∈R
- [2]: X∼Beta(α,β)ならば
E(X)=Var(X)=α+βα(α+β+1)(α+β)2αβ
- [3]: ベータ分布に従うランダムサンプルX:=(X1,⋯,Xn)∼Beta(α,β)が与えられているとする。
(α,β)に対する十分統計量Tは以下のようである。
T=(i∏Xi,i∏(1−Xi))
定理
- [a]: 二つの確率変数X1,X2が独立であり、X1∼Γ(α1,1)、X2∼Γ(α2,1)であるとすると
X1+X2X1∼beta(α1,α2)
- [b]: 自由度r1,r2のF分布に従う確率変数X∼F(r1,r2)について、定義されたYはベータ分布に従う。
Y:=1+(r1/r2)X(r1/r2)X∼Beta(2r1,2r2)
説明
ガンマ分布がガンマ関数から来たように、ベータ分布もベータ関数から名前がついた分布だ。ベータ関数は次のようにガンマ関数との関係を持っており、ガンマ関数で表すことができる。
B(p,q)=Γ(p+q)Γ(p)Γ(q)
実際に、ガンマ分布はベータ分布を導出することができる。
ベータ関数が二項係数の一般化と考えられるように、ベータ分布の確率密度関数をよく観察すると、その形状が二項分布の確率質量関数P(k)=nCkpk(1−p)n−kに似ていることがわかる。正確にベータ分布の定義に一致するわけではないが、αを成功回数、βを失敗回数と考えると、
n=α+βp=α+βαq=α+ββ
似た感じがする。実際に、ベイズでは二項分布の共役事前分布としても使われる。
証明
[1]
式が複雑だが、論理的に難しい部分はない。
指数関数の級数展開:
ex=n=0∑∞n!xn
オイラー積分:
B(p,q)=∫01tp−1(1−t)q−1dt
m(t)======∫01etxB(α,β)1xα−1(1−x)β−1dxB(α,β)1∫01(k=0∑∞k!(tx)k)xα−1(1−x)β−1dxB(α,β)1k=0∑∞k!tk∫01xα+k−1(1−x)β−1dxB(α,β)1k=0∑∞k!tkB(α+k,β)k=0∑∞k!tkB(α,β)B(α+k,β)0!t0B(α,β)B(α+0,β)+k=1∑∞k!tkB(α,β)B(α+k,β)
ベータ関数とガンマ関数の関係: B(p,q)=Γ(p+q)Γ(p)Γ(q)
ベータ関数をガンマ関数で展開すると
m(t)======1+k=1∑∞k!tkB(α,β)B(α+k,β)1+k=1∑∞k!tkΓ(α+β+k)Γ(α+k)Γ(β)Γ(α)Γ(β)Γ(α+β)1+k=1∑∞k!tkΓ(α+β+k)Γ(α+k)Γ(α)Γ(α+β)1+k=1∑∞k!tkΓ(α)Γ(α+k)Γ(α+β+k)Γ(α+β)1+k=1∑∞k!tkΓ(α)Γ(α)∏r=0k−1(α+r)Γ(α+β)∏r=0k−1(α+β+r)Γ(α+β)1+k=1∑∞k!tkr=0∏k−1α+β+rα+r
■
[2]
直接導く。
■
[3]
(1−x)で何か気持ち悪さがあるかもしれないが、ただ直接導く。
[a]
確率密度関数を使って直接導く。
■
[b]
確率密度関数を使って直接導く。
■
コード
以下は、ベータ分布の確率密度関数をGIFで示すJuliaコードである。
@time using LaTeXStrings
@time using Distributions
@time using Plots
cd(@__DIR__)
x = 0:0.01:1
B = collect(0.1:0.1:10.0); append!(B, reverse(B))
animation = @animate for β ∈ B
plot(x, pdf.(Beta(0.5, β), x),
color = :black,
label = "α = 0.5, β = $(rpad(β, 3, '0'))", size = (400,300))
xlims!(0,1); ylims!(0,5); title!(L"\mathrm{pmf\,of\,Beta} (0.5, \beta)")
end
gif(animation, "pdf0.gif")
animation = @animate for β ∈ B
plot(x, pdf.(Beta(1, β), x),
color = :black,
label = "α = 1, β = $(rpad(β, 3, '0'))", size = (400,300))
xlims!(0,1); ylims!(0,5); title!(L"\mathrm{pmf\,of\,Beta} (1, \beta)")
end
gif(animation, "pdf1.gif")
animation = @animate for β ∈ B
plot(x, pdf.(Beta(2, β), x),
color = :black,
label = "α = 2, β = $(rpad(β, 3, '0'))", size = (400,300))
xlims!(0,1); ylims!(0,5); title!(L"\mathrm{pmf\,of\,Beta} (2, \beta)")
end
gif(animation, "pdf2.gif")