Juliaで二項分布を扱う。 Binomial(10, 0.6)
は表が出る確率が0.6のコインを10回投げる時の二項分布を生成する。
using Distributions, StatsPlots
plot(Binomial(10, 0.6), xlabel="number of trials", ylabel="probability", label=nothing, xticks=0:1:10)
savefig(joinpath(@OUTPUT, "binomial_10_06.svg"))
グラフは確率質量関数(PMF:Probability Mass Function)を表している。表が0.6の確率で出るコイントスを10回行うと表が6回出る確率が一番大きい。
@show pdf(Binomial(10, 0.6), 5)
@show pdf(Binomial(10, 0.6), 6)
@show pdf(Binomial(10, 0.6), 7)
pdf(Binomial(10, 0.6), 5) = 0.20065812480000034
pdf(Binomial(10, 0.6), 6) = 0.2508226560000002
pdf(Binomial(10, 0.6), 7) = 0.2149908480000006
その確率は約25%になる。pdfはProbability Density Function(確率密度関数)の略。
離散確率変数はPMFで確率変数が特定の値(ここでは6)を取る確率を計算する。 連続確率変数はPDFで確率変数が特定の範囲に入る確率を計算する。 これは連続確率変数では密度として定義しなければ意味をなさないためである。 DistributionsパッケージではPDFもPMFもpdf関数で計算される。
二項分布のPMFを計算する式は以下のようになる。