Eu apenas comecei a aprender a usar Stan e rstan
. A menos que eu sempre tenha ficado confuso sobre como o JAGS / BUGS funcionou, pensei que você sempre tivesse que definir uma distribuição anterior de algum tipo para cada parâmetro no modelo a ser extraído. Parece que você não precisa fazer isso em Stan, com base na documentação. Aqui está um modelo de amostra que eles fornecem aqui .
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);
}
Nem mu
nem os anteriores tau
foram definidos. Ao converter alguns dos meus modelos JAGS para Stan, descobri que eles funcionam se eu deixar muitos ou muitos parâmetros com anteriores indefinidos.
O problema é que não entendo o que Stan está fazendo quando tenho parâmetros sem antecedentes definidos. É padrão para algo como uma distribuição uniforme? Essa é uma das propriedades especiais do HMC, que não requer um definido anteriormente para cada parâmetro?
sigma
, nãolog(sigma)
. Stan realiza isso transformando o parâmetro e aplicando a alteração correta do ajuste de variáveis usando o Jacobiano.