贝叶斯模型平均BMA例程

2020-05-21

贝叶斯模型平均(BMA)例程

描述

本仓库提供了一个用于贝叶斯模型平均(Bayesian Model Averaging, BMA)的资源文件。BMA 是一种在模型空间(例如线性回归模型)中搜索有前途的模型,并计算该空间上的后验概率分布的方法。然后,根据模型空间上的加权平均值来估计系数。运行 BMA 就像拟合回归模型一样简单。估计结果将接近通过拟合“真实的”嵌套模型所获得的估计,并且不需要该模型的知识。

目录结构

以下脚本与最终用户有关:

  • linear_regression.py:包含用于贝叶斯线性回归的例程。
  • linear_averaging.py:包含线性 BMA 的例程。
  • sim.py:演示了线性 BMA 的基本用法。

如果要使 BMA 适应其他模型空间,以下脚本很有用:

  • core.py:包含通用 BMA 的例程。
  • mcmc.py:包含通用 MCMC 例程。

用法

我使用的特定贝叶斯回归模型期望 2 个超参数:

  • g:是惩罚模型大小的参数。建议将其设置为 max(n_obs, n_dim^2)
  • p:是您对模型的先验概率分布的参数。

通过调整这些参数,您可以更好地适应不同的模型空间和数据集。

下载链接

贝叶斯模型平均BMA例程