2

一度に 1 つのデータ ポイントで、API 呼び出しを介してデータを生成しています。各ポイントを Stan モデルにフィードし、更新されたモデルを保存して、データ ポイントを破棄したいと考えています。

これはスタンで可能ですか?

もしそうなら、グループレベルのパラメータをどのように扱いますか? たとえば、モデルに J 個のグループ レベル パラメーターがあるが、一度に 1 つのデータ ポイントしか入力していない場合、エラーは発生しませんか?

4

1 に答える 1

1

あなたの問題は、ベイジアン更新として概念化できると思います。言い換えれば、パラメータについてのあなたの信念は現在、いくつかの共同分布によって表されています。その後、もう 1 つのデータ ポイントを取得し、このデータ ポイントに照らして信念を更新したいと考えています。そして、そのプロセスを繰り返します。

その場合、データ ポイントが 1 つしかないスタン モデルを実行できますが、事前分布として使用する確率分布で現在の信念を表す何らかの方法が必要です。これは通常、制約のない空間内のパラメーターの多変量正規分布で行われます。rstan パッケージの関数を使用してunconstrain_pars、制約のない事後描画の行列を取得し、それがどの多変量法線に近いかを確認できます。多くのパラメーターがある場合は、多変量法線に収縮共分散推定量を使用することをお勧めします。次に、Stan プログラムで、パラメーターに対して多変量法線事前分布を使用し、制約された空間で変換されたパラメーターを取得するために必要な変換を行います (このような変換の多くは、Stan ユーザー マニュアルに記載されています)。

確かに、データ ポイントが 1 つしかない階層モデルを推定する場合、そのデータ ポイントには、特定のデータ ポイントが属していないグループに関する情報が本質的にありません。ただし、その場合、パラメーターの事後分布のマージンは、省略されたグループの数は、以前の分布と本質的に同じになります。それは結構です。

于 2016-10-25T18:15:25.760 に答える