从 MCMC 样本计算 2D 置信区域

机器算法验证 置信区间 马尔可夫链蒙特卡罗 Python
2022-03-25 05:49:59

我想为我适合数据的模型绘制 2D 置信区域(在 1-sigma、2-sigma 处)。我使用 PyMC 为我的模型生成了 50k MCMC 后验样本,有 6 个参数。

我知道创建置信区域的过程类似于:1.) 在 2D 空间中创建样本的直方图 2.) 识别等密度轮廓 3.) 从选定的起点(例如,平均值)向外整合垂直于等密度轮廓,直到所需的样本点分数包含在该区域中。

在 numpy/scipy/pymc/pylab/etc 世界中是否有一个方便的函数可以创建 2D 置信区域图?或者,我在哪里可以找到一个编码算法或独立工具来计算轮廓以供以后绘图?

2个回答

我曾经用你可以适应的pymc、matplotlib 和 scipy 做过类似的事情,相关代码在这个 gist中,结果图如下所示: 在此处输入图像描述

gplots 中的 R 函数ci2d可以创建二维经验置信区域:https ://rdrr.io/cran/gplots/man/ci2d.html