Python贝叶斯分析(第2版)
上QQ阅读APP看书,第一时间看更新

1.5 后验预测检查

贝叶斯方法的一个优势是,一旦得到了后验分布,就可以基于数据集y和估计到的参数,使用后验分布生成待预测的数据。后验预测分布如下:

  (1.17)

可以看到,后验预测分布就是对的后验分布进行条件预测的平均。从概念上(以及计算的角度)讲,可以通过以下两步来估计式(1.17)中的积分。

(1)从后验分布中采样出

(2)将“喂”给似然(或者叫采样分布),然后得到一个数据点

提示:注意,这个过程组合了两种不确定性:一种是参数的不确定性,即通过后验来刻画的;另一种是采样的不确定性,即通过似然来刻画的。

生成的数据可以在需要预测数据的时候使用。此外还可以用预测数据和观测数据y做对比,找出两组数据之间的差异,从而对模型进行评价,这就是所谓的后验预测检查,其目的是检查自动一致性。生成的数据应该与观测数据看起来差不多,否则就说明建模的过程中出了问题,或者是向模型提供数据时出了问题。不过即使没有出错,二者也有可能不同。尝试理解其中的偏差有助于我们改进模型,或者至少能知道模型的极限。即使我们并不知道如何改进模型,也可以知道模型捕捉到了问题或数据的哪些方面以及没能捕捉到哪些方面,也许模型能够很好地捕捉到数据中的均值但没法预测出罕见值,这可能是个问题,不过如果我们只关心均值,那这个模型也还是可用的。通常我们的目的不是去断言一个模型是错误的,我们只想知道模型的哪个部分是值得信任的,并测试它是否在特定方面符合我们的预期。不同学科对模型的信任程度显然是不同的,物理学中研究的系统是在高可控条件下依据高级理论运行的,因而模型可以看作对现实的良好描述,而在一些其他学科(如社会学和生物学)中,研究的是错综复杂的孤立系统,因而模型对系统的认知较弱。尽管如此,不论你研究的是哪一门学科,都需要对模型做检查,利用后验预测和本章学到的探索性数据分析中的方法去检查模型是个不错的习惯。