書評.この広告は、90日以上更新していないブログに表示しています。bookの11章の8.1節のディリクレ過程の写経です。models)でWinBUGS用のodcファイルで配布されています。WinBUGSをインストールしていない人のために.RDataにしたものをここに置いておきます。ディリクレ過程については詳しくはここでは述べません。『続・わかりやすいパターン認識』が分かりやすいと思います。Modelling』から来ているようです。ググればpdfがヒットします。bookに載っているものでそのまま動きました。priorを定義している部分になります。今回やっていることは混合正規分布の拡張みたいなものです。その1つ1つの正規分布の分散を自由にしてしまうと収束しません。そこで色々苦労して事前分布を設定しているようですが、僕にはイマイチよく分かりませんでした。BUGSコードの最後の方はディリクレ過程から推定されたクラスター数と混合正規分布による密度を算出しています。thin=10で3chainで5分ぐらいだったような。次にStanでやりました。Stanでやる場合は離散パラメータを消去する必要がありますがそんなに難しくありません。収束がJAGSより若干よくない気がするし、計算が速いわけでもありません。Stanのメーリングリストの2013年12月の議論ですが、Bobさんから以下のような意見があります。けであると言えると思います。Stanコードは以下になりました。priorの部分です。log取った記述の方が安定するかなと思ったのですがあまり変わりませんでした。outしています(この記事参照)。従ってStanではクラスター数に相当するものは推定できません。JAGSでよく分からなかった事前分布のところの代替案です。代わり映えはしませんが...。vector型にすることで少しだけ収束しやすくなりました。混合正規分布による密度を算出しています。キックするRコードは以下になります。スケールを1ぐらいにするために20で割っています。3で1chainあたり数分でした。結果は以下になります。JAGSの推定結果クラスター数Kの中央値は7、95%信用区間は4-10でした。各正規分布の重みpiは以下の図のようになりました。点はMCMCサンプルの中央値で、線は95%信用区間です。混合正規分布による密度densは以下のようになりました。赤線はMCMCサンプルの中央値、薄いオレンジ帯は同じく95%信用区間、濃いオレンジ帯は同じく50%信用区間です。灰色の棒はデータのヒストグラム(binwidth=range/30)です。重みthetaは以下の図のようになりました。点はMCMCサンプルの中央値で、線は95%信用区間です。混合正規分布による密度densは以下のようになりました。赤線はMCMCサンプルの中央値、薄いオレンジ帯は同じく95%信用区間、濃いオレンジ帯は同じく50%信用区間です。灰色の棒はデータのヒストグラム(binwidth=range/30)です。JAGSもStanも似たような結果になりました。現時点はJAGSで実行すれば十分な気がします。00:00ノンパラベイズ(ディリクレ過程)の実装Tweet広告を非表示にする関連記事2019-08-25NIMBLEでノンパラベイズを試したメモNIMBLEというRのライブラリがあります。高速化&フルベイズ前回の記事のスピードアップをします。(2)月別アーカイブはてなブログをはじめよう!StatModelingさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。