从响应变量的实际观测值得出我的贝叶斯预测的95%可信区间以及点

时间:2019-04-17 14:57:21

标签: r

我的数据集的响应变量由观察值Y [1],Y [2],....,Y [49]组成。我想出了一个贝叶斯层次模型来对Y [50]进行贝叶斯预测。我也有用于Y [1],...,Y [49]的MCMC样本,可以通过将它们与Y [1],Y [2]的实际值进行比较来评估贝叶斯模型的总体拟合度。 ,....,Y [49]。

是否可以通过层次模型的MCMC对象绘制贝叶斯预测的毛虫图以及代表R上原始数据集中实际观察到的Y的点?

谢谢

1 个答案:

答案 0 :(得分:0)

首先,您需要提取每个$ Y_i $的置信区间。 (通常,如果不使用标准S3对象,则使用分位数功能完成此操作)。

然后您创建以下df:

df <- data_frame(
           obs = seq(from = 1,
                              to = 49,
                              by = 1),
           lower = q1,
           upper = q2,
           estimate = estimate,
           actual = actual)

那你去:

df %>% ggplot(aes(x = obs)) +
              geom_line(aes(y = actual)) +
              geom_pointrange(aes(ymin = lower, ymax = upper, y = estimate)) +
              coord_flip()

如果您要进行分层模型,我真的建议您使用 rstanarm 软件包,该软件包与tidybayes库兼容(该库可以生成自动的毛毛虫图)。