ShinyStanというShinyのWebアプリケーション・フレームワークを使ったStanの診断ツールをインストールします。
ShinyStanはRのパッケージとして利用できます。
Stan
Stanは、ハミルトニアンモンテカルロ(以下、HMC)を使ったMCMCです。Rインターフェイスの他、Pythonインターフェイス、コマンドラインインターフェイスからも利用できます。
Stanはモデリング言語で、ベイジアンモデルを記述する確率プログラミング言語と言えます。StanのコアライブラリはC++で記述されており、Stanで記述したモデルもソースを変換し、C++でコンパイルして実行します。MCMCのサンプリングにはHMC、No U-Turn Sampler(NUTS)アルゴリズムを使います。
ShinyStanは、Stanが計算したMCMCの出力を分析する対話的な視覚化ツールです。
ShinyStanのインストール
Rを起動し、パッケージをインストールします。
install.packages('shinystan')
依存関係と必要なパッケージが表示されます。それらのパッケージもCRANからインストールします。
$ r
R version 4.2.3 (2023-03-15) -- "Shortstop Beagle"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: aarch64-apple-darwin20 (64-bit)
R は、自由なソフトウェアであり、「完全に無保証」です。
一定の条件に従えば、自由にこれを再配布することができます。
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。
R は多くの貢献者による共同プロジェクトです。
詳しくは 'contributors()' と入力してください。
また、R や R のパッケージを出版物で引用する際の形式については
'citation()' と入力してください。
'demo()' と入力すればデモをみることができます。
'help()' とすればオンラインヘルプが出ます。
'help.start()' で HTML ブラウザによるヘルプがみられます。
'q()' と入力すれば R を終了します。
[以前にセーブされたワークスペースを復帰します]
> install.packages('shinystan')
--- このセッションで使うために、CRAN のミラーサイトを選んでください ---
依存対象 (dependency) ‘tensorA’, ‘distributional’, ‘ggridges’, ‘posterior’, ‘crosstalk’, ‘plyr’, ‘BH’, ‘bayesplot’, ‘colourpicker’, ‘DT’, ‘dygraphs’, ‘gtools’, ‘markdown’, ‘reshape2’, ‘rstan’, ‘shinyjs’, ‘shinythemes’, ‘threejs’ もインストールします
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/tensorA_0.36.2.tgz' を試しています
Content type 'application/x-gzip' length 222335 bytes (217 KB)
==================================================
downloaded 217 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/distributional_0.3.2.tgz' を試しています
Content type 'application/x-gzip' length 531344 bytes (518 KB)
==================================================
downloaded 518 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/ggridges_0.5.4.tgz' を試しています
Content type 'application/x-gzip' length 2258660 bytes (2.2 MB)
==================================================
downloaded 2.2 MB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/posterior_1.4.1.tgz' を試しています
Content type 'application/x-gzip' length 867796 bytes (847 KB)
==================================================
downloaded 847 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/crosstalk_1.2.0.tgz' を試しています
Content type 'application/x-gzip' length 405077 bytes (395 KB)
==================================================
downloaded 395 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/plyr_1.8.8.tgz' を試しています
Content type 'application/x-gzip' length 1014282 bytes (990 KB)
==================================================
downloaded 990 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/BH_1.81.0-1.tgz' を試しています
Content type 'application/x-gzip' length 13497219 bytes (12.9 MB)
==================================================
downloaded 12.9 MB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/bayesplot_1.10.0.tgz' を試しています
Content type 'application/x-gzip' length 5357606 bytes (5.1 MB)
==================================================
downloaded 5.1 MB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/colourpicker_1.2.0.tgz' を試しています
Content type 'application/x-gzip' length 1286527 bytes (1.2 MB)
==================================================
downloaded 1.2 MB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/DT_0.27.tgz' を試しています
Content type 'application/x-gzip' length 1613079 bytes (1.5 MB)
==================================================
downloaded 1.5 MB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/dygraphs_1.1.1.6.tgz' を試しています
Content type 'application/x-gzip' length 424406 bytes (414 KB)
==================================================
downloaded 414 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/gtools_3.9.4.tgz' を試しています
Content type 'application/x-gzip' length 356982 bytes (348 KB)
==================================================
downloaded 348 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/markdown_1.6.tgz' を試しています
Content type 'application/x-gzip' length 196227 bytes (191 KB)
==================================================
downloaded 191 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/reshape2_1.4.4.tgz' を試しています
Content type 'application/x-gzip' length 339140 bytes (331 KB)
==================================================
downloaded 331 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/rstan_2.21.8.tgz' を試しています
Content type 'application/x-gzip' length 23073862 bytes (22.0 MB)
==================================================
downloaded 22.0 MB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/shinyjs_2.1.0.tgz' を試しています
Content type 'application/x-gzip' length 1086616 bytes (1.0 MB)
==================================================
downloaded 1.0 MB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/shinythemes_1.2.0.tgz' を試しています
Content type 'application/x-gzip' length 978182 bytes (955 KB)
==================================================
downloaded 955 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/threejs_0.3.3.tgz' を試しています
Content type 'application/x-gzip' length 941813 bytes (919 KB)
==================================================
downloaded 919 KB
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/shinystan_2.6.0.tgz' を試しています
Content type 'application/x-gzip' length 1336744 bytes (1.3 MB)
==================================================
downloaded 1.3 MB
ダウンロードされたパッケージは、以下にあります
/var/folders/z3/y2vb_4653kjcytsygg5bkv7w0000gn/T//RtmpqTGd2O/downloaded_packages
devtoolsパッケージもインストールします。
> install.packages("devtools")
URL 'https://cran.ism.ac.jp/bin/macosx/big-sur-arm64/contrib/4.2/devtools_2.4.5.tgz' を試しています
Content type 'application/x-gzip' length 421790 bytes (411 KB)
==================================================
downloaded 411 KB
ダウンロードされたパッケージは、以下にあります
/var/folders/z3/y2vb_4653kjcytsygg5bkv7w0000gn/T//RtmpqTGd2O/downloaded_packages
>
インストールが終了したら、デモを起動してみます。
library('shinystan')
launch_shinystan_demo()
デモ画面
Diagnose パラメータはmu
サンプル情報
パラメータmuのカーネル密度、Autocorrelationのマルチビュー
パラメータの推定やカーネル密度の表示もよくできています。
Rで頻繁に使用するPlotに比べると、WebベースのShinyは解像度が高いようです。
ShinyStanには、deploy_shinystanという関数も用意されており、ShinyStanアプリケーションをデプロイできるようになっています。
次の機会に、公開可能な興味深いモデル(金融市場に関連したモデル)のモンテカルロシミュレーションの結果をこのツールで分析してみましょう。