二項分布を例を交えてわかりやすく解説

Posted: , Category: 数学 , 確率 , 統計学

機械学習を勉強する上で、二項分布を学ぶことは非常に重要です。

二項分布はよくコイン投げを複数回行った時に、表が何回出る確率を表現するような確率分布です。

ベイズ推定などを勉強している人は、二項分布とその共役事前分布であるベータ分布を用いて、コイン投げの試行回数の推定をベイズの枠組みで推定する、といった練習問題に遭遇した人も多いのではないでしょうか。

二項分布はコイン投げだけではなく、コイン投げのように試行が0,1 の2種類で表すことができるような現象を表現するのによく利用されます。今回はこの二項分布について、数式やグラフを交えてできるだけ分かりやすく解説していきます。また、期待値や分散などの基本的な統計量について、扱っていきます。

本記事の内容
  • 二項分布について解説
  • 二項分布のグラフを可視化
  • 二項分布の期待値と分散

二項分布(binomial distribution)とは

二項分布(Binomial distribution)はベルヌーイ分布と同様に、よくコイン投げの試行に例えられることがあります。ベルヌーイ分布では、コイン投げを行い、表(1)か裏(0)かを表現する、2つの値をとる離散的確率分布でした。

今回の二項分布は、ベルヌーイ分布で表現されるようなコイン投げの試行を何回か行い、その結果表が出た回数を表現する確率分布です。

二項分布の定義

ではまず二項分布の確率分布を見ていきましょう。

二項分布は、ベルヌーイ分布と同じように離散確率変数で、パラメータは$N$と$μ$の2つを取る確率分布です。ここで、$N$はコイン投げのような試行を行った回数で、$μ$はコイン投げで言うところの表がでる確率です。

ここで、今回確率値を出したい、$N$回の試行で表がでた回数を$m$とすると、二項分布では下記のように定式化することができます。

二項分布の定義
\begin{equation}
Bin(m | N, μ ) = {}_N C_m μ^m(1-μ)^{N-m}
\end{equation}

ここで、${}_N C_m$とありますが、これが下記のように表される組み合わせの数となっています。

\begin{equation}
 {}_N C_m = \frac{N!}{m!(N-m)!}
\end{equation}

表にすると、二項分布の取りうる値はこのようになっています。

m12nN
Bin(m)$N μ (1-μ)^{N-1}$$\frac{N(N-1)}{2・1} μ^2 (1-μ)^{N-2}$$ \frac{N! (N-n)!}{n!} μ^n(1-μ)^{N-n}$$μ^N$

二項分布のグラフを可視化

定義をおさえても、なかなか理解できるものではないと思うので、可視化して確認してみましょう。

今回はPythonとそのライブラリであるscikit-learnとmatplotlibを用いて可視化します。Jupyternotebookの環境がある人は、次のようなコードを入力することで、二項分布のグラフを可視化することができます。

表が出る確率が、0.2, 0.5, 0.7 になっている歪なコインを100回投げた時の、二項分布のグラフを描写してみます。

from scipy.stats import binom
import matplotlib.pylab as plt
import numpy as np

fig, ax = plt.subplots(figsize=(10, 2), dpi=120)

N = 100
k = np.arange(100)
p = [0.2, 0.5, 0.7]

for idx, p in enumerate(p):
    pmf = binom.pmf(k, N, p)

    ax.bar(k, pmf, label="p = {}".format(p))

ax.set_xlabel("Numer")
ax.set_ylabel("Probability")
ax.legend()

このようになりました。

青色、オレンジ、緑の準備に、0.2、0.5、0.7のサイコロを使っています。それぞれのグラフは山のような形状をしています。表が出る確率が0.5である通常のコインであれば、100回投げれば、50回は出るだろうということがわかります。

二項分布の期待値・分散・エントロピー・KL情報量などの統計量

新しい確率分布を学ぶときは、その確率分布の基本的な統計量である期待値や分散、エントロピーやKL情報量などの統計量を確認するようにしましょう。

これらは、機械学習や統計で実際に問題を解いていくうちに勝手に覚えていくので、無理に覚える必要性はありません。

ただ、いつでも導入できるように、確率変数の期待値の定義分散の定義などは覚えていくようにしましょう。

エントロピーとKL情報量に関しては以下のページでわかりやすく説明しています。

確率変数のエントロピーとは?確率分布における情報量まとめ
確率変数$X$における確率分布を$p(x)$とした時、その確率変数のエントロピーという統計量 $H[X]$を定義します。 連続確率変数のエントロピーの定義 離散確率変数のエントロピーの定義 このエントロピーは、1つの確率 […]

二項分布の期待値と分散

二項分布の期待値と分散はこのようになっています。

二項分布の期待値と分散

期待値

\begin{equation}
E[Bin(m|N, μ)] = Nμ 
\end{equation}

分散

\begin{equation}
Var[Bin(m|N, μ)] =  Nμ(1 - \mu) 
\end{equation}

二項分布の期待値の証明

下記の証明には、確率変数における、和の期待値は期待値の和である性質を利用します。

ここで、n回目のコイン投げにおける確率変数を考えます。

ベルヌーイ分布を用い、n回目において表が出ると1、裏が出ると0になる確率変数$X_n$を考えると、下記によって導かれます。

\begin{split}
E[Bin(m|N, μ)]  &= E[X_1 + X_2 + \dots + X_M] \\
&= E[X_1] + E[X_2] + \dots  + E[X_N] = Nμ 
\end{split}

この公式については、こちらをご参考ください。

確率変数の期待値について徹底解説
確率変数の期待値は、機械学習の学習をする中で、非常によく登場する概念です。確率変数のモーメントとも繋がりがあり、統計学や機械学習の基本書を読んでも、最新の論文を読んでも登場するので、期待値の概念について正しく理解すること […]

また、二項分布の期待値は$Nμ$ですが、これは試行回数×表が出る確率 になっており、直感的にもこのようになることはイメージできるかと思います。

【広告】
統計学的にあなたの悩みを解決します。
仕事やプライベートでお悩みの方は、ベテラン占い師 蓮若菜にご相談ください。

機械学習と情報技術