二項分布

二項分布とは,独立なベルヌーイ試行を n 回行ったときに,成功する回数が x 回である確率分布を表す離散確率分布である.

具体的には,成功確率が p であるベルヌーイ試行を n 回繰り返したとき,成功回数が x 回となる確率は,以下の式で表される.\[P(X=x)=\binom{n}{x}p^{x}(1−p)^{n−x}\]ここで,$\binom{n}{x}$ は二項係数と呼ばれ,以下の式で定義される.\[\binom{n}{x}=\frac{n!}{x!(n-x)!}\]この式は, n 個の中から x 個を選ぶ組み合わせの数を表す.二項分布の期待値 $E(X)$ は,以下の式で表される.\[E(X)=np\]また,分散 $Var(X)$ は以下の式で表される.\[Var(X)=np(1−p)\]二項分布は,成功確率 p が一定である独立な試行を繰り返す現象をモデル化するために広く用いられる.例えば,同じ確率 p で勝敗が決まるゲームの勝利数,製品の欠陥数,質問に対する回答の正解数などが二項分布に従うことがある.

Juliaで二項分布の確率密度関数 binomial_pmf を定義すると以下のようになる.

function binomial_pmf(n::Int, p::Real)
return x -> binomial(n, x) * p^x * (1-p)^(n-x)
end

この関数は,試行回数 n と成功確率 p を引数に取り,成功回数 x に対応する確率密度関数を返す無名関数を返す.具体的には, binomial$($n, x$)$ は二項係数を計算する関数であり, p^x *$(1-p)$^$(n-x)$ は成功回数 x に対応する事象が発生する確率を計算している.

n = 10
p = 0.5
pmf = binomial_pmf(n, p)
x = 5
println("成功回数が $x 回の確率は ", pmf(x))

JuliaのDistributionsパッケージを使用して二項分布を定義し,Plotsパッケージを使用してグラフを描画するには以下のようにする.

import Pkg;
Pkg.add("Distributions")
using Distributions
using Plots

# 二項分布のパラメータを設定
n = 10 # 試行回数
p = 0.5 # 成功確率

# 二項分布を定義
binom_dist = Binomial(n, p)

# サンプルデータを生成
x = 0:n
y = pdf.(binom_dist, x)

# グラフを描画
plot(x, y, marker=:auto, xlabel="Successes", ylabel="Probability Mass", legend=false)



企業史メモ 単語帳




















ヒストグラム - 二項分布 - 分散 - StatsBase - 最頻値