[英]Adding a transformed parameter to stanfit object
我有一个名为fit
的stanfit
对象,由rstan::stan(...)
以推断参数theta
。 我现在可以使用例如rstan::summary(fit, pars="theta")
分析theta
。
后来我意识到,我对推断theta
的平方更感兴趣。 我应该在STAN模型中包含一个transformed parameters
块,以将theta_squared
作为参数包含在输出中。
是否可以将转换后的参数theta_squared <- theta^2
到现有的stanfit
对象中,就像它是在transformed parameters
块中计算出来的一样?
我不知道您是否可以(或应该)手动向stanfit对象添加参数。 至少您可以通过as.data.frame(fit)
获得MCMC样本,然后根据需要对其进行处理,包括定义theta^2
。
您可以使用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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.