Demo 3:二维高斯 Gibbs

Gibbs 采样每次只更新一个变量:先水平移动(更新 x1|x2),再垂直移动(更新 x2|x1),形成特征性的锯齿形轨迹。调高相关系数 ρ 可以观察到链的混合变慢。

水平步(更新 x1|x2
垂直步(更新 x2|x1
历史样本
当前位置

控制面板

0.50
500ms

提示:点击主画布可以设置起始点位置。

Gibbs 采样轨迹

x1 x2
当前状态
(0.00, 0.00)
迭代: 0
下一步更新
x1|x2
水平移动
条件分布
N(0.00, 0.75)
μ = ρ·x2, σ² = 1−ρ²

条件分布可视化

当前条件分布的概率密度曲线,箭头标注采样值。

p(x1|x2 = 0.00)

N(μ=0.00, σ²=0.75)

p(x2|x1 = 0.00)

N(μ=0.00, σ²=0.75)

统计量

样本统计量 vs 真实分布参数

样本均值
1 =
2 =
真实值: (0, 0)
样本方差
s11 =
s22 =
真实值: (1, 1)
样本协方差
s12 =
真实值: 0.50
样本相关系数
r =
真实值: 0.50
自相关函数 ACF(lag 0–30)
lag-1 x1: lag-1 x2:

联合分布与条件分布推导

1
联合分布
(x1, x2)T 服从均值为零、方差为 1 的二维高斯分布,二者之间的相关系数为 ρ:
x ~ N(0, Σ)  Σ =
1ρ
ρ1
=
10.50
0.501
2
多维高斯的条件分布公式
多维高斯的一个关键性质:已知部分变量 xb 的值后,其余变量 xa 的条件分布仍是高斯分布。其参数为:
p(xa | xb) = Na|b, σ2a|b)
μa|b = μa + Σab Σbb−1 (xb − μb)    σ2a|b = Σaa − Σab Σbb−1 Σba
3
代入本例参数
本例中 μa = μb = 0,Σaa = Σbb = 1,Σab = ρ,代入上式:
μa|b = 0 + ρ · 1−1 · (xb − 0) = ρ · xb
σ2a|b = 1 − ρ · 1−1 · ρ = 1 − ρ2 = 1 − 0.25 = 0.750
4
Gibbs 采样交替使用的两个条件分布
水平更新:p(x1 | x2) = N(ρ · x2, 1 − ρ2)
垂直更新:p(x2 | x1) = N(ρ · x1, 1 − ρ2)
直觉:条件均值 = ρ · 另一个变量的当前值(向另一个变量"靠拢"的程度取决于 ρ);条件方差 = 1 − ρ2(ρ 越大,已知信息越多,不确定性越小)。

观察提示

🧠 认知科学映射

Gibbs 采样对应"脑区间协调推断"——不同脑区轮流根据其他脑区的当前状态更新自己的信念。当变量高度相关时(如焦虑与睡眠),单维更新很难让整体信念快速改变,这解释了为什么有些心理状态会"卡住"。结构化 Gibbs(同时更新一组相关变量)对应知觉中的整体切换——例如从看到"狗"突然切换到看到"猫"。

文献与案例意图

对应章节:§吉布斯采样 + 例题 2;对应文献:Gershman2021Computational(可延伸:Buesing2011Neural)。

完整引用:

  1. Gershman, Samuel J. 2021. What Makes Us Smart: The Computational Logic of Human Cognition. Princeton, NJ: Princeton University Press.
  2. Buesing, Lars, Johannes Bill, Bernhard Nessler, and Wolfgang Maass. 2011. Neural dynamics as sampling: A model for stochastic computation in recurrent networks of spiking neurons. PLoS Computational Biology 7(11): e1002211. https://doi.org/10.1371/journal.pcbi.1002211.

案例想表达的想法: 二维高斯 Gibbs 采样把“联合推断”拆成两个条件更新:先固定 x2 更新 x1,再固定 x1 更新 x2。当相关系数 ρ 很高时,链会沿狭长椭圆缓慢移动,这正好说明为什么强耦合心理变量或神经群体状态很难靠单维局部更新快速混合。Buesing 等人的神经采样模型进一步提示,这种条件更新可以被理解为随机神经动力学的计算原语。