我正在听一些与MCMC有关的讲座。但是,我找不到如何使用它的好例子。谁能给我一个具体的例子。我所看到的是它们运行着一个马尔可夫链,并说其平稳分布是所需的分布。
我想要一个很好的例子,其中难以从中获取所需的分布。因此,我们创建了一个马尔可夫链。我想知道如何选择过渡矩阵,以便其马尔可夫链的平稳分布成为目标分布
我正在听一些与MCMC有关的讲座。但是,我找不到如何使用它的好例子。谁能给我一个具体的例子。我所看到的是它们运行着一个马尔可夫链,并说其平稳分布是所需的分布。
我想要一个很好的例子,其中难以从中获取所需的分布。因此,我们创建了一个马尔可夫链。我想知道如何选择过渡矩阵,以便其马尔可夫链的平稳分布成为目标分布
Answers:
Hard-Core模型是一个很难从中进行抽样的很好的例子,请参见此页面以获取概述:
http://www.mathematik.uni-ulm.de/stochastik/lehre/ss06/markov/skript_engl/node34.html
该模型为固定的n个在网格上定义了一个分布,其中在网格中的每个点上,值都可以为1或0。为了使网格在硬核模型下可被接受,网格上的两个相邻点都不能都具有值1。
下图显示了硬核模型下网格的允许配置示例。在此图像中,一个显示为黑点,而零显示为白。请注意,不是两个黑点相邻。
我相信此模型的灵感来自物理学,您可以将网格中的每个位置视为一个粒子,并且该位置的值表示电荷或自旋。
我们想从受理电网的人口,即均匀采样,如果是可容许的网格,我们要品尝Ë ∈ Ë这样
其中是所有可能的允许配置的数量。
鉴于我们正在考虑网格,这已经构成了挑战,我们如何确定| E | 允许的网格数量?
MCMC的优点之一是,它允许您从难以或无法评估归一化常数的分布中进行采样。
我将让您阅读有关如何实现此问题的MCMC的详细信息的文章,但这相对简单。
统计中的另一个令人生畏的问题。这个问题很老,但是网上的介绍性例子却很难。因此,让我简化两个很好的例子,以防万一有人跟随MCMC迷住了PageRank的Markov随机走行而被MCMC迷住了,并且充满了对容易遵循的期望。可能性有多大?这可能是一个后续问题。
FIRST EXAMPLE:
困难的是在实现通过所有机械步骤去后,只有一个神奇招:二进制决定接受或拒绝一个建议值。
mean
sd
rnorm(10000)
eps
runif(1, - eps, eps)
。
因此,每个提议的值都将以随机的方式在范围内并与先前的值不同。 [- eps,+ eps]
。
min(1, dnorm(candidate_value)/dnorm(x))
min(1, ...)
dnorm
的几率就越高。
min(1, dnorm(candidate_value)/dnorm(x))
runif(1)
x[i+1]
x[i]
...这个想法是,高2比一个相同的距离太远到尾巴。
sd
。
x = 0; vec[1] = x
SECOND EXAMPLE:
这更加令人兴奋,并且通过计算给定数据集的随机参数的对数似然来参考估计线性回归曲线的参数。但是,代码行的解释建立在此处保存的压缩模拟中,遵循与第一个示例非常相似的步骤。
这个YouTube视频非常直观地展示了使用MCMC解决的一个简单问题。
感兴趣的分布是线性回归(右上图)中可能斜率和截距的后验分布。斜率和截距的某些组合非常有可能(即,它们很可能产生观测到的数据点,并且与我们的先验期望相一致),因此应经常对其进行采样。其他组合是不可能的(例如,如果它们对应于一条不穿过数据点云的蓝线),则应减少采样次数。
左下方的大面板显示了马尔可夫链通过斜坡和截距的二维空间所经过的路径。直方图显示了到目前为止链的进度的一维摘要。一旦链条运行了足够长的时间,我们就可以很好地估计斜率和截距的可能值的分布。
在这种情况下,MCMC是过大的,但是存在一些问题,很难写下解决方案,因此探索马尔可夫链而不是尝试直接解决它具有很大的意义。