Ising 模型的 Gibbs 抽样

机器算法验证 自习 采样 马尔可夫链蒙特卡罗 吉布斯
2022-02-28 06:14:32

作业问题:

考虑一维伊辛模型。

为 -1 或 +1x=(x1,...xd)xi

π(x)ei=139xixi+1

设计一个 gibbs 采样算法以近似从目标分布生成样本。π(x)

我的尝试:

随机选择值(-1 或 1)来填充向量所以也许所以这是x=(x1,...x40)x=(1,1,1,1,1,1,1,1,...,1)x0

所以现在我们需要继续进行第一次迭代。我们必须分别为绘制 40 个不同的 x 。所以...x1

绘制x11π(x1|x20,...,x400)

绘制x21π(x2|x11,x30,...,x400)

绘制x31π(x3|x11,x21,x40,...,x400)

ETC..

所以让我绊倒的部分是我们如何从条件分布中实际提取。如何发挥作用?也许一次平局的例子可以解决问题。π(x)ei=139xixi+1

1个回答

先看这个案例。删除不依赖于的术语,我们有。 x1

π(x1x2,,xd)=π(x1,x2,,xd)π(x2,,xd)ex1x2
P(X1=1X2=x2,,Xn=xn)=ex2C
P(X1=1X2=x2,,Xn=xn)=ex2C
ex2C+ex2C=1C=2coshx2

x_1 <- sample(c(-1, 1), 1, prob = c(exp(-x_2), exp(x_2)) / (2*cosh(x_2)))

将其推广到(注意差异;请参阅下面 Ilmari 的评论)。x2,,x40

您可以使用 Ising 的分析结果来检查您的模拟吗?