確率分布とは?離散確率分布と連続確率分布の違いに関して徹底解説

推定統計

こんにちわ!Yamuです!
前回までの記事確率
ついて例題を用いて説明、
勉強してきました。
今回からいよいよ
数学的確率モデル、
確率密度関数を作っていきます!
今回は基礎的確率分布
離散確率分布
連続確率分布
について説明していきます。

この記事はこんな人におススメ
  • 確率分布について知りたい
  • 離散分布と連続分布の違いを知りたい
  • seabornを使ってhistgramや連続分布を作りたい

確率とは?

確率とはある事柄(事象)Aが起こる
確からしさを数値で表したものである
記号で表すと\(P(A)\)でこの値は

\(0≦P(A)≦1\)

確率分布とは?

確率分布(Probability Distribution)は、
統計学や確率論において、
ある事象が発生する確率を示す
数学的なモデル関数のことを指します。
データは計量値計数値に分類できる。
それに対応して確率分布は、
連続モデル(連続確率分布)
離散モデル(離散確率分布)があります。
データ分類の記事下記を参照してください

確率変数とは?

確率変数(Probability Variable)
確率論や統計学において用いられる概念の一つ
事象は言葉より数値の方が扱いやすい
実験観測,試行によって異なる値をとり得る
変数を指します。
確率変数はランダムな実験
現象をモデル化するのに利用される値です
これはサイコロを振る実験観測を行った時
サイコロの出る目{1,2,3,4,5,6
1~6まで取りえる値の確率が与えられるので
確率変数になる確率変数で表わされる

\(X=(x_1,x_2,x_3…x_n)\)

次に離散確率分布連続確率分布について細かく解説していきます!

離散確率分布

サイコロを1回投げる時に出る目をxとすれば
その実現値の1~6は飛び値なので
計数値です。x離散確率変数である。

離散確率型変数Xの値が
\(X=(x_1,x_2,x_3…x_n)\)となるとき
離散確率分布を表す関数

\(f_i=P_r(x=x_i)\)

\(f_i\)は次の性質を持つ

\(f_i≧0\)
\(\sum_{K=1}^{∞}f_i=1\)

サイコロの例を使って
離散確率分布説明してきます!

サイコロの出る目は1から6である。
以下の表に出る目の確率を表記する

確率変数確率関数確率の記号一様分布
1\(f_1\)\(P_r(x_1)\)\(\displaystyle \frac{1}{6}\)
2\(f_2\)\(P_r(x_2)\)\(\displaystyle \frac{1}{6}\)
3\(f_3\)\(P_r(x_3)\)\(\displaystyle \frac{1}{6}\)
4\(f_4\)\(P_r(x_4)\)\(\displaystyle \frac{1}{6}\)
5\(f_5\)\(P_r(x_5)\)\(\displaystyle \frac{1}{6}\)
6\(f_6\)\(P_r(x_6)\)\(\displaystyle \frac{1}{6}\)

出目の確率はどれも一緒なので
今回は一様分布の確率モデル
なってますね!離散分布

一様分布を図にして
確率関数の形を
観察してみましょう!

縦軸に確率関数の値横軸に確率変数を取ると

累積分布を確認すると\(\displaystyle \sum_{1}^{6}f_i=1\)が確認できる

連続確率分布

連続確率変数xから作られる確率分布が
連続確率分布である
連続確率変数は身長,体重など
計量値からなるものである。
連続確率分布の代表的なモデル正規分布である。

\(\displaystyle \int_{-∞}^∞f(x)dx=1\)
\(\displaystyle P_r(a≦x≦b)=\int_a^bf(x)dx=1\)


正規分布はヒストグラムから拡張できる
ヒストグラムの説明とpythonで作り方詳細は以下記事に記載しています

次に実際にヒストグラムを作って
連続確率分布の確率密度関数に拡張していきます

1.平均5標準偏差1の正規分布に従うデータを1000個をヒストグラムにする

2.データ数(1000)×区間数(10)で各区間の度数を割る
ことで度数ヒストグラムから確率関数に拡張できる
\(\displaystyle f_n=\frac{各区間の度数}{データ数×区間数}\)
この時の確率関数

3.n→∞,区間数→0に近づけることは
データは無限個になり区間幅がどんどん縮まり
青い幅が細くなっていく
すると滑らかな曲線に近づいていく
この関数を確率密度関数\(f(x)\)という
上記の確率関数をn→∞,区間数→0
確率密度関数に拡張すると

赤い線が確率密度関数です!
最後にpythonを使った
グラフのレシピを載せておきます。

コードに黄色い下線を
引いたところが書き換えた所です!

おまけ(確率密度関数のコード)

1.seabornを使ったヒストグラムのレシピ

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from scipy.stats import norm
sns.set()

data = norm.rvs(loc=5, scale=1, size=1000)
fig, ax = plt.subplots()
ax.hist(data,  label='data')
ax.legend()
ax.set_xlim(0, 10)
ax.set_ylim(0, 400)
ax.set_xlabel('x')
ax.set_ylabel('Frequency')
plt.show()

2.seabornを使った確率関数のレシピ

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from scipy.stats import norm
sns.set()


data = norm.rvs(loc=5, scale=1, size=1000)
fig, ax = plt.subplots()
ax.hist(data, density=True, label='data')

ax.legend()
ax.set_xlim(0, 10)
ax.set_ylim(0, 1)
ax.set_xlabel('x')
ax.set_ylabel('density')
plt.show()

2.確率関数と確率密度関数のレシピ

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from scipy.stats import norm
sns.set()


data = norm.rvs(loc=5, scale=1, size=1000)
fig, ax = plt.subplots()
ax.hist(data, density=True, label='data')
#カーネル密度推定をplot
sns.kdeplot(data, color='red', ax=ax)
ax.legend()
ax.set_xlim(0, 10)
ax.set_ylim(0, 1)
ax.set_xlabel('x')
ax.set_ylabel('density')
plt.show()

参考文献

まとめ

いかがだったでしょうか?
今回は基礎的確率分布確率関数
離散確率分布(Discrete Probability Distribution)
連続確率分布(Continuous Probability Distribution)
について説明していきました。
おまけで確率密度関数のコードも書いているのでぜひ
作ってみてくださいね
!

タイトルとURLをコピーしました