Stan を使うときに設定すべき MCMC サンプリングパラメーター

Stan パラメーター設定

Stan でベイズ推定を行うとき、デフォルトの設定のままで実行できるが、結果を再現させるため、あるいは収束しなかったする場合は、一部のパラメーターを変更して実行する必要がある。Stan に対するパラメーターは R または Python のコード中で指定する。Stan コード中には書かない。

seed乱数シード。乱数シードを使うことで、入力データと Stan コードが同じであれば、まっとく同一の結果が得られる。デフォルトっではシードが固定されていないため、Stan コードを実行する度に異なる結果が得られる。
chiansMCMC サンプリングによる推定回数。MCMC では、初期値をランダムに決めてある。このランダムな値から MCMC が行われ、事後分布が推定される。初期値が異なると異なる事後分布が得られる可能性があるため、1 つの事後分布を推定するためには、複数個の初期値を試す必要がある。Stan では 4 回の推定を推奨してある。
iterMCMC サンプリングの繰り返し回数。一般に多ければ多いほど事後分布が正確になる。ただし、計算時間との兼ね合いで、パラメーターを変えながらモデルを構築するときは、少ない繰り返し回数で行い、モデルが決定されたらより多くの繰り返し回数でサンプリングする。
warmupMCMC サンプリングでは、初めの方のサンプリングが、初期値に大きく依存する。そのため、初期値依存問題を防ぐために、MCMC サンプリングが行われた結果から、最初の数百回を除去する必要がある。具体的に、MCMC サンプリングの値の変化(trace plot)を見て、どのぐらい除くかを指定する。
thinMCMC サンプリング結果を間引くかどうかを指定するためのパラメーターである。一部の MCMC アルゴリズムでは、自己相関が高くなる場合がある。このとき、MCMC サンプリング結果をすべて使わずに、1 つ飛びで使ったり、2 つ飛びで使用すると、自己相関が低くなる。