MCMC 联合可信区域抽签

机器算法验证 多重比较 马尔可夫链蒙特卡罗 可信区间 覆盖概率
2022-04-04 01:26:26

假设我有的后验样本我想任何包含 (1-\alpha)n 个点的区域R的近似可信区域任何人都可以提出任何建议,或者向我指出一些关于构建良好可信区域的方法的文献吗?nθ1θ2R(1α)n(1α)×100(θ1,θ2)R

如果重要的话,这是一项模拟研究,我想评估区域的常客覆盖范围(我知道不能保证覆盖范围是名义上的)。R

在我的脑海中,我可以想象一种算法,它检查所有可能的矩形区域并给出选择一个(最小区域?)的一些标准。在我看来,我们应该能够在不强制执行矩形区域的情况下做得更好。我能想到的任何其他方法都会使用 KDE,这直观地困扰着我,因为它可能对带宽的选择很敏感。

3个回答

确实,您提到的两种方法是最直接的;例如,我相信 R 包 emdbook 中的函数 HPDregionplot 使用内核密度估计器。

另一种选择(这只是一个建议)是找到分布的模式或中心,计算样本中每个点到该模式的距离,然后选择距离最小的个点. 欧几里得距离会给你一个圆形的可信区域;您可以使用另一个距离(可能基于经验协方差矩阵?)来获得椭圆区域。(1α)n

如果您不介意有一个矩形置信区域,并且您知道事物是单峰和对称的,您可以使用R 包中采用的方法:credible.region()https ://rdrr.io/cran/bayesSurv/src/R/credible .region.RbayesSurv

我相信这就是它工作原理背后的想法:
我们对每个个参数想象它们被绘制在维空间中。 从所有样本周围的最小超立方体开始。 将其缩小,使其几乎不排除沿任何轴的边际最小值或最大值的任何点。 (例如,使用,我们将删除最多 4 个点:最顶部、最左侧、最右侧和最底部的点。或者可能只有 2 个点,如果例如最顶部和最右边的值在同一点,左/下也是如此。)npp


d=2

对剩余的点重复整个过程。
继续直到只剩下 95%(或任何所需的分数)的样品。

(但它在实践中的实现方式,你只需要对每一列进行一次排序——不需要像我在这里描述的那样循环。)

这个矩形区域将大于椭圆体,但不像依赖 KDE 或欧几里得距离那样计算密集。

我尝试了几个不同的选项,但我想我会分享我发现效果最好的一个。注意:在我的应用程序中,后验很好地近似为多元正态。在其他应用中,HPDregionplot 方法可能更灵活。

基本上有3个步骤...

  1. 沿数据的主成分旋转数据。通过与该方向对应的特征值的倒数平方根来缩放每个方向。
  2. 的欧几里得球,其中包含个点。r(1α)×n
  3. 将此“球形”区域转换回原始空间中的“椭圆”区域。

下面给出了这个过程的快速说明。

在此处输入图像描述


编辑:这种方法似乎(大致,如果不完全)等同于使用样本精度矩阵使用马氏距离。换句话说,令是最小可能的,使得 其中是指示函数(当为真时等于 ) . 那么 是一个近似值联合置信区域S1dd

i=1nI{(xiμ^)TS1(xiμ^)d}n(1α),
I(b)1b
R={x | (xμ^)TS1(xμ^)d}
(1α)×100%x