こんにちは!
デジタルマーケター兼データサイエンティストのウマたん(@statistics1012)です!
離散的な分布は数多くありますが、その中でも二項分布は非常に重要で基礎的な分布です!
二項分布は「n回のベルヌーイ試行の中で、k回成功する確率を表した分布」を表しています。具体例を出すと、n回コインを投げてk回表が出る確率を表しているとも言えるでしょう!
この記事では、そんな二項分布の定義を解説をしながらもその性質について解説していきます。またPythonで二項分布を確認してみましょう!
・二項分布の定義について解説!
・二項分布の性質について解説!
・Pythonで二項分布を見てみよう!
動画で学びたい方は以下のYoutube動画でも解説しているのでこちらも参考にしてみてください!
目次
ベルヌーイ試行と二項分布について解説!
ベルヌーイ試行は「コインを投げたときに表か裏しか出ないような、イベントが発生した結果が2通りしかない試行」のことを指します!
\(P(X=1)\) = \(p\)
\(P(X=0)\) = \(1-p\)
そして二項分布は「ベルヌーイ試行をn回繰り返して、成功する回数Xが従う確率分布」を表しています!
\(P(X=k)\) = \({}_n\mathrm{C}_k p^{k} (1-p)^{n-k}\)
二項分布の平均・分散について解説!
分布の期待値と分散について理解することで、データへの理解が深まります!
\(E(X)\) = \(\sum_{k=1}^{\infty}k{}_n\mathrm{C}_k p^{k} (1-p)^{n-k}\) = \(\sum_{k=1}^{\infty}k\frac{n!}{k!(n-k!)} p^{k} (1-p)^{n-k}\)
= \(\sum_{k=1}^{\infty}np\frac{(n-1)!}{(k-1)!(n-k!)} p^{k-1} (1-p)^{n-k}\)
= \(np\)
\(V(X)\) = \(E(X^{2})\) – \(E(X)^{2}\)
= \(\sum_{k=1}^{\infty}k^{2}\frac{n!}{k!(n-k!)} p^{k} (1-p)^{n-k}\) – \((np)^{2}\)
= \(\sum_{k=1}^{\infty}(k(k-1)+k)\frac{n!}{(k!(n-k!)} p^{k} (1-p)^{n-k}\) – \((np)^{2}\)
=\(\sum_{k=1}^{\infty}n(n-1)p^{2}\frac{((n-2)!}{(k-2)!(n-k!)} p^{k-2} (1-p)^{n-k}\) + \(np\) – \((np)^{2}\)
=\((np)^{2}\)-\(np^{2}\)+\(np\)-\((np)^{2}\) =\(np(1-p)\)
中心極限定理(正規分布への近似)について解説!
この珍しい性質は、中心極限定理に基づいています!
前提として\(X_{1}\)…\(X_{n}\)はそれぞれ独立かつ同一な分布に従っていると仮定します。そしてその分布の平均は\(μ\)、分散は\(\sigma^{2}\)とします。
また\(X\)=\(X_{1}\)+\(X_{2}\)+…+\(X_{n}\)
中心極限定理とは「ある分布のサンプルサイズ\(n\)が大きい時、その分布の平均・分散に従った正規分布に近似できる」性質を言います!あるいは「サンプルサイズ\(n\)が大きい時、標本平均\(\bar{X}\)と真の平均\(μ\)の差は正規分布\(N(0,\frac{\sigma^{2}}{n})\)に近似できる」定理です!
つまりサンプルサイズが大きい時、二項分布は平均\(np\)、分散\(np(1-p)\)の正規分布に従うということになります!
また\(X_{1}\)…\(X_{n}\)がベルヌーイ試行の場合、\(\frac{X}{n} – p\)は正規分布\(N(0,p(1-p)\)に従うことが分かりますので、\(X – np\)は正規分布\(N(0,np(1-p))\)に従うことと同義ですね!
実際に二項分布をPythonで実装!
実際に二項分布をPythonで実装してみましょう!
今回はScipy.statsのbinom関数を使って、成功する確率pを0.2に固定し、サンプルサイズ10とサンプルサイズ100の二項分布を実装し、比較してみました!
from scipy.stats import binom
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#図の設定
fig,ax = plt.subplots(1,2,figsize=(10,5))
#n=10,p=0.2の二項分布
X_1 = np.arange(0,10)
f = binom(10,0.2)
y = f.pmf(X_1)
ax[0].bar(X_1, y)
#n=100,p=0.2の二項分布
X_2 = np.arange(0,100)
f = binom(100,0.2)
y = f.pmf(X_2)
ax[1].bar(X_2, y)
plt.show()
二項分布 まとめ
本記事では二項分布についてまとめました!
二項分布について理解できた方は、二項分布と関係があるポアソン分布を勉強すると良いでしょう!
確率分布は様々なものがあり、データや目的によって適切に使うことで初めて効果が表れる非常に優れたツールであると考えられます!確率分布だけでなく、統計学の知識やデータサイエンスの知識を得ることで、今までにない知見を身に付けることができます!
そうしたデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。
そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組みあわせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解などもあわせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
データサイエンスに関する記事はこちら!
データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!