Matlab多項分布とその共役事前分布について、可視化をしながら整理してみたいと思います。どちらかというと、可視化をしてパラメーターで分布の形がどう変わるのかを見ることがメインです。多項分布とは二項分布の一般化と考えればよいです。「コインを投げた時の表裏の分布」が二項分布なら、多項分布は「さいころを投げて出る目の分布」になりますね。回行ったとき「どの事象が何回起こったか」を表す分布です。とき二項分布になりますその他、平均(期待値)は分散はとなります。LDA)でおなじみですね。ディリクレ分布は多項分布の共役事前分布として知られており、一言でいうと「さいころの目の出やすさ」の分布です。多項分布は「出る目の分布」でディリクレ分布が「目の出やすさの分布」ということで、ベイズ統計では多項分布の事前分布としてディリクレ分布がよく使われます。使われる理由のもう一つとして多項分布とディリクレ分布の積はディリクレ分布の形だということもあります。事後確率分布が事前確率分布と同じ関数形になるということです。*1(ちなみに二項分布の場合はベータ分布が同じ関係になります。ディリクレ分布はベータ分布の一般化といえます。ある確率」の分布ということになります。多項分布とは変数にしているものが異なるので注意しましょう。平均(期待値)は分散はです。このあたりの細かい導出等は省略します。*2可視化してみる4変量以上だと目に見える形にできないので3変量で可視化をしてみます。MatlabとPythonを使いますが環境は以下の通りです。3.5.1多項分布http://jp.mathworks.com/help/stats/mnpdf.htmlを参考にして*3Matlabで3Dの可視化をします。ときは以下のようになりました。Matplotlibを参考にして*4Pythonのmatplotlibで同じものを上から見た2Dに落とし込みます。基本的なMatlabコードとPythonコードは以下のとおりです。plt.axis('off')パラメーターの値を変えていきます。1]))のところを変えて入力することで画像を出力します。MatlabとPythonで色が微妙に違うのはご容赦ください。本当はパラメーターを変えた時のアニメーションとかやりたかったんですが、僕の知識ではできなかったので、どなたかわかる方がいたらご享受願います。*1:数式的証明は今回は省きます。*2:興味ある方は数学書をどうぞ*3:ここはコードをそのままなぞっています。*4:上記記事はPython2系で書かれてますが、3系に移植する際、reduce関数は当ブログ4行目のようにしてやる必要があります。データ解析周りを中心に、プログラミング全般で学んだことを記していく個人的な備忘録。合同企画回)」に参加しました。reserved.はてなブログをはじめよう!songcunyouzaiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。