スタンで定義された事前分布のないパラメーター


14

スタンとを使うことを学び始めたところrstanです。JAGS / BUGSがどのように機能するかについていつも混乱していない限り、描画するモデルのすべてのパラメーターに対して何らかの事前分布を常に定義する必要があると考えました。ただし、Stanのドキュメントに基づいてこれを行う必要はないようです。ここに彼らが提供するサンプルモデルがあります

data {
  int<lower=0> J; // number of schools 
  real y[J]; // estimated treatment effects
  real<lower=0> sigma[J]; // s.e. of effect estimates 
} 
parameters {
  real theta[J]; 
  real mu; 
  real<lower=0> tau; 
} 
model {
  theta ~ normal(mu, tau); 
  y ~ normal(theta, sigma);
} 

事前定義muもされtauていません。JAGSモデルの一部をStanに変換する際に、事前定義されていない多くのパラメーターまたはほとんどのパラメーターを残しておけば、機能することがわかりました。

問題は、事前定義が定義されていないパラメーターがある場合、スタンが何をしているのか理解できないことです。デフォルトは均一分布のようなものですか?これはHMCの特別なプロパティの1つですか?すべてのパラメーターに事前定義済みの定義を必要としませんか?

回答:


18

Stanリファレンスマニュアル(以前のバージョン)から:

事前分布を指定しないことは、均一な事前分布を指定することと同等です。

一様事前分布は、パラメーターが制限されている場合にのみ適切です[...]

スタンプログラムでは、不適切な事前許可も許可されています。それらは、サンプリングステートメントのない制約のないパラメーターから発生します。場合によっては、不適切な事前分布が適切な事後条件につながる可能性がありますが、パラメータまたはデータの制約が事後条件の妥当性を保証することを保証するのはユーザー次第です。

1.0.1バージョンのセクションC.3も参照してください)。

これはスタンでは問題ないが、バグではそうではない根本的な理由は、バグではモデル「プログラム」が正式なグラフィカルモデルを指定しているのに、スタンでは結合確率を計算するための小さな関数を書いているという事実と関係があるかもしれません密度関数。すべての変数に適切な事前分布を指定しないと、グラフィカルモデルの優れた正式なプロパティが台無しになる可能性があります。

ただし、ハミルトニアンMCの場合、ジョイント密度関数を(数値的に)計算するだけです。フラット(不適切な)事前分布は、密度に定数項を与えるだけであり、事後分布が適切(有限の総確率質量)である限り(合理的な尤度関数を使用する場合)、HMCでは完全に無視できます。スキーム。


8

スタン参照v1.0.2デベロッパー(PG 6、脚注1)

モデルブロックで事前分布が指定されていない場合、シータの制約により0〜1の範囲に収まることが保証され、シータに暗黙の均一事前分布が提供されます。事前に指定された無制限のサポートがないパラメーターの場合、結果は不適切な事前です。スタンは不適切な事前承認を受け入れますが、サンプリングを成功させるには事後者が適切でなければなりません。

両方musigma不適切な事前優先順位があります。

ボンネットの下に、muそしてsigma異なる方法で処理されています。sigma下限で定義されています。スタンのサンプルlog(sigma)(変換用のヤコビアン調整あり)。変換の詳細については、第27章(153ページ)を参照してください。


ちょうどそのため、STANがlog(シグマ)レベルでサンプリングする場合、フラット事前分布はlog(シグマ)ではなくシグマを超えていますか?
ラスマスバース

1
はい、ユニフォームの優先順位はまだ終わってsigmaいませんlog(sigma)。Stanは、パラメーターを変換し、ヤコビアンを使用して変数調整の正しい変更を適用することでこれを実現します。
syclik 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.