基于马尔可夫链的采样是蒙特卡洛采样的“最佳”吗?有替代方案吗?

机器算法验证 采样 马尔可夫链蒙特卡罗 蒙特卡洛 马尔可夫链 随机近似
2022-03-14 08:13:33

Markov Chain Monte Carlo 是一种基于 Markov 链的方法,它允许我们从无法直接从中抽取样本的非标准分布中获取样本(在 Monte Carlo 设置中)。

我的问题是为什么马尔可夫链对于蒙特卡洛采样来说是“最先进的”。另一个问题可能是,是否有任何其他方法可以用于蒙特卡洛采样,例如马尔可夫链?我知道(至少从文献来看)MCMC 有很深的理论根源(就(a)周期性、同质性和详细平衡等条件而言),但想知道是否有任何“可比”的概率模型/方法用于 Monte类似于马尔可夫链的卡罗采样。

如果我混淆了问题的某些部分(或者如果它看起来完全令人困惑),请指导我。

2个回答

没有理由说 MCMC 采样是“最好的”蒙特卡洛方法!通常,它比独立同分布抽样更差,至少在得到的蒙特卡洛估计量的方差方面事实上,虽然这个平均值收敛到期望是马尔可夫链的平稳和极限分布时,使用 MCMC 方法至少有两个缺点:

1Tt=1Th(Xt)
Eπ[h(X)]π(Xt)t

  1. 链需要“达到平稳性”,这意味着它需要忘记它的起始值换句话说,必须“足够大”以使分布。有时“足够大”可能会超出实验的计算预算几个数量级。X0tXtπ
  2. 的值是相关的,导致渐近方差,其中涉及 )通常超过,因此需要比 iid 样本更长的模拟时间。Xt
    varπ(X)+2t=1covπ(X0,Xt)
    varπ(X)

话虽如此,MCMC 对于处理常规 iid 采样不可能或成本太高以及重要性采样非常难以校准的设置非常有用,特别是因为要模拟的随机变量的维度。

然而,像粒子滤波器这样的顺序蒙特卡罗方法可能更适合动态模型,其中数据来自需要立即关注的突发,甚至可能在短时间内消失(即无法存储)。

总之,MCMC 是一个非常有用(并且非常常用)的工具,可以处理常规蒙特卡罗解决方案失败的复杂设置。

有几种方法可以从分布中生成随机值,McMC 就是其中之一,但其他几种方法也可以被认为是蒙特卡洛方法(没有马尔可夫链部分)。

单变量采样最直接的方法是生成一个均匀随机变量,然后将其代入逆 CDF 函数。如果你有逆 CDF,这很有效,但是当 CDF 和/或其逆很难直接计算时,这很麻烦。

对于多变量问题,您可以从 copula 生成数据,然后对生成的值使用逆 CDF 方法以在变量之间建立某种程度的相关性(尽管为 copula 指定正确的参数以获得所需的相关程度通常需要一些反复试验)。

拒绝采样是另一种方法,可用于从不需要知道 CDF 或其倒数的分布(单变量或多变量)生成数据(甚至不需要密度函数的归一化常数),但这在某些情况下可能会非常低效,需要花费大量时间。

如果您对生成数据的摘要而不是自己的随机点感兴趣,那么重要性抽样是另一种选择。

Gibbs 抽样是 McMC 抽样的一种形式,只要您知道给定其他变量的每个变量的条件分布,您就可以在不知道多元分布的确切形式的地方进行抽样。

还有其他的,这最好取决于您知道和不知道的内容以及特定问题的其他细节。McMC 很受欢迎,因为它适用于许多情况并适用于许多不同的情况。