1.4.2 总结后验
贝叶斯分析的结果是后验分布,关于给定数据集和模型的参数的所有信息都包含在后验分布中。因此,通过总结后验数据,可以总结模型和数据的逻辑结果。通常的做法是,报告每个参数的均值(或者众数、中位数),以了解分布的位置,以及一些度量值,如标准差,可以了解分布的离散程度从而了解我们估计中的不确定性。标准偏差适用于正态分布,不过对于其他类型的分布(如偏态分布)却可能得出误导性结论,因此,还可以采用以下度量方式。
最大后验密度
最大后验密度(Highest-Posterior Density,HPD)区间常用于描述后验分布的分散程度。HPD区间是指包含一定比例概率密度的最小区间,最常见的比例是95%HPD或98%HPD,通常还伴随着一个50%HPD。如果我们说某个分析的HPD区间是[2, 5],其含义是指,根据我们的模型和数据,参数位于2到5的概率是95%。
提示:选择95%还是50%或者其他值作为HPD区间的概率密度比例并没有特殊的地方,这些不过是常用的值罢了。如果愿意,我们完全可以选用比例为91.37%的HPD区间。如果你选的是95%,这完全没问题,只是要记住这只是个默认值,究竟选择多大比例仍然需要具体问题具体分析。
ArviZ是一个用于对贝叶斯模型做探索性数据分析的Python库,提供了很多方便的函数用于对后验做总结,比如,az.plot_posterior
可以用来生成一个带有均值和HPD区间的分布图。下面用一个从贝塔分布中生成(并非实际分析中的后验分布)的随机样本为例来说明。
np.random.seed(1)
az.plot_posterior({'θ':stats.beta.rvs(5, 11, size=1000)})
图1.7
注意,图1.7中报告的区间是94% HPD,这是为了善意地提醒你,HPD可以是除了95%之外的任意值。每当ArviZ计算并报告HPD时,默认都会使用0.94(对应94%区间),你可以修改参数credible_interval
的值来改变这一默认行为。
提示:如果你了解频率学派,那么需要注意,HPD区间和置信区间并不一样。HPD区间理解起来很直观,以至于人们往往容易将置信区间与HPD区间弄混。贝叶斯分析能让我们考虑参数取不同值的概率,而这对于频率学派是不可能的,因为参数在设计的时候就是固定的,频率学派的置信区间的含义是,某一区间是否包含参数的值的概率。