3

JAGSとBUGSでモデルを実行する方法の詳細について簡単に質問します。

n.burnin=5000、、n.iter=5000およびを使用してモデルを実行するとしthin=2ます。これは、プログラムが次のことを行うことを意味しますか?

  1. 5,000回の反復を実行し、結果を破棄します。その後
  2. 1秒おきの結果のみを保持しながら、さらに10,000回の反復を実行しますか?

これらのシミュレーションをCODAオブジェクトとして保存すると、10,000個すべてが保存されますか、それとも間引きされた5,000個だけが保存されますか?ACFプロットを作成するためにどの反復セットが使用されているかを理解しようとしていますか?

4

2 に答える 2

2

JAGS ではn.burnin=5000, n.iter=5000 and thin=2、 は何も保持しないことを意味します。5000 を実行し、これらの 5000 のうち最初の 5000 を破棄してから、チェーンの残りの値の半分のみを保持します (1 つの値を保持し、次の値を破棄します..)。

たとえば、n.burnin=2000, n.iter=7000, thin=50, n.chains=5(7000-2000)/50 * 5 = 500 の値を使用します。

于 2014-05-06T07:14:32.080 に答える
0

あなたが話しているソフトウェアをより具体的に教えてください。R2WinBUGSパッケージの関数bugs()の引数を参照しているようです(引数がn.thin not thinと呼ばれることを除いて)。ヘルプ(バグ)を見ると、n.burninは「最初に破棄する反復回数」であるとだけ書かれています。これはあなたの質問に具体的に答えるものではありませんが、そのパッケージのbugs.script()のソースを見ると、あなたが疑ったように、5000回の反復が実行されることがわかります。そのパッケージのメンテナに提案を送信して、ドキュメントを明確にすることができます。

あなたの例では、bugs()はバーンイン後にさらに0回の反復を実行します。ここでは、ドキュメントがより明確になっています。n.iterは、バーンインを含む反復の総数です。

2番目の質問では、WinBUGS(およびWinBUGSまたはOpenBUGSを呼び出すソフトウェア)からのCODA出力には、間引きされたサンプルのみが含まれます。

于 2013-02-05T14:31:45.940 に答える