Ich habe gerade angefangen zu lernen, wie man mit Stan und rstan
. Es sei denn, ich war immer verwirrt über die Funktionsweise von JAGS / BUGS, ich dachte, Sie müssten immer eine vorherige Verteilung für jeden Parameter im Modell definieren, aus dem gezogen werden soll. Es scheint, dass Sie dies in Stan nicht tun müssen, basierend auf seiner Dokumentation. Hier ist ein Beispielmodell, das sie hier geben .
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);
}
Weder haben mu
noch tau
Prioritäten definiert. Bei der Konvertierung einiger meiner JAGS-Modelle nach Stan habe ich festgestellt, dass sie funktionieren, wenn ich viele oder die meisten Parameter mit undefinierten Prioritäten belasse.
Das Problem ist, dass ich nicht verstehe, was Stan macht, wenn ich Parameter ohne definierte Prioritäten habe. Ist es so etwas wie eine einheitliche Verteilung standardmäßig? Ist dies eine der besonderen Eigenschaften von HMC, dass nicht für jeden Parameter ein definiertes Prior erforderlich ist?
sigma
, nichtlog(sigma)
. Stan erreicht dies, indem er den Parameter transformiert und die korrekte Änderung der Variablenanpassung unter Verwendung des Jacobian anwendet.