gpt4 book ai didi

r - 在 Stan 文件中提取转换数据 block 中的数据

转载 作者:行者123 更新时间:2023-12-04 14:18:20 26 4
gpt4 key购买 nike

我想从 stanfit 对象 f 中提取转换数据 block 中的 z。可能吗?

    library(rstan)


m <- stan_model(model_code = '
data{real x;}
transformed data{real z; z = chi_square_rng(x); }
parameters {real y;}
model {y ~ normal(z,1);}')
f <- sampling(m, data=list(x=1), iter = 100)

最佳答案

我会像这样在生成的数量中添加一个新值:

library(rstan)
m <- stan_model(model_code = '
data{real x;}
transformed data{real z; z = chi_square_rng(x); }
parameters {real y;}
model {y ~ normal(z,1);}
generated quantities {real zhat = z;}')
f <- sampling(m, data=list(x=1), iter = 100)

这将返回有效值

print(f, pars = "zhat")

mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat
zhat 0.16 0 0 0.16 0.16 0.16 0.16 0.16 2 0.98

您可以提取值,只是为了显示一些结果:

> extract(f)[["zhat"]]
[1] 0.16445 0.16445 0.16445 0.16445 0.16445 0.16445
[7] 0.16445 0.16445 0.16445 0.16445 0.16445 0.16445
[13] 0.16445 0.16445 0.16445 0.16445 0.16445 0.16445

关于r - 在 Stan 文件中提取转换数据 block 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57922031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com