MCMC 直观指南(第一部分):Metropolis-Hastings 算法

厌倦了 AI 炒作?让我们来谈谈实际推动高端量化金融的概率算法。MCMC 直观指南(第一部分):Metropolis-Hastings 算法一文首先出现在《走向数据科学》上。

来源:走向数据科学

贝叶斯统计您可能遇到过 MCMC。当世界其他地方都关注最新的法学硕士炒作时,马尔可夫链蒙特卡罗仍然是高端定量金融和风险管理领域安静的主力。当“猜测”还不够并且您需要严格找出不确定性时,它是首选工具。

尽管缩写词令人生畏,马尔可夫链蒙特卡罗是两个简单概念的组合:

  • 马尔可夫链是一个随机过程,其中系统的下一个状态完全取决于其当前状态,而不是之前的事件序列。这种性质通常被称为无记忆。
  • 蒙特卡罗方法简单地指依赖重复随机采样来获得数值结果的任何算法。
  • 在本系列中,我们将介绍 MCMC 框架中使用的核心算法。我们主要关注用于贝叶斯方法的方法。

    我们从 Metropolis-Hastings 开始:实现该领域最早突破的基础算法。但在深入探讨机制之前,我们先讨论一下 MCMC 方法有助于解决的问题。

    问题

    假设我们希望能够从已知密度公式的概率分布中采样变量。在此示例中,我们使用标准正态分布。让我们调用一个可以从中采样的函数 rnorm。

    要使 rnorm 被认为有用,它必须在长期内生成与我们的目标分布概率相匹配的值 \(x\)。换句话说,如果我们让 rnorm 运行 \(100,000\) 次,并且如果我们要收集这些值并根据它们出现的频率(直方图)绘制它们,则形状将类似于标准正态分布。

    我们怎样才能实现这个目标?

    我们从正态分布的非标准化密度公式开始:

    \[p(x) = e^{-\frac{x^2}{2}}\]

    为了找到这个常数,我们需要对 \(x\) 所有可能值的密度函数进行积分。

    \[C = \int^\infty_{-\infty}e^{-\frac{x^2}{2}}\,dx\]

    简介