その過程を可視化する際のtipsをまとめてみます。
Rの他に必要なのはこちら。
MacPortでしたら
sudo port install ImageMagick +lcms +jpeg2 sudo port install ffmpeg
でインストール可能です。
動画作成までの道のりは以下のとおりです。
1. Rプログラムの反復演算の都度画像を生成する
2. ImageMagickで連結・mpeg変換を行う
いやぁ、簡単。このままではtipsにならないので、サンプルとその生成方法を記載してみます。
まずRにおいて、以下のような画像生成項目を記載します。
name = paste(t, ".png" , sep="") png(file = paste("img/", name, sep=""), sep="") #プロットしたい図のplot dev.off()
尚、tは反復回数t回目を表します。これによりimgフォルダにt=1から(任意の)収束回数までの連番pngファイルが生成されます。
続いて、imgフォルダ内に以下のようなシェルスクリプトを保存します。
#!/bin/bash num=${1:?"Usage: $./conv.sh npics"} for((i=1;i<$(($1+1));++i)) do name+=$i.png" " done #echo $name `convert -delay 15 -quality 100% -antialias -compress None $name opt.mpg`
名前をconv.shとしましょう。また、t=100で収束したとします。その際、実行権限を与えた後、以下のように実行します。
chmod u+x conv.sh ./conv.sh 100
これにより、opt.mpgができあがります。表示間隔はdelayの引数を変えることで調整できます。
混合ガウス分布の推定を行った結果がこちら。
ImageMagick自体は検索すれば多くのtipsが出てきますが、Rのtipsとして参考にしたのはこちら。
RjpWiki:グラフィックス参考実例集:自作グラフィックス投稿欄:GIFアニメーション
一枚一枚画像を生成するので非常に時間がかかります(MCMCでやることは考えたくないです)が、視覚的に確認できると楽しいですね。是非お試しあれ。
0 件のコメント:
コメントを投稿