问题
我正在编写一个R函数,该函数执行贝叶斯分析以在已知先验和数据的情况下估计后验密度。我希望该功能在用户需要重新考虑之前发出警告。
在这个问题上,我有兴趣学习如何评估先验。先前的问题涵盖了陈述知情先验的机制(此处和此处)。
在以下情况下,可能需要重新评估先验值:
- 数据代表了一个极端的情况,在陈述之前
- 数据中的错误(例如,如果先验单位为kg,则数据单位为g)
- 由于代码中的错误,因此从一组可用的优先级中选择了错误的优先级
在第一种情况下,先验通常仍然足够分散,除非数据值在不受支持的范围内(例如,logN或Gamma <0),否则数据通常会使它们不堪重负。其他情况是错误或错误。
问题
- 关于使用数据评估先验的有效性是否存在任何问题?
- 是否有任何特定测试最适合此问题?
例子
这是两个与较差的数据集,因为它们来自具有(红色)或(蓝色)的。
蓝色数据可能是有效的先验+数据组合,而红色数据将需要先验分布,该分布支持负值。
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')