将已转换的参数添加到stanfit对象

时间:2016-03-18 11:04:12

标签: r stan rstan

stanfit返回了一个名为fit的{​​{1}}对象,用于推断参数rstan::stan(...)。我现在可以使用例如theta进行分析。 theta

我后来意识到我对rstan::summary(fit, pars="theta")的方格的推断更感兴趣。我应该在STAN模型中包含一个theta块,以在输出中包含transformed parameters作为参数。

是否可以将已转换的参数theta_squared添加到现有theta_squared <- theta^2对象,就好像它是在stanfit块中计算的一样?

2 个答案:

答案 0 :(得分:2)

我不知道您是否可以(或应该)手动将参数添加到stanfit对象中。 至少你可以按as.data.frame(fit)获取MCMC样本,然后根据需要使用它,包括定义theta^2

答案 1 :(得分:1)

你可以使用ShinyStan获得很多相同的图形(rhat,ac等),它允许你添加这样的数量(如果它是一个标量)。例如,

library("shinystan")
# create shinystan object (sso)
sso <- as.shinystan(fit)
# add theta_squared to sso
sso <- generate_quantity(sso, fun = function(x) x^2, 
                         param1 = "theta", new_name = "theta_squared")
# launch the shinystan interface
launch_shinystan(sso)