MCMC 抽样演示(Metropolis-Hastings 和 Gibbs)

后验没有现成的公式时,怎样用马尔可夫链抽样?链收敛了吗、有效样本有多少?

CAS MAS-IIIFoA CS1按输入的参数计算
对过的标准答案
2 条
覆盖的考试公式
0 个
参数
12 个
开源库
2 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • Loss Data Analytics 第 2 版(Frees 等,CC BY 4.0)9.4 Posterior Simulation

这个方法算什么

随机游走 Metropolis-Hastings(泊松-伽马的 λ,在对数尺度上走)和 Gibbs 抽样(正态观测的 μ 和 σ²),多条链,接受率、Gelman-Rubin R̂、有效样本量、自相关和迹图。两个例子都有精确的后验,可以对照。

说明和限制

  • MH 在 ln λ 上做随机游走,接受概率里含雅可比项 λ*/λ。建议分布太窄时接受率高但链走得慢,太宽时接受率低;一维问题接受率 0.4 左右较好。
  • Gibbs 的先验:μ | σ² ~ N(μ₀, σ²/κ₀),σ² ~ InvGamma(a₀, b₀)。精确后验均值:E[μ|x] = (κ₀μ₀ + n x̄)/(κ₀ + n),E[σ²|x] = b_n/(a_n − 1)。
  • R̂ 接近 1(小于 1.01)、有效样本量几百以上,才说明链收敛、估计稳定。

数据

内置的例题数据(Loss Data Analytics 第 2 版例 9.3.3)或调用时传入的数据

开源库和版本

  • scipy1.17.1BSD分布拟合、统计检验
  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

估计与模型选择,还有 23 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“后验没有现成的公式时,怎样用马尔可夫链抽样?链收敛了吗、有效样本有多少?”