理解粒子滤波器的数学和统计先决条件?

机器算法验证 时间序列 粒子过滤器
2022-03-07 20:59:50

我目前正在尝试了解粒子过滤器及其在金融中的可能用途,但我正在苦苦挣扎。为了(i)使粒子过滤器的基础知识易于理解,以及(ii)以后彻底理解它们,我应该重新审视哪些数学和统计先决条件(来自量化金融背景)?我对研究生水平的时间序列计量经济学有扎实的了解,但我尚未涉及的状态空间模型除外。

任何提示都非常感谢!

2个回答

只需几个基本概念,您就可以取得惊人的成就。符号、变量的爆炸等等……会让事情看起来很复杂,但粒子过滤的核心思想非常简单。

您需要(并且可能已经这样做!)了解的一些基本概率:

  • 计算边际分布P(X=x)=iP(X=x,Y=yi)
  • 定义。条件概率:P(XY)=P(X,Y)P(Y)
  • 贝叶斯法则:P(XY)=P(YX)P(X)P(Y)
  • 贝叶斯术语:例如。先验,可能性,后验(+1 @Yair Daon,我同意!)

粒子过滤器的基本步骤非常简单:

第一的:

  • 从一些关于某些隐藏状态的信念开始。例如,您可能会从相信您的火箭在发射台上开始。(在粒子过滤器中,关于隐藏状态的信念将用点云表示,每个点表示隐藏状态的可能值。每个点还与状态为真实状态的概率相关联。)

然后迭代以下步骤以从时间更新到时间tt+1

  1. 预测步骤:根据运动定律向前移动点的位置。(例如,根据火箭的当前速度、轨迹等向前移动点)。随着不确定性的增加,这通常会扩大点云。
  2. 概率更新步骤:使用数据、传感器输入来更新与使用贝叶斯规则的点相关联的概率。随着不确定性的降低,这通常会使点云倒塌。
  3. 添加一些粒子过滤特定的步骤/技巧。例如。
    • 偶尔重新采样您的点,以便每个点具有相等的概率。
    • 混合一些噪音,防止您的概率步骤(2)过多地折叠您的点云(在粒子过滤中,重要的是至少有一个点在您的真实位置模糊地具有正概率!)

例子:

初始化您的过滤器: - 查看您的位置,您所在的位置。现在闭上你的眼睛。

然后迭代:

  1. 闭着眼睛向前迈出一步。
  2. 预测步骤:给定过去对您所处位置的信念预测您现在所处的位置,并向前迈出一步。(注意不确定性是如何扩大的,因为闭着眼睛向前迈出的步子并不是非常精确!)
  3. 更新步骤:使用传感器(例如感觉周围等)来更新您对自己站立位置的看法。

重复!

实现所需的概率机制基本上只是基本概率:贝叶斯规则、计算边际分布等......

高度相关的想法可能有助于理解大局:

在某种意义上,步骤 (1) 和 (2) 对任何贝叶斯过滤问题都是通用的。一些高度相关的概念可能会阅读:

  • 隐马尔可夫模型如果在当前状态下过去独立于未来,则一个过程是马尔可夫。几乎任何时间序列都被建模为某种马尔可夫过程。马尔可夫模型是一种不直接观察状态的模型(例如,您从不直接观察火箭的确切位置,而是通过贝叶斯滤波器推断它的位置)。
  • 卡尔曼滤波器这是常用的粒子过滤的替代方法。它基本上是一个贝叶斯滤波器,假设一切都是多元高斯的。

您应该首先了解更易于编码的状态空间模型和封闭式过滤(即卡尔曼过滤器、隐马尔可夫模型)。Matthew Gunn 是正确的,您可以通过简单的概念取得惊人的进展,但在我看来,您应该将其作为中间目标,因为:

1.) 相对而言,状态空间模型中的运动部件更多。当你学习 SSM 或隐马尔可夫模型时,会有很多符号。这意味着在您验证事物时,您的工作记忆中会保留更多的东西。就个人而言,当我第一次学习卡尔曼滤波器和线性高斯 SSM 时,我基本上在想“嗯,这只是多元法线向量的属性……我只需要跟踪哪个矩阵是哪个。” 此外,如果您在书籍之间切换,它们通常会更改符号。

后来我想“嗯,这只是每个时间点的贝叶斯规则”。一旦你这样想,你就会明白为什么共轭族很好,就像卡尔曼滤波器一样。当您编写具有离散状态空间的隐藏马尔可夫模型时,您会明白为什么不必计算任何可能性,并且过滤/平滑很容易。(我想我在这里偏离了传统的嗯行话。)

2.) 对其中的大量进行编码会让你意识到状态空间模型的定义是多么普遍。很快你就会写下你想使用的模型,同时看看为什么你不能。首先,您最终会发现您无法以您习惯的这两种形式之一写下来。当您再考虑一下时,您会写下贝叶斯规则,并发现问题在于您无法计算数据的某种可能性。

因此,您最终将无法计算这些后验分布(状态的平滑或过滤分布)。为了解决这个问题,有很多近似过滤的东西。粒子过滤只是其中之一。粒子过滤的主要内容:您可以从这些分布中进行模拟,因为您无法计算它们。

你是怎么模拟的?大多数算法只是重要性采样的一些变体。但它在这里也变得更加复杂。我推荐 Doucet 和 Johansen 的教程论文 ( http://www.cs.ubc.ca/~arnaud/doucet_johansen_tutorialPF.pdf )。如果您了解封闭形式过滤的工作原理,他们会介绍重要性采样的一般概念,然后介绍蒙特卡罗方法的一般概念,然后向您展示如何使用这两个东西来开始一个不错的金融时间序列示例。恕我直言,这是我遇到的关于粒子过滤的最佳教程。

除了在混合中添加两个新想法(重要性采样和蒙特卡罗方法)之外,现在还有更多符号。您从现在开始采样的一些密度;有些你正在评估,当你评估它们时,你正在评估样本。结果,在你全部编码之后,是加权样本,被认为是粒子。它们在每次新观察后都会发生变化。一次完成所有这些将是非常困难的。我认为这是一个过程。

如果我给人的印象是神秘的或手摇的,我深表歉意。这只是我个人对该主题的熟悉程度的时间表。Matthew Gunn 的帖子可能更直接地回答了您的问题。我只是想我会扔掉这个回应。