Marx MaxEN
菜单

MCMC 后验抽样

在 Marx Max 中打开

用可解析的一维后验比较三种随机游走 Metropolis 步长,检查轨迹、接受率与保留状态分布。下载程序、模拟数据、15000 个状态、图和复做说明。

用公开模拟数据比较随机游走 Metropolis 的三种提议标准差:0.01、0.35、3。固定截距 1 和误差标准差 1,斜率先验 N(0,5²),与同一解析后验比较。每种设置从 0 开始运行 5000 次,比较时舍去前 1000 个状态,保留全部 15000 个状态和接受标记,拒绝时重复前一状态。

先阅读项目 README.md,下载公开 Python 复做包到 reference/,保留参考成果。检查已有依赖,把本次输出写入 rerun/,核对轨迹、接受率、均值和分散程度。三种设置使用相同种子,不作为独立多链诊断,不拼接为一个后验样本,不从高接受率或舍去前段宣布收敛。
三种提议步长的状态轨迹与舍去前1000后的分布,和同一解析后验对照。
阴影标记统一舍去的前段,各行使用相同坐标尺度。

下载完整复做包(ZIP)

这份案例把“统计目标是什么”和“有限链是否充分探索”分开。数据完全模拟,目标后验有解析参照;配套程序实际运行三种提议步长,记录每一步状态与接受情况。

先看方法与使用指南 · 回看 OLS 抽样分布

先固定数据和后验目标

30 个模拟观测来自 y=1+2x+ε,x 与 ε 独立标准正态,种子 42。推断模型固定截距为 1、误差标准差为 1,斜率先验为 N(0,5²)。它只推断一个斜率,不估计截距或方差。解析后验均值约 1.853,标准差约 0.239。

三种对称正态随机游走提议的标准差分别为 0.01、0.35、3,初值都为 0。每种设置运行 5000 次,比较时舍去前 1000 个状态,保留 4000 个。三种设置使用相同种子,不是独立的多链收敛诊断;没有将它们拼成一个后验样本。

提议标准差全程接受率保留状态均值保留状态标准差经验 2.5%–97.5% 分位数
0.0197.0%1.6960.3810.683–2.187
0.3560.4%1.8620.2521.381–2.362
39.6%1.8720.1991.465–2.236

小步长接受率约 97%,但本次保留状态均值约 1.696,偏离解析均值;大步长接受率约 9.6%,状态经常停留。0.35 的均值和分散程度较接近参照,但一次运行并不证明收敛。接受率按全部 5000 次计算,其他摘要按舍前 1000 后计算。

拒绝后必须保留前一个状态,而不是只导出接受点。舍去一段开头不保证收敛,经验分位数在探索不足时也不能当作可靠后验区间。正式分析需要适当的独立多链和有效样本量等诊断;这里不冒称已经完成这些诊断。 Stan 后验诊断说明

下载代码、数据和实际输出

  1. 解压到新目录并保留一份参考成果,按 README 准备 Python 依赖。安装依赖会访问软件源,分析本身离线。
  2. 从包根运行 python analyze.py,核对完成标记、数据行数和实际结果。默认覆写包内 results/ 同名文件。
  3. 按 README 指定新输出目录改变种子或运行长度。改变 seed 同时改变模拟数据与提议随机数;保持 seed 只增加迭代时,数据和后验不变。

本次在 macOS 使用 Python 3.11.11;异方差另用 Stata 19.5 独立核对,Windows 真机未覆盖。模拟仅用于说明方法与计算,不代表真实研究结果、真人教学效果或模型自动执行能力。

回到本案例指南 · 回到计量教学总指南