问题
我正在编写一个 R 函数,该函数执行贝叶斯分析以估计给定先验和数据的后验密度。如果用户需要重新考虑之前的情况,我希望该功能发送警告。
在这个问题中,我有兴趣学习如何评估先验。以前的问题已经涵盖了陈述知情先验的机制(这里和这里。)
以下情况可能需要重新评估先验:
- 数据代表了一个极端情况,在陈述先前的情况时没有考虑到
- 数据错误(例如,如果数据以 g 为单位,而先验以 kg 为单位)
- 由于代码中的错误,从一组可用的先验中选择了错误的先验
在第一种情况下,先验通常仍然足够分散,以至于数据通常会压倒它们,除非数据值位于不受支持的范围内(例如 <0 表示 logN 或 Gamma)。其他情况是错误或错误。
问题
- 关于使用数据评估先验的有效性是否存在任何问题?
- 是否有任何特定的测试最适合这个问题?
例子
这里有两个数据集与之前因为他们来自人群(红色)或(蓝色的)。
蓝色数据可能是有效的先验 + 数据组合,而红色数据需要支持负值的先验分布。
set.seed(1)
x<- seq(0.01,15,by=0.1)
plot(x, dlnorm(x), type = 'l', xlim = c(-15,15),xlab='',ylab='')
points(rnorm(50,0,5),jitter(rep(0,50),factor =0.2), cex = 0.3, col = 'red')
points(rnorm(50,8,0.5),jitter(rep(0,50),factor =0.4), cex = 0.3, col = 'blue')