对数逐点预测密度的定义和计算

机器算法验证 贝叶斯 马尔可夫链蒙特卡罗
2022-03-22 01:03:13

我想从 MCMC 样本中计算对数点预测密度。Gelman et al (2014) 将 lppd 定义为

lppd=inlog(p(yi|θ)ppost(θ)dθ

我的问题是

  1. 如果我们对所有点数据点求和,为什么将 lppd 称为“逐点”?
  2. 我是否正确地将其解释为 lppd 与边际似然相同,除了我们边缘化后验分布而不是先验分布的似然性这一事实?再一次,我觉得这个名字有点误导,像边际后验似然对我来说更直观。
  3. 在我看来,在实践中计算 lppd 的最简单方法是在 MCMC 中记录可能性,然后取这些值的平均值。除了用于记录可能性的内存之外,这种方法有什么缺点吗?

编辑:我只是想指出,在@PITBULL 的回答之后,我现在意识到关键是首先计算每个数据点的一种边际后验似然,然后将这些概率相乘,所以我明白这个名字现在选择,接下来两个问题的答案是“否”和“否”;)

参考:

格尔曼,A。Hwang, J. & Vehtari, A. (2014) 了解贝叶斯模型的预测信息标准。统计。计算机,Springer 美国,24, 997-1016。

1个回答
  1. 逐点,因为您正在计算每个点观察的预测密度值。请注意,您可以同时进行 2 或 3 个观察。归根结底,这只是 Gelman 为营销目的而发明的一个名称。
  2. 不,这不是(对数)边际可能性在边际似然中,您将完全似然乘以先验对参数进行积分(并且对数的积分不是积分的对数)。请注意,当样本接近模式或处于高密度区域时,lppd 较大,这通常是您希望通过统计模型实现的。
  3. 如果您有后验样本,则计算 lppd 很简单,因为您只需要在 Monte Carlo 积分中插入样本:

p(yi|θ)ppost(θ)dθ1Ss=1Sp(yi|θ(s))