6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Juliaで学ぶ確率変数(11) - まとめ

Last updated at Posted at 2018-11-19

Juliaで学ぶ確率変数(1) - 確率変数の定義 - Qiita
Juliaで学ぶ確率変数(2) - 2項分布(離散型) - Qiita
Juliaで学ぶ確率変数(3) - 幾何分布(離散型) - Qiita
Juliaで学ぶ確率変数(4) - ポアソン分布(離散型) - Oiita
Juliaで学ぶ確率変数(5) - 正規分布(連続型) - Qiita
Juliaで学ぶ確率変数(6) - 一様分布(連続型) - Qiita
Juliaで学ぶ確率変数(7) - 指数分布(連続型) - Qiita
Juliaで学ぶ確率変数(8) - ガンマ分布(連続型) - Qiita
Juliaで学ぶ確率変数(9) - ベータ分布(連続型) - Qiita
Juliaで学ぶ確率変数(10) - コーシー分布(連続型) - Qiita
Juliaで学ぶ確率変数(11) - まとめ - Qiita

 本記事は、これまで書いた分布の記事をまとめたものです。各分布を簡単に比較できるように表にしてみました。また分布関連でよく使われるJulia言語のパッケージや関数、使い方についても簡単にまとめてあります。

Juliaの離散型確率変数のライブラリのドキュメントです。 ==>Distributions/Univariate/DiscreteDistributions
Juliaの連続型確率変数のライブラリのドキュメントです。 ==>Distributions/Univariate/ContinuousDistributions

#1.確率分布のまとめ

##1-1.確率分布の意味

分布名 種類 記号 意味
2項 離散 B(n;p) 成功確率pのベルヌーイ試行(2値の試行)をn回行った時の、
成功する回数Xが従う確率分布
幾何 離散 Ge(p) 成功確率がである独立なベルヌーイ試行を繰り返す時、
初めて成功するまでの試行回数Xが従う確率分布
ポアソン 離散 Po(λ) nが十分大きく確率pが非常に小さい場合、「np=一定。
λ=npとして、2項分布をポアソン分布で近似する。
正規 連続 N(μ,σ) 滑らかな左右対称の山の形の確率分布
平均値μが山頂で、標準偏差σが大きいほど急なカーブ。
実験の測定の誤差,テストの点数などは正規分布に従う。
定数μ=np、σ^2=np(1-p)として2項分布B(n;p)を近似する。
一様 連続 U(a,b) ランダムな事象を表現する確率分布
指数 連続 Ex(λ) 期間1/λあたりに1回起きると期待される事象が
1回起きるまでの時間の分布
ガンマ 連続 G(α,ν) 期間1/αあたりに1回起こると期待されるランダムな事象が
ν回起こるまでの時間の分布
ベータ 連続 Be(α,β)
コーシー 連続 C(μ,β)

##1-2.確率密度関数、平均、分散

\begin{array}{|c|c|c|c|c|c|}
\hline
分布名 & 記号 & 確率密度関数 & 平均 E[X] & 分散 V[X]\\
\hline
2項 & B(n;p) & f(k) = \begin{pmatrix} n \\k \end{pmatrix} p^k (1-p)^{n-k} & np & np(1-p)\\
\hline
幾何 & Ge(p)  & f(k)=p(1-p)^k & \frac{1-p}{p} & \frac{1-p}{p^2}\\
\hline
ポアソン & Po(\lambda)  & f(k)=e^{-\lambda}\frac{\lambda ^k}{k!} & \lambda & \lambda\\
\hline
正規 & N(\mu,\sigma) & f(x) = \frac{1}{\sqrt {2\pi \sigma^2}} \exp\Biggl(-\frac{(x-\mu)^2}{2\sigma^2}\Biggr) & \mu & \sigma\\
\hline
一様 & U(a,b) & f(x) =
\left\{
\begin{array}{ll}
\frac{1}{b-a} & (a \leqq x \leqq b) \\
0 & (x<a\;or\;b<x)
\end{array}
\right.
 & \frac{a+b}{2} & \frac{(b-a)^2}{12}\\
\hline
指数 & Ex(λ) & f(x) =
\left\{
\begin{array}{ll}
\lambda e^{-\lambda x} & (x \geqq 0) \\
0 & (x<0)
\end{array}
\right.& \frac {1} {\lambda} & \frac {1} {\lambda^2}\\
\hline
ガンマ & G(\alpha,\nu) & f(x) =
\left\{
\begin{array}{ll}
\frac{1}{\Gamma (\nu)} \alpha^\nu x^{\nu-1} e^{-\alpha x} & (x \geqq 0) \\
0 & (x<0)
\end{array}
\right. & \frac{\nu}{\alpha} & \frac{\nu}{\alpha^2}\\
\hline
ベータ & Be(\alpha,\beta) & f(x) =
\left\{
\begin{array}{ll}
\frac{1}{B(\alpha,\beta)} x^{\alpha-1} (1-x)^{\beta-1} & (0\leqq x \leqq 1) \\
0 & (otherwise)
\end{array}
\right. & \frac {\alpha}{\alpha + \beta} & \frac {\alpha \beta}{(\alpha+\beta+1)(\alpha+\beta)^2}\\
\hline
コーシー & C(\mu,\beta) & f(x) = \frac{1}{\pi} \frac{\alpha}{(x-\mu)^2+\alpha^2} &  & \\
\hline

\end{array}\\

\\

##1-3.分布のグラフ

各分布のグラフの形です。それぞれのグラフが持つ意味は、それぞれの分布の解説記事をご参照ください。

2項分布 Binomial(10000, 0.001) 2項分布 幾何分布 Geometric(1/10) 幾何分布
ポアソン分布 Poisson(8) ポアソン分布 正規分布 Normal(171,6) 正規分布
一様分布 Uniform(0,5) 一様分布 指数分布 Exponential(100) 指数分布
ガンマ分布 Gamma(100, 0.2) 指数分布

#2.Juliaで確率分布を扱う

復習ですが、分布F(x)は確率密度関数f(x)を使って以下のように定義されます。

\begin{align}
&離散型確率変数 \qquad F(x) = p(\{X \leqq x\}) = \sum_{k \leqq x} f(k)\\
&連続型確率変数 \qquad F(x) = p(\{X \leqq x\}) = \int_{-\infty}^{x} f(v) dv\\
&\qquad \qquad  \qquad \qquad  \qquad \qquad  \qquad \qquad \qquad  \qquad \qquad \qquad \qquad  \qquad\\
\end{align}

Juliaで分布を扱うためには、Distributionsパッケージを扱います。
Distributionsパッケージには代表的な確率分布を定義する関数が提供されています。例えば正規分布N(μ,σ)に対してNormal(μ,σ)という関数が提供されていますので、これで分布を定義し、それにpdf関数を適用すると確率密度関数を計算します。cdf関数を適用すると分布を計算します。

つまり確率密度関数(Probability Density Function = PDF)の評価はpdf関数を使い、分布(累積分布関数) (Cumulative Distribution Function = CDF)の評価はcdf関数を使います。

Distributions.pdf
Distributions.pdf  # 確率密度関数
pdf(d::UnivariateDistribution, x::Real)
Evaluate the probability density (mass) at x.
Distributions.cdf
Distributions.cdf  # 確率分布
cdf(d::UnivariateDistribution, x::Real)
Evaluate the cumulative probability at x.

分布のPlotには、標準のPlotsに加えて、StatPlotsというパッケージを使っています。これはPlots.jlを拡張する機能であるrecipesを使って、統計に関する拡張を行ってます。Juliaでデータ分析を行うときは、よく使われているパッケージです。

例として平均身長171、偏差6の正規分布を考えます。

using Plots
using Distributions
using StatPlots   # これがないとエラーになります。

d=Normal(171, 6)                      # 平均171cm、標準偏差6の正規分布
println( cdf(d,175) - cdf(d,165) )    # F(175)-F(165)  = 身長165cm-175cmの確率
plot(d, fill=(0, .5,:orange))

image.png

(補足)Juliaでは破壊的な関数の名前に ! をつけるのが慣習です。

scatter(d, leg=false)         # 確率密度を散布図にする
bar!(d, func=cdf, alpha=0.3)  # 分布を棒グラフにする

image.png

分布の期待値(平均値)、分散、標準偏差などはStatisticsパッケージを用います。
https://juliastats.github.io/Distributions.jl/latest/univariate.html#Common-Interface-1

Statistics.mean   期待値
Statistics.var    分散
Statistics.std    標準偏差  i.e. = sqrt(var(d))
Statistics.median 中央値

例えば2項分布 B(10000, 0.001) に適用した例です。

using Statistics, Distributions

n=10000
p=0.001
d= Binomial(n, p)

println("平均=", n*p)                 # 自力で計算
println("平均=", Statistics.mean(d))  # 平均関数で計算
println("分散=", n*p*(1-p))           # 自力で計算
println("分散=", Statistics.var(d))   # 分散関数で計算

当然ですが、平均値と分散は、自力の計算とStatisticsの関数で計算した値は等しいです。

出力結果
平均=10.0
平均=10.0
分散=9.99
分散=9.99

#3.補足

##3-1.ガンマ関数の定義

\begin{align}
\\
&ガンマ関数の定義\\
&x>0の時\\
&\Gamma(x) =\int_{0}^{\infty} t^{x-1}e^{-t} dt\\
\\
\\
&ガンマ関数の性質\\
&[G1] \; \Gamma(1) = 1\\
\\
&[G2] \; \Gamma(x+1) = x\Gamma(x) \qquad 任意の実数x \geqq 1\\ 
&\qquad とくに、\\
&\qquad \Gamma(n+1) = n! \qquad 任意の非負整数n\\
\\
&[G3] \; \Gamma = \sqrt {\pi}\\
\\
\\

\\

&\qquad \qquad  \qquad \qquad  \qquad \qquad  \qquad \qquad \qquad  \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad  \qquad  \\
\end{align}

##3-2.ベータ関数の定義

\begin{align}
\\
&ベータ関数の定義\\
&x>0,\; y>0の時\\
&B(x,y) =\int_{0}^{1} t^{x-1} (1-t)^{y-1} dt\\
\\
\\
&ベータ関数の性質\\
&[B1] \; B(x,y) = B(y,x)  \qquad 任意の実数x>0,\;y>0\\
\\
&[B2] \; B(x,y) = 2 \int_0^{\frac{\pi}{2}} \sin^{2x-1}\theta \;\; \cos^{2y-1}\theta \;\;d\theta  \qquad  任意の実数x>0,\;y>0\\ 
\\
&[B3] \; B(x,y)=\frac {\Gamma(x)\Gamma(y)}{\Gamma(x+y)} \qquad  任意の実数x>0,\;y>0\\
\\
\\

&\qquad \qquad  \qquad \qquad  \qquad \qquad  \qquad \qquad \qquad  \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad  \qquad  \\
\end{align}

今回は以上です。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?