Simulation-based calibration checking (SBC) is a practical method to validate computationally-derived posterior distributions or their approximations. In this paper, we introduce a new variant of SBC to alleviate several known problems. Our variant allows the user to in principle detect any possible issue with the posterior, while previously reported implementations could never detect large classes of problems including when the posterior is equal to the prior. This is made possible by including additional data-dependent test quantities when running SBC. We argue and demonstrate that the joint likelihood of the data is an especially useful test quantity. Some other types of test quantities and their theoretical and practical benefits are also investigated. We provide theoretical analysis of SBC, thereby providing a more complete understanding of the underlying statistical mechanisms. We also bring attention to a relatively common mistake in the literature and clarify the difference between SBC and checks based on the data-averaged posterior. We support our recommendations with numerical case studies on a multivariate normal example and a case study in implementing an ordered simplex data type for use with Hamiltonian Monte Carlo. The SBC variant introduced in this paper is implemented in the $\mathtt{SBC}$ R package.
翻译:基于模拟的校准检查(SBC)是一种用于验证计算推导所得后验分布或其近似值的实用方法。本文提出一种新的SBC变体,以缓解若干已知问题。该变体允许用户原则上检测后验分布的任何潜在问题,而此前已报道的实现方法始终无法发现后验等于先验等大规模问题类别。通过在运行SBC时纳入额外的数据依赖性检验量,这一突破得以实现。我们论证并证明数据的联合似然是一种特别有效的检验量。其他类型的检验量及其理论与实际优势也得到研究。我们提供了SBC的理论分析,从而更全面地理解其底层统计机制。同时,我们指出文献中一个相对常见的错误,并阐明SBC与基于数据平均后验的检验之间的区别。我们通过多元正态示例的数值案例研究以及为哈密顿蒙特卡洛方法实现有序单纯形数据类型的案例研究来支持所提建议。本文提出的SBC变体已在$\mathtt{SBC}$ R包中实现。