2017-01-16 6 views
0

私はRstanを使用しています。スタンがどのように振る舞い、それが私たちに何を伝えるのか?

Stanでは、変分モードとサンプリングモードで動作させることができます。変則モードははるかに高速です。私の質問は、変則的なスタンの行動が我々のモデルについての手がかりを与えることができるかどうかです。

変モードは、行動のいくつかの種類があり、彼らは何かが我々のモデルと権利はないことと、おそらくその何かがあるにも何の手がかりを与える可能性があるのだろうか。例:

  1. η適応中にエラーが発生する可能性があります。

  2. 我々は通常、任意の反復の前に、時折後の反復の間に、勾配上昇中のエラーを取得することができます。

  3. 私たちは、勾配上昇の発散を得ることができます - すなわちデルタELBOは爆発を意味します。

  4. 我々はデルタELBOは、初期1.0以上/中央値の増加を意味するが、その後収束するまで減少することができます。私たちは、デルタELBOを持ってい

  5. が1.0から/中央値の減少を意味するが、より多くのまたはより少ない反復を取ります。

  6. デルタELBOの平均値または中央値または両方が収束する(つまり、0.01未満になる)ことができます。

私は経験則を考えています。サンプリング時の例として、合理的なサイズのデータ​​セットとかなり単純なモデルがありますが、サンプリングに時間がかかりすぎる場合、私の最初の考えは私の前任者をチェックすることです。私はこの種の振る舞いを私がデフォルト(平らで不適切な先生)に任命したときに見てきましたが、これはサンプラーをサンプル空間の信じられない部分から守るためにかなりあいまいなものを置くことで修正されることがよくあります。

誰かが、meanfieldモードのための経験則や洞察力を持っています。それは、それ自体でもサンプリングに関連するのでしょうか?

答えて

3

私は、変分ベイズよりもMCMCの診断といっしょに遠いと言えるのは間違いないと思います。 StanのVBアルゴリズムは、無制約空間内のパラメータの事後分布に最も近い多変量正規分布を見つけることを試みます。事後分布への最も近い多変量正規分布が反復アルゴリズムによって実際には見出されないか、または非拘束空間における事後分布が多変量正規分布によってよく近似されないために失敗する可能性がある。

経験則の1つは、VBを複数回実行することです。 2番目の経験則は、Stanがほぼ多変量の正常な事後分布から非常に効率的にサンプリングするということです。したがって、MCMCが遅い場合は、何百万ものデータポイントがあるか、事後分布が約多変量正規(またはその両方)でないかのいずれかです。 VBは前者の場合には好ましいが、後者の場合にはそうは考えにくい。

私たちはVBサンプルモデルのコレクションで良いビットを評価しました。パラメータを回復する(事後平均と標準偏差を使用してVB推定値のzスコアを構成する)よりも良い予測を生成する方が良いようです。スケールパラメータを持たないモデルではうまくいくようです。

特に、meanfieldバリアントでは、後方に最も近い相関のない多変量正規分布を見つけようとします。事後分布においてパラメータの相関性を低くするために、多くの再パラメータ化が必要です。これは、rstanarmがaveragefield(および他の推定アルゴリズム)の引数をQR = TRUEに指定することを推奨する理由の1つです。これは、プレディクタをQR分解で直交化し、引き込みが得られた後で変換を反転することによって係数の事後相関を低減します。

+0

ありがとう、非常に洞察力がある!だからMCMCが遅くて、何千もの行のデータが(唯一の)10であるとすれば、VBは実際に私たちに何も買わないかもしれません。また、私は間違いだったmeanfieldに予防措置を講じていませんでした。 – Wayne

+0

このStanプログラムのように、相関のない通常の後部を持っていれば、treedepthが3になるように見えます: '' {{parameters {vector [100] theta; }モデル{target + = normal_lpdf(theta | 0,1); } ''。だから、壁の時間は '(勾配を評価する時間)x(2^3 - 1)x反復'のようなものです。 MCMCが長い時間を要する場合、それはほとんどの場合treedepthが10に近く、壁の時間が ''(勾配を評価する時間)x(2^10-1)x iterations'であるからです。 Meanfieldは、時間計算の線形項が飛躍の多項式の階数を支配するときのフリーランチです。 –

関連する問題