こんにちは!
デジタルマーケター兼データサイエンティストのウマたん(@statistics1012)です!
今回はガンマ分布と指数分布について解説していきます。こちらは正規分布と同様、確率変数が連続型である場合の確率分布です。
特にガンマ分布はある単位時間に1回起こる事象が実際に数回起きるまでの時間を表しています!
例えばエイズの潜伏期間、製品の寿命、行列の待ち時間といった日常的に起こる事象に用いられることが多い分布です。またガンマ分布は指数分布を一般化したものであるため、ガンマ分布を理解すれば指数分布についての理解も深まります!
この記事では、そんなガンマ分布・指数分布の定義とその性質について解説していきながらPythonで実装していきます!
・ガンマ分布・指数分布の定義について解説!
・ガンマ分布・指数分布の性質について解説!
・Pythonでガンマ分布・指数分布を見てみよう!
以下のYoutube動画でも詳しく解説していますのであわせてチェックしてみてください!
目次
ガンマ分布について解説!
\(f(x)\) = \(\frac{1}{β^{α}\Gamma{(α)}}\)\(x^{α-1}e^{-\frac{x}{β}}\) \((x>=0)\)
\(f(x)\) = 0 \((x<0)\)
\(\Gamma{(α)}\) = \(\displaystyle \int_{0}^{\infty} x^{α-1}e^{-x} dx\)
\(\Gamma{(α)}\) = \((α-1)!\)
指数分布について解説!
\(f(x)\) = \(\frac{1}{β}e^{-\frac{x}{β}}\) \((x>=0)\)
\(f(x)\) = 0 \((x<0)\)
\(f(x)\) = \(λe^{-λx}\) \((x>=0)\)
\(f(x)\) = 0 \((x<0)\)
ガンマ分布・指数分布の期待値・分散について解説!
\(E(X)\) = \(\frac{1}{β\Gamma{(α)}}\)\(\displaystyle \int_{0}^{\infty} xx^{α-1}e^{-x} dx\) = \(\frac{β^{α+1}\Gamma{(α+1)}}{β^{α}\Gamma{α}}\)\(\displaystyle \int_{0}^{\infty} \frac{1}{β^{α+1}\Gamma{α+1}}\)\(x^{α}e^{-\frac{x}{β}} dx\) = \(αβ\)
\(V(X)\) = \(E(X^{2})\)-\(E(X)^{2}\) = \(\frac{1}{β\Gamma{(α)}}\)\(\displaystyle \int_{0}^{\infty} x^{2}x^{α-1}e^{-x} dx\) – \((αβ)^{2}\)=
\(\frac{β^{α+2}\Gamma{(α+2)}}{β^{α}\Gamma{(α)}}\)\(\displaystyle \int_{0}^{\infty} \frac{1}{β^{α+2}\Gamma{(α+2)}}\)\(x^{α+1}e^{-\frac{x}{β}} dx\) – \((αβ)^{2}\) = \((α+1)αβ^{2}\) – \((αβ)^{2}\) = \(αβ^{2}\)
\(E(X)\) = \(β\)
\(V(X)\) = \(β^{2}\)
ガンマ分布・指数分布をPythonで実装してみよう!
それでは実際にガンマ分布・指数分布をPythonで実装してみましょう!
今回はscipy.stasのgamma関数を用いてガンマ分布・指数分布の分布を作成します!
import numpy as np
from scipy.stats import gamma
import matplotlib.pyplot as plt
%matplotlib inline
a_1 = 100.0
a_2 = 1.0
b_1 = 0.10
b_2 = 1.0
x = np.linspace(0,50,250)
y_1 = gamma.pdf(x=x, a=a_1, scale = 1.0/b_1)
y_2 = gamma.pdf(x=x, a=a_2, scale = 1.0/b_2)
y_3 = gamma.pdf(x=x, a=a_1, scale = 1.0/b_1)
y_4 = gamma.pdf(x=x, a=a_2, scale = 1.0/b_1)
fig, axes = plt.subplots(2,2,figsize=(12,6))
axes[0][0].plot(x, y_1,label="gamma:alpha 10, beta 10")
axes[0][0].legend()
axes[0][1].plot(x,y_2,label="gamma: alpha 1, beta 10")
axes[0][1].legend()
axes[1][0].plot(x,y_3,label="exponential: alpha 10, beta 1")
axes[1][0].legend()
axes[1][1].plot(x,y_4,label="exponential: alpha 1 beta 1")
axes[1][1].legend()
plt.show()
ガンマ分布・指数分布 まとめ
本記事では正規分布についてまとめました!
ガンマ分布・指数分布について理解できた方は、離散型分布の代表である一様分布、二項分布とポアソン分布,正規分布を勉強すると良いでしょう!
確率分布は様々なものがあり、データや目的によって適切に使うことで初めて効果が表れる非常に優れたツールであると考えられます!確率分布だけでなく、統計学の知識やデータサイエンスの知識を得ることで、今までにない知見を身に付けることができます!
そうしたデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。
そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組みあわせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解などもあわせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
データサイエンスに関する記事はこちら!
データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!