【发布时间】:2018-08-15 00:28:48
【问题描述】:
我正在创建一个新模型,我想将它与另一个使用 WAIC 的模型进行比较。我知道我需要编写一个生成的数量块。但是,我正在努力转换 beta 的 logsumexp。我将不胜感激任何线索/帮助。我的模型块如下所示:
model {
//prior for phi,b
phi ~ cauchy(0,5);
mu_b ~ normal(0,1);
sigma_b ~ cauchy(0,1);
mu ~ normal(0,1);
sigma ~ cauchy(0,1);
//model
log_b_z ~ normal(0, 1);
theta_raw ~ normal(mu, sigma);
for (i in 1:n) {
vector[number_segments] test;
for (j in 1:number_segments) {
test[j] = beta_lpdf(response[i] | p[j][i]*phi, (1-p[j][i])*phi) + log(prob_segment[j]);
}
target += log_sum_exp(test);
}
}
【问题讨论】:
-
看看R库
loo,它提供了一种基于stan模型计算WAIC的方法。
标签: r stan model-comparison