PythonとNumpy/Scipyの練習.前回はNumpyを使って混合ガウス分布のEMアルゴリズムを実装で混合ガウス分布について取り扱ったので,今回は混合ガウス分布についての数式をおさらいしつつ,確率密度関数をプロットしようと思う.
混合ガウス分布の概要
混合ガウス分布は,複数のガウス分布の線形結合で表すことができる.
ここで,を混合係数,を混合要素と呼ぶ.混合系数は確率の条件およびを満たす.
また,混合要素を番目の混合要素が選ばれる事前確率とし,をが与えられた時のの条件付き密度とすると,の周辺分布は
で表すことができる.このの選択が,EMを用いたGMMでの隠れ変数に対応している.
一次元の混合ガウス分布
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
今回は正規分布の確率密度関数にmatplotlibのmlab.normpdfを使ったが,scipy.statsのnorm.pdfを使うこともできる.
1 2 3 4 |
|
二次元の混合ガウス分布
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
参考
- matplotlibで等高線やら何やらのプロット - たこ焼き食べた.net
- matplotlib/plot - memoring - Seesaa Wiki(ウィキ)
- レプリカ交換モンテカルロ法(パラレル・テンパリング)による混合ガウス分布に従う乱数の生成 - My Life as a Mock Quant
- Simple statistics with SciPy | Comfort at 1 AU
- pylab_examples example code: contour_demo.py — Matplotlib 1.3.1 documentation
- mlab — Matplotlib 1.3.1 documentation