Как получить полное предельное распределение параметра в стандарте

При запуске стандартного примера из stan веб-страница, как показано ниже:

schools_code <- '
  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);
 } 
 '

  schools_dat <- list(J = 8, 
                 y = c(28,  8, -3,  7, -1,  1, 18, 12),
                 sigma = c(15, 10, 16, 11,  9, 11, 10, 18))

 fit <- stan(model_code = schools_code, data = schools_dat, 
           iter = 1000, n_chains = 4)

(это было получено здесь)

однако это только дает мне квантили задних параметров. поэтому мой вопрос: как получить другие процентили? я думаю, это должно быть похоже на ошибки (?)

примечание: я попытался ввести тег stan однако, у меня слишком мало репутации;) извините за это

2 ответа

Решение

Вот моя попытка надеюсь, что это правильно:

предполагать fit это объект, полученный из stan(...), тогда апостериор для любого процентиля получается из:

quantile(fit@sim$sample[[1]]$beta, probs=c((1:100)/100))

где число в квадратных скобках - это цепочка, я думаю. в случае, если это не было ясно: я использую rstan

Как из rstan v1.0.3 (еще не выпущен), вы сможете использовать рабочую лошадку apply() функционировать непосредственно на объекте stanfit class что производится stan() function, Если подходит это объект, полученный из stan()то, например,

apply(fit, MARGIN = "parameters", FUN = quantile, probs = (1:100) / 100)

или же

apply(as.matrix(fit), MARGIN = 2, FUN = quantile, probs = (1:100) / 100)

Первый применяет FUN к каждому параметру в каждой цепочке, а последний объединяет цепочки перед применением FUN к каждому параметру. Если вас интересует только один параметр, то что-то вроде

beta <- extract(fit, pars = "beta", inc_warmup = FALSE, permuted = TRUE)[[1]]
quantile(beta, probs = (1:100) / 100)

это вариант.

Другие вопросы по тегам